Добрый день дорогой читатель, данное повествование не является
истиной в последней инстанции, это некая инструкция по установке (в
основном для собственного пользования) Artix Linux с системой инициализации OpenRC (условия таковы установка с использованием UEFI на файловую систему BTRFS) с пояснениями и все возможными мыслями. Действия будут происходить на KVM/QEMU для наглядности
Загружаемся с предварительно скаченного образа, тут небольшой нюанс выбираем либо From CD/DVD/ISO: Artix_x86_64 либо From Stick/HDD: Artix_x86_64. По сути разницы я не увидел(может быть из за виртуальной машины). Выбрал второй вариант.
Обратите внимание, требуется логин (root или artix) пароль (artix), далее, что бы убедиться запуска в UEFI выполним до более знакомую команду:
ls /sys/firmware/efi/efivars
определимся с накопителем, выполнив команду
lsblk
у меня это /dev/vda, и переходим к разметке накопителя
cfdisk /dev/vda
так как в режиме UEFI то тип таблицы выбираем GPT
для демонстрации вполне годятся такие объемы разделов, boot -128M root-30G, swap-1.9G, на физическом железе стоит отнестись более ответственно к разметке
убедимся что накопитель размечен, выполнив команду
fdisk -l /dev/vda
отформатируем разделы в соответствующие файловые таблицы и активируем swap, выполнив следующую последовательность команд
mkfs.vfat -F32 /dev/vda1
mkfs.btrfs -f /dev/vda2
mkswap /dev/vda3
swapon /dev/vda3
далее создадим subvolume на btrfs разделе, иначе зачем нам btrfs
fdisk -l /dev/vda # для того что бы видеть разделы
mount /dev/vda2 /mnt
cd /mnt
btrfs su cr @
btrfs su cr @home
cd /
umount /mnt
и смонтируем все необходимое для установки
mount -o noatime,compress=zstd:6,space_cache=v2,discard=async,subvol=@ /dev/vda2 /mnt
mkdir /mnt/home
mount -o noatime,compress=zstd:6,space_cache=v2,discard=async,subvol=@home /dev/vda2 /mnt/home
mkdir -p /mnt/boot/efi
mount /dev/vda1 /mnt/boot/efi
последними двумя командами можно убедится в монтировании
lsblk
mount | grep vda
Опционально. Это ускорит процесс скачивания пакетов, в /etc/pacman.conf раскоментируем строку ParallelDownloads=5
nano /etc/pacman.conf
...
ParallelDownloads=5
...
Опционально. раскоментируем репозиторий с 32-битными пакетами
...
[lib32]
include=/etc/pacman.d/mirrorlist
...
далее определимся с ядрами linux, linux-lts или linux-zen следовательно пакеты:
- linux - пакеты linux linux-headers
- linux-lts - пакеты linux-lts linux-lts-headers
- linux-zen - пакеты linux-zen linux-zen-headers
не забываем по linux-firmware, а так же пакеты с микрокодами для процессоров:
- amd-ucode - если процессор AMD
- intel-ucode - если процессор Intel
далее
base, base-devel - базовые пакеты системы
btrfs-progs, e2fsprogs, f2fs-tools dosfstools - пакеты утилит файловых систем, они рекомендуются для установки, так как при формировании initramfs включен хук [fsck] если они не установлены будут warning'и и соответственно утилиты не попадут в генерируемый образ.
openrc, elogind-openrc, dhcpcd-openrc, chrony-openrc - система инициализации и пакеты с механизмами управления одноименных процессов/демонов.
и за одно поставим все остальные важные (на мой взгляд) для установки пакеты
grub, efibootmgr, sudo, nano, elogind, dhcpcd, chrony - думаю о них нет смысла говорить что за пакеты, можно еще добавит например mc, htop и fastfetch. В итоге у нас получается такая команда
basestrap /mnt linux linux-headers linux-firmware base base-devel btrfs-progs e2fsprogs f2fs-tools dosfstools grub efibootmgr sudo nano elogind dhcpcd chrony openrc elogind-openrc dhcpcd-openrc chrony-openrc
после установки всего необходимого (на мой взгляд) с генерируем fstab и перейдем в chroot выполнив эти команды
fstabgen -U /mnt >> /mnt/etc/fstab
cat /mnt/etc/fstab # для проверки fstab
artix-chroot /mnt
проведем те же манипуляции что и ранее с pacman.conf для будущей системы
nano /etc/pacman.conf
...
ParallelDownloads=5
...
не забываем сохранять
...
[lib32]
include=/etc/pacman.d/mirrorlist
...
так как поставили sudo поправим конфиг
nano /etc/sudoers
...
%wheel ALL=(ALL:ALL) ALL
...
дадим права на использование sudo для группы wheel так как будущий пользователь будет в ней
настраиваем часовой пояс
ln -sf /usr/share/zoneinfo/Europe/Moscow /etc/localtime
hwclock --systohc
раскоментируем локали в /etc/locale.gen
nano /etc/locale.gen
...
en_US.UTF-8 UTF-8
ru_RU.UTF-8 UTF-8
...
генерируем локали
locale-gen
проверим /etc/hosts должен быть заполнен
nano /etc/hosts
следующим содержимым
Далее пропишем hostname
nano /etc/conf.d/hostname
у меня например так Artix(OpenRC) вы же назовите как вам удобно
пропишем в /etc/locale.conf
nano /etc/locale.conf
...
LANG=ru_RU.UTF-8
...
пропишем шрифт для консоли в файле /etc/conf.d/consolefont
nano /etc/conf.d/consolefont
...
consolefont="cyr-sun16"
...
пропишем раскладку клавиатуры в файле /etc/conf.d/keymaps
nano /etc/conf.d/keymaps
...
keymaps="ru"
...
далее добавим в автозапуск dhcp и chrony, а keymaps и consolefont так же выполнив следующие команды:
rc-update add dhcpcd default
rc-update add chrony default
rc-update add keymaps default
rc-update add consolefont default
назначим пароль на root, создадим пользователя например john и добавим в группу wheel далее назначим пользователю пароль
passwd
useradd -mG wheel -s /bin/bash john
passwd john
установка и конфигурация grub
lsblk # посмотреть диски выполнено для наглядности
grub-install /dev/vda
grub-mkconfig -o /boot/grub/grub.cfg
если все прошло гладко выходим из chroot отмонтируем разделы и перезагружаемся
exit
umount -R /mnt
lsblk # выполнено для наглядности что разделы отмантированы
reboot
после перезагрузки нас встречает grub
на этом базовая часть установки закончена.
ну и конечно же по традиции пару скринов с красивыми циферками
За основу взята информация из ArtixWiki и ArchWiki, собственный опыт и наработки.
За сим откланиваюсь...