Назад | Перейти на главную страницу

Изменение initrd.img для запуска дополнительных двоичных файлов в RHEL 6, загруженном с помощью PXE

Я пытаюсь добавить дополнительную автоматизацию к нашему существующему процессу установки PXE RHEL 6 (или его реализации Oralce), запустив сценарий в разделе% pre моей конфигурации кикстарта, который вызывает hpacucli, двоичный файл конфигурации устройства рейда HP.

Мой подход заключался в изменении PXE-сервера initrd.img. Я распаковал initrd.img и скопировал необходимые библиотеки, двоичные файлы и сценарии, но когда система загружается с использованием модифицированного initrd.img, измененные / lib (и / lib_64) перемещаются в / lib_old, а / lib - связан с файлом / mnt / runtime / lib. Как я могу изменить эту конфигурацию, чтобы / lib не перемещался (что маловероятно) или необходимые библиотеки были доступны в runtime / mnt / runtime / lib?

Чтобы проверить и подтвердить это, я смог заставить процесс установки перейти на 6-ю виртуальную консоль, что позволяет мне видеть ошибки, а затем открывать оболочку (полезный механизм отладки).

%pre
exec  /dev/tty6 2> /dev/tty6
chvt 6

/bin/sh

После нескольких попыток я перестал искать в Google или документацию, за которую не мог поручиться, и начал читать журналы, которые привели меня к решению.

В процессе установки PXE initrd.img загружает процесс, anaconda обращается к сценарию кикстарта, извлекает установочный образ, запускает stage2 и монтирует загруженный install.img в / mnt / runtime, который перемещает lib, lib_64 и usr и ссылки в соответствующие каталоги в / mnt / runtime, а затем запускает теперь локальный / usr / bin / anaconda. Это видно в файле /tmp/anaconda.log, который я мог открыть в процессе приостановленной установки, описанном выше.

Я решил свою проблему, обновив install.img нужными мне библиотеками. Это означает, что весь процесс требует изменения двух изображений: intitrd.img для скриптов, каталогов и двоичных файлов, которые мне нужны для работы hpacucli, и install.img для добавления библиотек в lib, которые будут существовать после install.img был установлен. Я уверен, что есть и другие решения, это казалось наименее навязчивым.

Если есть другие пользователи предварительной установки hpacucli, которые ищут ответы, я могу опубликовать всю установку.