لینوکس و من

نصب Manjaro Linux روی لپ‌تاپ ASUS n501 (ویرایش شد)

نویسنده : امین | تاریخ: 1395/05/16

این مطلب بیشتر جنبه ی یادآوری برای خودم داره که اگر در آینده دچار مشکل شدم بتونم رجوع کنم. اما کسانی هم که از لپتاپ های جدید سری n شرکت ASUS استفاده میکنند و میخوان که لینوکس روش نصب کنند (در اینجا مانجارو) میتونن از این مطلب استفاده کنند.
ویرایش: متوجه شدم که گویا کلا با nvidia مشکل داره و سایر مدل های لپتاپ ها و حتی دسکتاپ هم این مشکل رو دارند. اما راه حال یکسانه

با روش های موجود iso این توزیع رو روی فلش مموری میریزیم و سعی میکنیم که لپتاپ رو با اون بوت کنیم! در همین ابتدای کار در حین بوت لایو شما با پیام خطای A start job is running for LiveMedia MHWD Script روبرو میشید و مانجارو بالا نمیاد. این پیام مربوط میشه درایور گرافیک لپتاپ که بوسیله mhwd که مختص مانجارو هست مدیریت و نصب میشه. که در اینجا ظاهرا نتونسته درست مدیریت کنه. برای دور زدن این خطا و بوت کردن لایو مانجارو باید موقع بوت روی خط بوت کلید e رو بزنیم و این خط رو به انتهاش اضافه کنیم و بعد با F10 بوت کنیم
xdriver=mesa

حالا مانجارو بالا میاد و ما میتونیم اون رو نصب کنیم. در اینجا فن لپتاپ به شدت کار میکنه، اما جای نگرانی نیست، فرایند نصب به سرعت تموم میشه. وقتی نصب تموم شد، باز هم مانجارو بالا نمیاد.
ویرایش: کاشف به عمل آمد که Bumblebee که مسئول خاموش کردن nvidia است با این قضیه مشکل داره و در حین بوت باعث freez شدن میشه. برای همین باید در خط کرنل در گراب یه تغییراتی رو اعمال کنیم (به رنگ سبز نشون دادم).

برای اینکه این مشکل بر طرف بشه، طبق این ویکی باید در خط کرنل موقع بوت این تنظیمات رو اعمال کنیم (در پایین توضیح دادم)
i915.enable_execlists=0 acpi_backlight=native acpi_osi=! acpi_osi='Windows 2009'


اما با تعیین کردن acpi_osi به این شکل کلیدهای ترکیبی تنظیم نور مانیتور کار نمیکنند. اگر عبارت نارنجی رنگ بالا رو هم در خط کرنل گذاشته باشیم تنظیم نور مانیتور از طریق دستور در ترمینال کار خواهد کرد.
برای این کار دو راه داریم. یکی اینکه xdotool رو نصب کنیم و با این دستور ها نور رو کم و زیاد کنیم (که میتونیم یک کیبورد شورتکات تعریف کنیم مثلا با Super+F5 و Super+F6 :
xdotool key --clearmodifiers XF86MonBrightnessUp
xdotool key --clearmodifiers XF86MonBrightnessDown



یا xorg-xbacklight رو نصب کنیم و با این دستورها کار کنیم:
xbacklight -inc 10
xbacklight -dec 10

ممکنه تاچ‌پد کار نکنه. وارد تنظیمات mouse and touchpad میشید و میبینید که تاچ‌پد شناخته شده، اما کار نمیکنه. برای حل این مشکل، یک بار این دستور رو اجرا کنید، اگر مشکل برطرف شد که شد،‌ اگر نشد باید به کرنل 4.7 آپدیت کنید.
ویرایش: کاشف به عمل اومد که اگر وارد ویندوز بشیم و بعد وارد مانجارو بشیم باید ماژول مربوط به تاچ‌پد رو به شکل زیر غیرفعال/فعال کنیم. در ریبوت های بعدی در خود مانجارو این مشکل وجود نداره. برای اینکه کلا از بابت این مشکل هم راحت بشیم میتونیم طی یک سرویس systemd این کار رو در هر بوت انجام بدیم. حالا چه قبلش توی ویندوز بودیم چه نبودیم.
sudo modprobe -r elan_i2c && sleep 2 && sudo modprobe elan_i2c
موضوع دوم، فونت ریز گراب هست. حالا که حرف از گراب زدیم، باید یه سری چیزها رو هم در این سطح انجام بدیم. به ترتیب اینکار ها رو میکنیم:
sudo gedit /etc/default/grub

فایل پیشفرض گراب باز میشه، این تغییرات رو اعمال میکنیم:
برای رزلوشن این خط رو اضافه میکنیم:
GRUB_GFXMODE="1600x1200"

در خط مربوط به کرنل اینها رو اضافه میکنیم، بصورتی که بشه این:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash i915.enable_execlists=0 acpi_backlight=native acpi_osi=! acpi_osi='Windows 2009' "

و بعد ذیره میکنیم و سپس این دستور رو اجرا میکنیم تا منوی گراب بازسازی بشه:
sudo grub-mkconfig -o /boot/grub/grub.cfg









برای درست کردن فونت کنسول در لپتاپ های با رزولوشن بالا (HIDIP)  terminus-font رو نصب کنید و بعد :
sudo nano /etc/vconsole.conf
با این محتوی:
FONT=ter-v28b




ویرایش: بعد از یه مدتی نمیدونم به چه دلیلی، فونت کنسول به هم ریخت و هیچی معلوم نبود. مجبور شدم این فونت رو پاک کنم و به همون فونت بسیار ریز اکتفا کنم.

نوشته های قبلی که جایگزین شدند در ادامه مطلب وجود دارن.
 چون در نصب درایورهای کارت گرافیک مشکل داره. برای اینکه این مشکل رو حل کنیم، روی منوی بوت مانجارو در گراب با e وارد محیط ویرایش میشیم و در لاین کرنل، quiet slash رو پاک میکنیم و یه 3 مینویسیم و با f10 بوت میکنیم. حالا وارد محیط متنی میشیم. از اونجایی که رزلوشن مانیتور این لپتاپ بالاست، نوشته های بسیار ریز هستند...
اینجا ما کانکشن اینترنت لازم داریم! راحت ترین کار اینه که گوشی خودتون رو با کابل USB وصل کنید و اینترنت اون رو بوسیله Tethering به لپتاپ بدید.

وقتی اینترنت برقرار شد، یک بار بسته های pacman رو سینک میکنیم که حتما بلدید.

حالا باید درایور های nouveau رو حذف کنیم:
 mhwd -r pci video-hybrid-intel-nouveau-bumblebee

و بعد درایورهای اینتل رو نصب کنیم:
mhwd -i pci video-intel

توضیحی که داره اینه که از اونجایی که من در لینوکس بازی نمیکنم و گرافیک اینتل کاملا جوابگوی فیلمها و سایر امور هست پس کلا به nvidia نیاز ندارم. در ادامه خواهم گفت که چطوری با bbswitch خاموشش کنیم کلا. هرچند من سعی کردم درایور video-hybrid-intel-nvidia-bumblebee رو به جای nouveau نصب کنم، اما بعد از نصب سیستم بالا نمیومد. برای همین کلا بیخیالش شدم.

بعد از اینکه درایورهای اینتل دانلود و نصب شدند، حالا سیستم بالا میاد. اما چند نکته وجود داره.... که در ادامه ی مطلب بخونید
حالا نوبت خاموش کردن nvidia میرسه... باید اول bbswitch و bbswitch-dkms رو از مخازن نصب کنید. و بعد به ترتیب این مراحل رو انجام بدید:
sudo nano /etc/modprobe.d/bbswitch.conf
حالا این خط رو اضافه کنید و سیو کنید:
options bbswitch load_state=0 unload_state=1



حالا باید بگیم که ماژول bbswitch در هنگام بوت اجرا بشه. من طبق دستورالعملی که در ویکی های آرچ برای لود کردن ماژولها در هنگام بوت وجود داشت عمل کردم، سیستم بالا نمیومد. که حدس میزنم مشکل بالا نیومدن سیستم بعد از نصب درایور nvidia هم در همین باشه. بهرحال، از یه روش دیگه ما ماژول bbswitch رو در حین بوت لود میکنیم.

sudo nano /etc/systemd/system/bbswitchoff.service
با این محتوی ذخیره میکنیم:

[Unit]
Description=bbswitch off state to nvidia

[Service]
ExecStart=/usr/bin/bbswitchoff

[Install]
WantedBy=multi-user.target

و بعد:
sudo nano /usr/bin/bbswitchoff
با این محتوی ذخیره میکنیم:

#!/bin/sh
sleep 60 # one min
sudo modprobe bbswitch

و بعد:
sudo chmod +x  /usr/bin/bbswitchoff
sudo systemctl enable bbswitchoff.service

اگر در مورد تاچپد مشکل با همون کاری که گفتم حل شد، باید این کار رو در حین بوت انجام بدیم. درست مانند بالا:
sudo nano /etc/systemd/system/elan-reload.service
با این محتوی ذخیره میکنیم:

[Unit]
Description=reload touchpad module

[Service]
ExecStart=/usr/bin/elan-reload

[Install]
WantedBy=multi-user.target

و بعد:
sudo nano /usr/bin/elan-reload
با این محتوی ذخیره میکنیم:

#!/bin/sh
sudo modprobe -r elan_i2c && sleep 2 && sudo modprobe elan_i2c

و بعد:
sudo chmod +x  /usr/bin/elan-reload
sudo systemctl enable elan-reload.service























 
لبخندناراحتچشمک
نیشخندبغلسوال
قلبخجالتزبان
ماچتعجبعصبانی
عینکشیطانگریه
خندهقهقههخداحافظ
سبزقهرهورا
دستگلتفکر
نظرات پس از تایید نشان داده خواهند شد.

برای کپی پیست کردن در متن نظرات کلید shift را نگه دارید و بعد right click کنید.