لینوکس و من

۲ مطلب با کلمه‌ی کلیدی «grub» ثبت شده است

یک بوت کاملا ساکت داشته باشیم

وقتی در لینوکس از طریق GRUB بوت میکنیم، حتی اگه چیزی مثل plymouth نصب باشه و هنگام بوت انیمیشن نشون بده، قبل از شروع بوت انیمیشن باز هم تعدادی پیام روی صفحه نشون داده میشه. برای اینکه جلوی نمایش این پیام ها رو هم بگیریم و حتی یک کاراکتر هم نشون داده نشه میتونیم کارهای زیر رو انجام بدیم:

یکی از مراحل در ویکی آرچ توضیح داده شده.
فایل پیشفرض گراب رو با ادیتور دلخواهتون (در اینجا gedit) باز کنید:
sudo gedit /etc/default/grub
و در قسمت GRUB_CMDLINE_LINUX_DEFAULT این مقادیر رو وارد کنید، به صورتی که اینجوری بشه:
GRUB_CMDLINE_LINUX_DEFAULT="quiet loglevel=3 rd.systemd.show_status=false rd.udev.log-priority=3 splash"
البته واضحه که اگر مقادیر دیگه ای هم در این خط وجود داره نباید پاک کنید. مهم اینه که quiet loglevel=3 rd.systemd.show_status=false rd.udev.log-priority=3 splash وجود داشته باشه. فایل رو ذخیره کنید و ببندید.

حالا این فایل رو باز کنید:
sudo gedit /etc/grub.d/10_linux

در این فایل دنبال دو تا خط زیر رو سرچ کنید (دو تا خط مشابه هستند) و حذف کنید. و بعد فایل رو ذخیره کنید و ببندید.
echo '$(echo "$message" | grub_quote)'


حالا باید fsck رو به systemd بسپاریم تا پیامی حین بوت نشون نده. برای اینکار، طبق همون ویکی، فایل mkinitcpio.conf رو باز میکنیم:
sudo gedit /etc/mkinitcpio.conf
در قسمت HOOKS باید کلمه fsck رو حذف کنید. فایل رو ذخیره کنید و ببندید. حالا باید یه تعییراتی انجام بدیم:
sudo cp /usr/lib/systemd/system/systemd-fsck@.service /etc/systemd/system/
و بعد:
sudo cp /usr/lib/systemd/system/systemd-fsck-root.service /etc/systemd/system/
حالا باید یکی یکی این فایلها رو باز کنیم:
sudo gedit /etc/systemd/system/systemd-fsck@.service
sudo gedit /etc/systemd/system/systemd-fsck-root.service
و این عبارت رو به آخر هر کدوم اضافه کنیم و ذخیره کنیم:
StandardOutput=null
StandardError=journal+console

به طوری که انتهای محتوای این فایل ها به این صورت بشه:
(...)
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/lib/systemd/systemd-fsck
TimeoutSec=0
StandardOutput=null
StandardError=journal+console


حالا این دستوها رو یکی یکی انجام میدیم تا تاثیر تغییراتی که دادیم در بوت اعمال بشه:
sudo mkinitcpio -p linux
sudo update-grub

البته اگه دستور اول عمل نکرد و پیام خطا داد، باید اول شماره کرنل لینوکس رو پیدا کنید:
uname -r

مثلا اگه شماره کرنل لینوکس شما 4.7.3 باشه، باید بجای linux بنویسید linux47 و اگر مثلا باشه 4.5.2 باید بنویسید linux45
با این کار، موقع بوت هیییییییچ پیام متنی نشون داده نمیشه. البته این رو در مورد مانجارو استفاده کردم، ممکنه در توزیع های دیگه مسیر فایلها فرق داشته باشه. با یه سرچ ساده میتونید مسیر فایلها رو توی توزیع خودتون پیدا کنید.

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

این مطلب بیشتر جنبه ی یادآوری برای خودم داره که اگر در آینده دچار مشکل شدم بتونم رجوع کنم. اما کسانی هم که از لپتاپ های جدید سری 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




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

نوشته های قبلی که جایگزین شدند در ادامه مطلب وجود دارن.