Chips
разобраться как это работает
Подумал, что цель соблать свой live. Поэтому и предложил готгвые варианты.
Chips
как в него интегрировать скрипт init
Dracut и mkinitcpio формируют initramfs и реализуют свои init'ы.
Они хороши модульностью и автоматизацией. Позволяют реализовать свои сценарии загрузки из готовых "блоков"

Рекомендую посмотреть исходники mkinitcpio и его базовых модулей.
Он достаточно прост для изучения и прояснит много тонкостей.
Lupus pilum mutat, non mentem.
Вы используете для инит сжатый контейнер с ext2.
Если не ошибаюсь то сейчас "принято" использовать cpio формат. Возможно ядро собрано только с ним. Посмотрите ядерный конфиг.
Lupus pilum mutat, non mentem.
Chips
Собирал его на базе busybox
Почему не используете mkinitcpio + archiso?
В dracut тоже есть готовые модули.
Lupus pilum mutat, non mentem.
mag-gendalf
Я добавил файл включения файлов pac.include и прописал туда список моих файлов, добавил его в скрипт через –include-from= а в файл pac.exclude прописал только маску *.*.
Интересный подход. Не думал что так можно использовать.
В pac.include в каком виде запись идет?
Lupus pilum mutat, non mentem.
Отключил ограничение на максимальный размер файла. Обновлен генератор исключений.
Lupus pilum mutat, non mentem.
Исправил небольшие ошибки. Адаптировал под современные реалии.
Там формат пакетов был xz )))

Перекачайте скрипты.

Для теста сейчас скачиваю пакеты.
Lupus pilum mutat, non mentem.
Или на основе кеша формировать свой реп?
Lupus pilum mutat, non mentem.
Не совсем понимаю для чего здесь предлагалось использовать pacman.
Расшаривать кэш?
Lupus pilum mutat, non mentem.
В файле sync.sh можно выбрать какие репы скачивать.
на файл settings не обращайте внимание.
Наверное хотел вынести настройки из основного скрипта.

И ещё.
Всё это писалось для себя. Нет никаких защит от дурака, возможны ошибки и кривой код.
Пока не собираюсь допиливать, т.к. нет необходимости. Но если кому-то интересно, то можем совместно дорабатывать.
Lupus pilum mutat, non mentem.
https://github.com/jim945/Archlinux-repo-sync
Залил на github.
Давно не пользовался. Заже подзабыл, что там наворотил. И кажется не доделал до конца какие-то замыслы.

Файлы
mirrorlist - список зеркал
genmirrorlist.sh - генератор mirrorlist
pac.exclude - список исключений
ARS_v2.py - генератор pac.exclude. Путь до файла исключений правьте на свой. И добавляйте названия пакетов

sync.sh - основной скрипт

Запуск.
./sync.sh /путь/до/вашей/репы
Lupus pilum mutat, non mentem.