نصب لینوکس Manjaro روی لپتاپ ASUS n501

امین 16 سپتامبر 2023 زمان خواندن: 3 دقیقه

توجه: این مطلب قدیمی است و صرفا جهت آرشیو حفظ شده است. ممکن است امروزه برخی موارد یکسان نباشند.

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

با روش های موجود 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'

ویرایش: کاشف به عمل اومد که اگر وارد ویندوز بشیم و بعد وارد مانجارو بشیم باید ماژول مربوط به تاچ‌پد رو به شکل زیر غیرفعال/فعال کنیم. در ریبوت های بعدی در خود مانجارو این مشکل وجود نداره. برای اینکه کلا از بابت این مشکل هم راحت بشیم میتونیم طی یک سرویس 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

اولین نفری باشید که دیدگاهی ارسال می کند!




حاصل سر و کله زدن های من با لینوکس