Linux
October 13

Archiso - делаем собственный Live-образ Arch Linux с нужными программами и конфигурациями

Archiso - это набор bash-скриптов, которые предназначены для сборки собственных live-CD/DVD и live-USB образов на основе Arch Linux. Он используется для создания официальных образов Arch Linux, но мы можем использовать его для создания своих установочных/восстановительных или иных образов под свои потребности.

В чем польза?
Есть много способов применения данного инструмента. Вы можете добавить в образ свой собственный набор программ и конфигураций. Например, вы можете сделать идеальный для себя образ восстановления, который будет включать в себя только самое необходимое. Вы можете добавить графический интерфейс, например чтобы сделать разметку диска в GUI-программе или чтобы открыть веб-браузер с Arch wiki для более удобной установки Arch Linux. В общем, вариантов использования Archiso огромное множество, все зависит только от ваших потребностей.

Установка

Убедитесь, что вы используете систему Arch Linux. Все дальнейшие действия необходимо выполнять от имени root, чтобы избежать проблем с ложными разрешениями.

sudo pacman -S archiso - устанавливаем пакет

Сборка ISO

Archiso поставляется с двумя профилями:

  • releng - для создания полностью индивидуальной версии Arch Linux, предварительно установленной со всеми нужными программами и конфигурациями;
  • baseline - для создания основы live CD, без предварительно установленных пакетов и с минимальной конфигурацией.

Теперь скопируем один из выбранных профилей в каталог ~/archlive. Создайте каталог и введите команду cp -r /usr/share/archiso/configs/releng archlive или cp -r /usr/share/archiso/configs/baseline archlive в зависимости от профиля, который вы выбрали:

К каталогу archlive мы вернемся позже, а сейчас предлагаю рассмотреть сборку ISO на примере профиля baseline, т.к. он не требует дополнительной настройки. Мы даже можем не копировать профиль, если не собираемся в него вносить какие-либо изменения и просто указать путь к /usr/share/archiso/configs/baseline во время сборки.

Запустите команду mkarchiso -v -w /путь/до/рабочей_директории -o /путь/до/выходной_директории /путь/до/профиля/. Замените /путь/до/профиля/ на путь к вашему пользовательскому профилю или на /usr/share/archiso/configs/baseline/, если вы создаете неизменяемый профиль. Если выходной каталог не указан, по умолчанию он будет выводить в текущий каталог. Если позволяет память, рекомендуется разместить рабочий каталог в tmpfs. Например:
mkarchiso -v -w /tmp/archiso-tmp /путь/до/профиля/

Сценарий создаст ISO и разместит его в выходной каталог:

Если процесс сборки завершился неудачно из за отстутствия grub, то просто установите пакет grub:
sudo pacman -S grub

Использовать grub в качестве загрузчика для своей основной системы необязательно, но пакет grub нужен для сборки archiso.

Далее мы можем протестировать созданный ISO. Для этого я его закинул на USB-накопитель с Ventoy и попробовал запуститься с него:
cp out/archlinux-baseline-2025.07.18-x86_64.iso /run/media/freemore/Ventoy/Linux/archlive_test.iso

Как видно, все работает. Мы смогли запуститься с ISO-образа и залогиниться в системе.

Теперь вернемся к каталогу ~/archiso, в который мы скопировали профиль releng. Файл packages.x86_64 содержит список пакетов, которые необходимо установить в ISO-образ, а каталог airootfs действует как наложение, с помощью которого мы и будем настраивать наш образ ISO.

Отредактируйте файл packages.x86_64 и укажите в нем пакеты, которые необходимо установить:
vim archlive/releng/packages.x86_64

Чтобы установить пакеты из репозитория multilib, вам нужно просто раскомментировать его в ~/archlive/releng/pacman.conf:

[multilib]
SigLevel = PackageRequired
Include = /etc/pacman.d/mirrorlist

Если вы хотите использовать оконный менеджер в Live CD, то вы должны добавить необходимые и правильные видео драйвера, иначе WM может зависнуть при загрузке.

Далее добавим свои файлы. Каталог airootfs действует как наложение, считайте его корневым каталогом (/) в вашей текущей системе, поэтому любые файлы, которые вы размещаете в этом каталоге, будут скопированы при загрузке. Например, если у вас есть набор скриптов iptables в вашей текущей системе, которые вы хотите использовать на вашем live-образe, скопируйте их:
cp -r /etc/iptables ~/archlive/airootfs/etc

Размещение файлов в домашнем каталоге пользователей немного отличается. Не помещайте их в airootfs/home, а вместо этого создайте каталог skel внутри airootfs/ и разместите их там:
mkdir ~/archlive/releng/airootfs/etc/skel
cp ~/.bashrc ~/archlive/airootfs/etc/skel/ - пример копирования файла .bashrc

По умолчанию, разрешения будут 644 для файлов и 755 для каталогов. Все они будут принадлежать пользователю root. Чтобы установить необходимые разрешения, используйте file_permissions в profiledef.sh.

В Archiso используется загрузчик grub. Если вас устраивают стандартные настройки, то можете их не менять. В ином случае, например если вы хотите сделать загрузчик grub визуально привлекательным, внесите изменения. Посмотрите официальный сайт syslinux и репозиторий git archiso. Используя указанные аддоны, можно сделать визуально привлекательные и сложные меню. Для получения дополнительной информации смотрите здесь.

Если вы хотите использовать Archiso в окружении с включенным UEFI Secure Boot, вы должны использовать подписанный загрузчик (или просто отключите Secure boot).

Далее производим сборку ISO:
mkarchiso -v -w /tmp/archiso-tmp archlive/releng

При запуске команды сценарий загрузит и установит указанные вами пакеты в рабочую_директорию/x86_64/airootfs, создаст образы ядра и инициализации, применит ваши настройки и, наконец, создаст ISO в выходной каталог:

В свой образ я добавил пакет nmap. Запустимся с ISO-образа и проверим наличие программы:

Если хотите повторно запустить сборку ISO-образа, то перед этим удалите рабочую директорию, чтобы не столкнуться с ошибкой:
rm -rf /tmp/archiso-tmp

Заключение

Archiso - это очень полезный и достаточно гибкий набор скриптов, с помощью которых можно делать кастомные ISO-образы на основе Arch linux. Есть множество способов применения Archiso для выполнения самых разных задач. Теперь вы можете делать собственные сборки, в которые будут входить только те пакеты, конфигурации и прочие файлы, которые нужны именно вам. Например, вы можете сделать собственный образ восстановления с минимальным набором программ, кастомный установщик системы Arch Linux или образ для безопасной проверки систем на наличие угроз с помощью ClamAV и chkrootkit.


Мой Telegram

Мой GitHub

Поддержать автора донатом