Добрый день дорогой читатель, данное повествование не является
истиной в последней инстанции, это некая инструкция по установке (в
основном для собственного пользования) Artix Linux с системой инициализации RunIt (условия таковы установка с использованием 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'и и соответственно в образ не попадут.
runit, elogind-runit, dhcpcd-runit, chrony-runit - система инициализации и пакеты с механизмами управления одноименных процессов/демонов.
и за одно поставим все остальные важные (на мой взгляд) для установки пакеты
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 runut elogind-runut dhcpcd-runut chrony-runut
после установки всего необходимого (на мой взгляд) с генерируем 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/hostname
у меня например так Artix(RunIt) вы же назовите как вам удобно
пропишем в /etc/locale.conf
nano /etc/locale.conf
...
LANG=ru_RU.UTF-8
...
nano /etc/vconsole.conf
...
KEYMAP=ru
FONT=cyr-sun16
...
далее добавим в автозапуск dhcp и chrony выполнив следующие команды:
ln -s /etc/runit/sv/dhcpcd /etc/runit/runsvdir/default/
ln -s /etc/runit/sv/chrony /etc/runit/runsvdir/default/
Важный нюанс в chroot для системы инициализации RunIt что бы добавить симлинк на автозапуск процесса/демона делается именно в директорию /etc/runit/runsvdir/default/ в рабочей системе используется путь /run/runit/service/ помните это.
назначим пароль на 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, собственный опыт и наработки.
За сим откланиваюсь...