مهدی رمضان زاده
مهدی رمضان زاده
خواندن ۶ دقیقه·۴ سال پیش

نصب آرچ گنو/لینوکس به صورت UEFI

سلام.

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

خب دیگه شروع کنیم....

اول از همه برای نصب آرچ به یک فلش حداقل 2 گیگابایت (سایز فعلی فایل iso کمتر از یک گیگ هست) ترجیحا usb3 (برای سرعت بالاتر لودینگ) نیاز داریم. وقتی از داشتن فلش مناسب و پشتیبانی بایوس کامپیوتر/لپ تاپ از بوت با فلش مطمعن شدیم، وقتشه که به سایت آرچ بریم و فایل iso آرچ رو دانلود کنیم.

نکته: فایل ایزو یا همون ایمیج به صورت فایل تورنت هست و برای دانلودش باید از ابزار های دانلود فایل تورنت مثل transmission استفاده کنید.

حالا باید ایمیج رو روی فلش بریزیم.

نکته: دوستانی که امکان استفاده از فلش به هردلیلی براشون امکان پذیر نیست میتونن ایمیج رو روی دی وی دی بریزن فرقی نداره.
نکته: برای نوشتن فایل ایمیج روی فلش راه حل زیاده اما میتونید از fedora media writer و گزینه custom image استفاده کنید.

خب تنظیمات بوت سیستم رو باید روی حالت usb تنظیم کنیم و بعد سیستم رو با فلش بوت کنیم (که از جزئیات صرف نظر میکنم اگه این کار رو بلد نیستید شاید بهتر باشه بیخیال نصب بشید چون قراره اوضاع پیچیده تر بشه).

اگه همه چیز درست پیش بره یک صفحه ترمینال برامون باز میشه و میتونیم کار رو شروع کنیم.

قبل از شروع به هرکاری اجازه بدید ساعت و تاریخ رو به صورت دقیق با کمک پروتکل ntp دریافت کنیم:

timedatectl set-ntp true

اولین مرحله : تنظیم پارتیشن های دیسک

من از مود uefi و ssd استفاده میکنم و برای همین نیازی به پارتیشن swap ندارم. دستور cfdisk رو میزنم و با کمک این ابزار یک پارتیشن یک گیابیتی از نوع uefi و با فلگ bootable میسازم و بقیه فضا رو به یک پارتیشن linux file system اختصاص میدم.

نکته : نیازی نیست حتما پارتیشن های قبلی پاک بشه و اگه نحوه پیکربندیشون راضیتون میکنه فقط کافیه توی مرحله بعد فرمت بشن.

مرحله دوم : فرمت کردن درایو ها

پارتیشن efi که برای من /dev/sda1 میشه رو باید به صورت fat32 فرمت کنیم:

mkfs.fat -F32 /dev/sda1

پارتیشن دیگه رو هم من از فایل سیستم btrfs استفاده میکنم که جدیدا اضافه شده و امکانات خوبی داره و با ssd هم سازگاری بیشتری داره (میتونید از ext4 استفاده کنید).

mkfs.btrfs /dev/sda2

مرحله سوم : mount کردن درایو ها

توی لینوکس برای اینکه بتونیم روی یک دیسک بخونیم و بنویسیم باید اصطلاحا mount کنیم یعنی یک ادرس رو بهش اختصاص بدیم. اینجا لازمه حتما ادرس /mnt باشه:

mount /dev/sda2 /mnt

حالا برای اینکه بتونیم درایو efi را به ادرس /boot/efi اختصاص بدیم لازمه اول این ادرس رو ایجاد کنیم (اصلا کار عجیبی نیست... یه پوشه باید بسازیم) :

mkdir /mnt/boot mkdir /mnt/boot/efi

و در نهایت mount کنیم:

mount /dev/sda1/ /mnt/boot/efi

مرحله چهارم : نصب پکیج های پایه

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

pacstrap -i /mnt linux-lts linux-lts-headers base base-devel nano man-db man-pages linux-firmware intel-ucode

توضیح بدم چی به چیه؟

  • base base-devel linux-lts linux-lts-headers

این موارد پکیج های اصلی هستن. بسته های پایه آرچ و هسته لینوکس پایدار (که البته میتونید lts که مخفف long term support و به همون معنی پایدار هست رو بردارید تا اخرین نسخه کرنل نصب بشه):

  • nano

ویرایشگر تحت کنسول nano (حتما در ادامه برای کانفیگ کردن سیستم به یک ویرایشگر تحت کنسول نیازه پس نصب کنید)

  • man-db man-pages

پکیج های لازم برای مشاهده و خوندن man page ها

  • linux-firmware intel-ucode

فریمور (firmware) های لینوکس (بعضی سخت افزار ها علاوه بر درایور نیاز به فریمور دارن) و میکرو کدهای پردازنده های اینتل ( میکرو کدهای سی پی یو های اینتل که اگه از سی پی یو های amd استفاده میکنید باید پکیج amd-ucode رو به جاش نصب کنید)

خب پس از زدن این دستور سیستم مشغول نصب پکیج ها میشه (لازمه بگم باید سیستم اینترنت داشته باشه؟)

مرحله پنجم : ساخت fstab و تغییر رووت

تا اینجا ما هسته لینوکس و یک سری از ابزار های پایه رو نصب کردیم.

حالا باید fstab هارو بسازیم:

genfstab -U /mnt >> /mnt/etc/fstab

و با دستور زیر به روت وارد میشیم (یعنی دیگه سیستم ادرس /mnt رو به عنوان روت سیستم یا همون / حساب میکنه و دستوراتی که اجرا میشه توی /mnt که اگه یادتون باشه همون درایو اصلی سیستم باشه اجرا میشن):

arch-chroot /mnt

مرحله شش : کانفیگ سیستم

اجازه بدید زمان محلی سیستم رو روی تهران تنظیم کنیم و بعد روی بایوس ذخیره کنیم:

ln -sf /usr/share/zoneinfo/Asia/Tehran /etc/localtime hwclock --systohc --utc

دستور اول تنظیمات منطقه تهران رو به ادرس تنظیمات سیستم لینک میکنه (همون شورتکات میسازه تا هروقت خواست تنظیمات رو بخونه بره به فایل تهران) و دستور دوم زمان رو به صورت utc روی ساعت بایوس مینویسه.

حالا باید زبان انگلیسی و فارسی رو فعال کنیم و فایل های لازم رو بسازیم. با کمک nano فایل /etc/locale.gen رو باز میکنیم و دومورد زیر رو از کامنت خارج میکنیم (# اول خط رو حذف کنید):

en_US.UTF-8 UTF-8 fa_IR UTF-8

و برای تولید فایل های زبان دستور زیر رو میزنیم:

locale-gen

حالا که فایل هارو ساختیم باید زبان سیستم رو هم تنظیم کنیم:

echo LANG=en_US.UTF-8 > /etc/locale.conf

اگه دستور بالا شما رو میترسونه به جاش میتونید با nano فایل /etc/locale.conf رو بسازید و داخلش بنویسید:

LANG=en_US.UTF-8

برای سیستم یک اسم انتخاب میکینم (من از lenovo استفاده میکنم شما هرچی دوست دارین بزارین):

echo lenovo > /etc/hostname

باید فایل /etc/hosts رو هم به شکل زیر مقدار دهی کنیم (این فایل اجازه میده یسری دامنه یا اسم رو برای آی پی های دلخواه تنظیم کنیم مثلا localhost یعنی 127.0.01) :

127.0.0.1 localhost ::1 localhost 127.0.1.1 lenovo.local lenovo

بهتره با زدن دستور زیر برای کاربر رووت رمز عبور اختصاص بدیم:

passwd

و برای خودمون یک کاربر بسازیم (mahdi اسم کاربریه که دارم میسازم میتونید هرچی دلتون میخواد بزارید):

useradd -mg users -G wheel,storage,power -s /bin/bash mahdi

و برای کاربری که ساختیم رمز عبور میزاریم:

passwd mahdi

و کاربری که ساختیم رو مجاز به استفاده از دستور sudo میکنیم، برای این کار فایل /etc/sudoers رو با nano باز میکنیم و خط زیر رو پیدا و از کامنت خارج میکنیم (دوباره کافیه # از اولش حذف کنیم):

%wheel ALL=(ALL) ALL

مرحله نهایی

حالا لازمه اجازه بدیم ایمیج های سیستم دوباره سازی بشه (منظور فایل های img داخل پوشه boot که برای اجرای سیستم عامل بوت میشن هست):

mkinitcpio -P

راهنمای انگلیسی آرچ همین جا تموم میشه چون بقیه کار نصب و تنظیم پکیج های فرعی هستش.

  • من برای بوت لودر از grub و برای دسکتاپ gnome به همراه gdm استفاده میکنم.
  • همین طور درایور nvidia و xf86-video-intel رو باید نصب کنم.
  • برای اینکه به اینترنت دسترسی داشته باشم هم پکیج networkmanager لازمه.
  • اگه از درایو های ntfs ویندوزی استفاده میکنید ntfs-3g رو هم باید نصب کنید.
pacman -S nvidia xf86-video-intel networkmanager gnome gdm grub efibootmgr os-prober

در توضیحات هم بگم که pacman پکیج منیجر یا همون مدیر بسته سیستم آرچ تشریف دارن و -S یعنی پکیج هایی که میگم رو نصب کن.

اگه میخواین از اتصال بیسیم استفاده کنید:

pacman -S iw wpa_supplicant dialog

برای راه انداختن grub کدهای زیر رو بزنید:

grub-install --recheck /dev/sda grub-mkconfig -o /boot/grub/grub.cfg

که دستور اول به گراب میگه نصب شه (سیستم عامل هارو پیدا میکنه و ازین کارا ...) و دستور دوم کانفیگ مناسب رو میسازه و ذخیره میکنه.

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

systemctl enable NetworkManager systemctl enable gdm

درنهایت برای خروج و ریستارت سیستم به نسخه نصب شده دستورات زیر رو وارد میکنیم:

exit umount -a telinit 6

ساده بود ن؟ :)

منابع:

https://wiki.archlinux.org/title/Installation_guide

https://wiki.archusers.ir/index.php/%D8%B1%D8%A7%D9%87%D9%86%D9%85%D8%A7%DB%8C_%D8%AA%D8%A7%D8%B2%D9%87%E2%80%8C%DA%A9%D8%A7%D8%B1%D8%A7%D9%86

https://iaghapour.ir/blog/installing-arch-as-uefi-with-a-desktop-environment/

linuxarchuefiرمز عبور
web developer - php, laravel
شاید از این پست‌ها خوشتان بیاید