- id101010 / archlinux_install_bios.md
- Как установить Arch без боли??
- Итак, начнём с простого.
- Установка
- Начинаем с запуска
- Проверим соединение с интернетом:
- Разделы диска
- Установка
- Создадим fstab файл
- Настраиваем установленную систему
- Chroot
- Настройка файла локали
- Настраиваем временную зону
- Задаём время
- Имя хоста и адрес
- Сетевой менеджер
- Установка GRUB
- Перезагрузка
- Добавим пользователя и окружение
id101010 / archlinux_install_bios.md
Get the latest iso and checksums from a mirror near you. The recommended mirror below is maintained by me and located in a datacenter based in switzerland. Since new isos are not built on a daily basis, you may need to choose the newest iso yourself.
$ wget https://mirror.puzzle.ch/archlinux/iso/latest/archlinux-$(date +%Y.%m.%d)-x86_64.iso archlinux.iso $ wget https://mirror.puzzle.ch/archlinux/iso/latest/md5sums.txt $ wget https://mirror.puzzle.ch/archlinux/iso/latest/sha1sums.txt
Check if the download is valid.
$ md5sum --check md5sums.txt $ sha1sum --check sha1sums.txt
Create a bootable usb flash drive, make sure /dev/sdX corresponds to the usb drive.
$ dd if=archlinux.iso of=/dev/sdX bs=1M status=progress && sync
Boot and check your internet connection, fix if necessary.
Enable network time synchronization.
Check if the time got synchronized.
Create partitions according to the partitioning scheme above. Use a mbr parition table.
Create a partition table that looks like the following example
Disk /dev/sda: 477 GiB, 512110190592 bytes, 1000215216 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x971ef2ea Device Boot Start End Sectors Size Id Type /dev/sda1 * 2048 2099199 2097152 1G 83 Linux /dev/sda2 2099200 1000215215 998116016 476G 83 Linux
Now create a filesystem on the /boot partition. Syslinux needs the 64bit option of ext4 to be disabled since it can only handle 32bit block sizes. You don’t want a 16TiB boot partition anyway. Make sure to set the option right otherwise your bootloader won’t load.
mkfs.ext4 -L boot -O '^64bit' /dev/sda1
Create an encrypted container containing the logical volumes /root and swap. Make sure to use a safe passphrase.
$ cryptsetup luksFormat --type luks2 -c aes-xts-plain64 -s 512 /dev/sda2 $ cryptsetup open /dev/sda2 cryptlvm $ pvcreate /dev/mapper/cryptlvm $ vgcreate vg0 /dev/mapper/cryptlvm $ lvcreate -L 16G vg0 -n swap # This should be at least the size of your RAM if you want hybernation to work $ lvcreate -l 100%FREE vg0 -n root $ mkfs.ext4 /dev/mapper/vg0-root $ mkswap /dev/mapper/vg0-swap
Mount everything on the live system.
$ mkdir /mnt/boot $ mount /dev/mapper/vg0-root /mnt $ mount /dev/sda1 /mnt/boot
Activate the swap partition.
If the output looks like this you’re good to go.
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 477G 0 disk ├─sda1 8:1 0 1G 0 part /mnt/boot └─sda2 8:2 0 476G 0 part └─main 254:0 0 476G 0 crypt ├─vg0-swap 254:1 0 16G 0 lvm [SWAP] └─vg0-root 254:2 0 440G 0 lvm /mnt
3. Install base system and bootloader
I strongly recommend to select a fast mirror for the base installation. This will greatly improve the download speed. Eighter uncomment the server in the provided mirrorlist or use the following suggestion.
$ rm /etc/pacman.d/mirrorlist $ echo 'Server = http://mirror.puzzle.ch/archlinux/$repo/os/$arch' > /etc/pacman.d/mirrorlist
Install the base system, bootloader and some additional components using pacstrap.
$ pacstrap /mnt base base-devel syslinux linux linux-firmware vim git
Install the syslinux bootloader.
$ syslinux-install_update -i -a -m -c /mnt
Edit the /mnt/boot/syslinux/syslinux.cfg bootloader configuration to support your cryptlvm. To do this you need to change the APPEND lines for the Arch and Archfallback targets. To make sure your system has the right keyboard layout when entering the LUKS key, append a location and language entry to the kernel line. The example below uses the Swiss QWERTY layout. If you use an english QWERTZ layout you can omit these entries. The Resume statement is used for hibernation. If you don’t want this you can omit it as well.
. LABEL arch MENU LABEL Arch Linux LINUX ../vmlinuz-linux APPEND cryptdevice=/dev/sda2:vg0 root=/dev/mapper/vg0-root resume=/dev/mapper/vg0-swap rw lang=en locale=de_CH.UTF-8 quiet splash INITRD ../initramfs-linux.img LABEL archfallback MENU LABEL Arch Linux Fallback LINUX ../vmlinuz-linux APPEND cryptdevice=/dev/sda2:vg0 root=/dev/mapper/vg0-root resume=/dev/mapper/vg0-swap rw lang=en locale=de_CH.UTF-8 quiet splash INITRD ../initramfs-linux-fallback.img .
Generate fstab using UUIDs as representation.
$ genfstab -pU /mnt >> /mnt/etc/fstab
4. Chroot into the System and do a minimal configuration
Chroot into your new base system.
Set timezone, and hostname and set your hwclock to utc.
$ ln -sf /usr/share/zoneinfo/Europe/Zurich /etc/localtime $ hwclock --systohc --utc
Configure your locales. Omit the swiss german line if you don’t need it.
$ echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen $ echo "de_CH.UTF-8 UTF-8" >> /etc/locale.gen $ locale-gen $ echo "LANG=en_US.UTF-8" >> /etc/locale.conf $ echo "LC_ALL=C" >> /etc/locale.conf
Set a hostname, keymap and nice console font.
echo "myhostname" >> /etc/hostname echo "KEYMAP=de_CH-latin1" >> /etc/vconsole.conf # Change to your locale echo "FONT=lat9w-16" >> /etc/vconsole.conf echo "FONT_MAP=8859-1_to_uni" >> /etc/vconsole.conf
Change mkinitcpio.conf to support ext4, lvm2 and encryption. You need to add the following:
Eighter edit /etc/mkinitcpio.conf by hand or use the following sed commands.
$ sed -i "s/MODULES=.*/MODULES=(ext4)/g" /etc/mkinitcpio.conf $ sed -i "s/HOOKS=.*/HOOKS=(base udev autodetect modconf keyboard block keymap encrypt lvm2 resume filesystems keyboard fsck shutdown)/g" /etc/mkinitcpio.conf
Regenerate the initrd image.
Install microcode updates. These updates provide bug fixes that can be critical to the stability of your system. You need to install the package first and then create a second initrd entry in the bootloader config.
$ pacman -S intel-ucode or $ pacman -S amd-ucode
Edit the /boot/syslinux/syslinux.cfg config file. There must be no spaces between the intel-ucode and initramfs-linux initrd files. The period signs also do not signify any shorthand or missing code. The INITRD line must be exactly as illustrated below.
LABEL arch MENU LABEL Arch Linux LINUX ../vmlinuz-linux INITRD ../||amd>-ucode.img. /initramfs-linux.img # Make sure to choose the right image! APPEND your kernel parameters>
Set a strong root password.
Create a new user and set its password.
$ useradd -m -g users -G wheel $YOUR_USER_NAME $ passwd $YOUR_USER_NAME
Uncomment string %wheel ALL=(ALL) ALL in /etc/sudoers to allow sudo for users of the group wheel.
Exit from chroot, unmount system, shutdown, extract flash stick. You made it! Now you have fully encrypted system.
$ exit $ umount -R /mnt $ swapoff -a $ reboot
Reboot into your new arch linux base system and begin installing software.
Как установить Arch без боли??
Слышал, что некоторые считают Arch сложным в установке. Отчасти они правы, но для любого человека, который способен разобраться в установке и настройке linux, установка Arch довольно проста. Также это самый гибкий дистрибутив, поэтому настроить под себя его получится лучше других дистрибутивов.
Данный гайд является сборной солянкой из всех гайдов, что я прочитал (как русскоязычные, так и иноязычные). Его цель просто и без лишней технической информации показать пошаговую установку Arch и сделать это на русском языке. Главное, что статья написана от непонимающего для непонимающих. Заранее скажу, что некоторые скрины будут уже с установленного Arch, но это никак не меняет работу команд и то, что вы увидите при их использование.
Итак, начнём с простого.
Идём на сайт и качаём ISO-файл:
Там ищем зеркало(скорее всего русское) и скачиваем образ:
Для упрощения дальнейшей жизни лучше скачать Etcher, прямо на сайте есть довольно понятная инструкция в картинках, так что справятся все.
Установка
// начну с настройки VirtualBox, если вы используете её, то выполните следующие действия
2.Во вкладке система ставим галочку около пункта »Включить EFI»:
3.Далее идём во вкладку носители, там добавляем контроллер IDE и выбираем наш дистрибутив
Далее установка будет для всех одинакова.
Начинаем с запуска
Выбираем первую строку и жмём Enter
Проверим соединение с интернетом:
Это нужно, потому что Arch требует интернет для своей установки.
Такой командой можно проверить своё соединение и увидеть время ответа сайта.
Если вы используете wifi на своём ПК, то используйте утилиту :
Разделы диска
Для того, чтоб разбить наш диск на разделы, можно сначала узнать какие диски подключены. Скорее всего у вас будет USB флешка и HDD\SSD вашего ПК.
Команда для просмотра разделов (понадобится нам ещё много раз):
Если у вас несколько дисков, а вы хотите установить на какой-то конкретный, то можно посмотреть диски по размерам.
Время размечать наш диск. Используем команду cfdisk для этого и выбираем gpt формат :
Bажно! если во время использования команды lsblk и fdisk вы увидели что sda является не тем диском, что нужен вам, то вы дописываете в конец название другого диска, например sdb.
Используя стрелочки создаём 3 раздела на диске:
- /dev/sda1 # размером 1G места под UEFI
- /dev/sda2 # размером примерно 10-15 GB под root
- /dev/sda3 # всё оставшееся место под директорию home
PS: Если вы решили переделать разметку диска, то через эту утилиту можно и удалять разделы
Для проверки используем lsblk снова. Если всё норм, что /dev/sda будет содежать в себе 3 раздела.
Далее форматируем наши разделы.
- Форматируем тот раздел, который мы выделили под UEFi
Монтируем root и создаём папку home:
mount /dev/sda2 /mnt mkdir /mnt/home mount /dev/sda3 /mnt/home
И снова lsblk для проверки
Установка
Начинается самая долгая часть, потому что нужно будет много скачать. Устанавливаем все основные пакеты, а также nano, чтоб редачить файлы системы. Если вдруг вы знакомы с vim можете скачать и его (дописать в конец).
pacstrap -i /mnt base linux linux-firmware sudo nano
Вам предложат что установить выбирайте all и далее yes. Встречался с проблемой, что можно было скачать первый или второй вариант, можно просто выполнить команду дважды выбирая вначале один пакет, а затем второй.
Создадим fstab файл
genfstab -U -p /mnt >> /mnt/etc/fstab
Настраиваем установленную систему
Chroot
Chroot (change root) нужен нам, чтобы мы могли сменить root пользователя (как и сказано в названии команды).
Настройка файла локали
Для начала идём в файл локали, чтоб настроить язык
Находим там #en_US.UTF-8 и стираем #, с русским языком так же. PS: можно использовать Ctrl + W для поиска языка в файле.
Чтобы всё сохранить Ctrl + O, затем Enter и Ctrl + X, затем Enter
Далее пишем команды, которые сгенерируют локаль и создаём locale.conf с нужными настройками языка.
locale-gen echo "LANG=en_US.UTF-8" > /etc/locale.conf
Настраиваем временную зону
Далее жмём 2 раза на Tab и видим список регионов, после городов.
ln -sf /usr/share/zoneinfo/Europe/Kaliningrad /etc/localtime
Задаём время
Тут 2 команды. Одна ставит время для системы, а другая его показывает.
Имя хоста и адрес
Я решил назвать ПК ArchMe, поэтому используем следующую команду:
Далее идём в файл localhosts и записываем ip. Если у вас ip статический, используйте свой.
nano /etc/hosts 127.0.1.1 localhost.localdomain ArchMe
Сетевой менеджер
pacman -S networkmanager systemctl enable NetworkManager
Установка GRUB
Для начала сменим пароль root пользователя :
GRUB — это загрузчик, который нужен, чтоб запускать нашу установленную систему (в режиме EFI). Далее будет куча команд, которые нужно выполнить.
pacman -S grub efibootmgr mkdir /boot/efi mount /dev/sda1 /boot/efi lsblk # для проверки всё ли норм смонтировано grub-install --target=x86_64-efi --bootloader-id=GRUB --efi-directory=/boot/efi --removable grub-mkconfig -o /boot/grub/grub.cfg
Перезагрузка
Чтобы без потерь перезагрузить нашу систему используем эти команды:
После перезагрузки вы увидите следующее. Если это так, то наш GRUB установился правильно
Входим в root аккаунт и создаём swapfile (что-то вроде доп оперативки) и задаём ему размер как у вашей ОЗУ
Далее выполняем следующие команды:
chmod 600 /swapfile mkswap /swapfile swapon /swapfile echo '/swapfile none swap sw 0 0' >> /etc/fstab
И проверяем, работает ли swap:
Добавим пользователя и окружение
useradd -m -g users -G wheel -s /bin/bash username passwd username
username замените на то имя, что хотите вы)
Также нужно дать ему права суперюзера:
там ищем и убираем #, а дальше Ctrl + O, затем Enter и Ctrl + X, затем Enter
Дрова
pacman -S pulseaudio pulseaudio-alsa xorg xorg-xinit xorg-server
Вам будет предложен выбор, выбирайте исходя из своей графики.
Окружение
Вначале покажу как поставить довольно простое — XFCE
pacman -S xfce4 lightdm lightdm-gtk-greeter echo "exec startxfce4" > ~/.xinitrc systemctl enable lightdm
И моё любимое i3, там выбираем пакеты 2 4 5. Возможно вы увидите квадраты вместо символов, но это нормально, вам просто нужно будет скачать шрифт dejavu ( pacman -S ttf-dejavu ). Cписок горячих клавиш можно посмотреть тут
echo "exec i3" > ~/.xinitrc sudo pacman -S i3
Если вы решите поменять своё окружение, то нужно будет менять запись в файле xinitrc.
Для запуска вашего окружения используйте