git clone --recursive https://github.com/neobht/uird.git
Проще всего установить src пакет dracut для вашего дистрибутива.
* make
* pkgconfig
* kmod
* lib64kmod-devel
* gcc
* glibc
* linux-api-headers
cd ./uird
./make_busybox.sh
./make_dracut.sh
Ищем подходящий конфиг в uird/configs/uird_configs
Если нет подходящего, то создаём новый.
./mkuird ИМЯ_КОНФИГА
./mkuird MagOS
В корне каталога uird появится файл uird.ИМЯ_КОНФИГА.cpio.xz, это и есть ваш UIRD.
Сообщения при сборке вроде:
* modinfo: ERROR: Module ext3 not found.
Не являются ошибкой, скорее всего указанный модуль встроен в ядро.
* -k kernel - имя ядра, под который собирается UIRD (для текущего ядра указывать не нужно)
* -m /path/dir - каталог с модулями ядра (по умолчанию дефолтное значение для дистра, обычно это /lib/modules)
* -e список,модулей_ядра,бинарников, которые нужно исключить при сборке UIRD (смотрите mkuird.cfg)
* -с file.cfg - конфиг вместо дефолтного mkuird.cfg
Если после выполнения ./mkuird в корне каталога uird не появится файл uird.ИМЯ_КОНФИГА.cpio.xz, то смотрите лог на предмет ошибок дракута:
* dracut_magos.log
В файле
* not_found.log
можно посмотреть ненайденные при сборке бинарники, обычно они предоставляют расширенный функционал для UIRD. Если в списке будут бинарники, функционал которых нужен вам в UIRD, то бинарник нужно установить, и UIRD пересобрать.