Проблема с загрузкой пользовательского ISO-образа RHEL 8.10

Вопрос или проблема

У меня возникает проблема при загрузке пользовательского ISO RHEL 8.10. Во время процесса загрузки я сталкиваюсь со следующей ошибкой:

initqueue[1065]: /usr/sbin/fetch-kickstart-disk: line 24: rmdir: command not found

Я извлек initrd.img, изменил /usr/sbin/fetch-kickstart-disk, а затем заново создал ISO. Однако проблема остается.

Кто-нибудь сталкивался с этой проблемой ранее? Есть предложения, как правильно изменить initrd.img или обеспечить доступность rmdir во время загрузки?

Спасибо

Вот что я пробовал:

  • Извлечь образ:
    xzcat initrd.img | cpio -idmv
    
  • Изменить строку 24 для удаления команды rmdir:
    vi usr/sbin/fetch-kickstart-disk
    
  • Заново создать файл образа
    find . | cpio -o -H newc | xz --check=crc32 -9 > /WORK/isolinux/initrd.img
    
  • Создать файл ISO
    xorriso -as mkisofs -o /RHEL-8-10-0-BaseOS-x86_64.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table  /WORK/
    

Ответ или решение

Теория:

Вы столкнулись с распространенной проблемой при работе с кастомными ISO-образами RHEL, особенно когда дело касается модификации initrd.img. Ошибка, которую вы наблюдаете – initqueue[1065]: /usr/sbin/fetch-kickstart-disk: line 24: rmdir: command not found показывает, что команда rmdir не доступна во время процесса загрузки. Это может произойти по нескольким причинам, включая отсутствие необходимых файлов или утилит в модифицированном Образе Инициализации (initrd.img).

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

Пример:

Предположим, что у вас есть образ initrd.img, который вы будете модифицировать для включения или удаления определенных утилит или скриптов. Важно помнить, что initrd.img используется в процессе загрузки для подготовки окружения, прежде чем будет смонтирована основная файловая система. Если какая-то ключевая утилита, такая как rmdir, отсутствует, это может привести к тому, что скрипты или процессы, требующие эту утилиту, завершатся ошибкой.

Вы уже предприняли несколько шагов, чтобы решить проблему: вы извлекли initrd.img, внесли изменения в /usr/sbin/fetch-kickstart-disk, и перекачивали образ, но ошибка сохранилась. Это возможно из-за того, что изменения были неправильно интегрированы или вмешание в скрипт /usr/sbin/fetch-kickstart-disk вызвало другие проблемы.

Применение:

  1. Проверка наличия зависимостей: Убедитесь, что в вашей модифицированной версии initrd.img все необходимые утилиты доступны. Для этого проверьте директории, такие как /sbin, /bin, /usr/sbin и /usr/bin, на предмет наличия rmdir.

  2. Интеграция утилиты rmdir: Если rmdir отсутствует, вы можете попытаться вручную добавить ее. Это можно сделать, скопировав бинарный файл rmdir из стандартной установочной версии RHEL и включить его в ваше initrd.img в соответствующее место.

  3. Тестирование обновленного ISO: Прежде чем пересобрать ISO, протестируйте initrd.img в изолированной среде, например, с использованием виртуальной машины (VM), чтобы удостовериться, что системные вызовы и скрипты работают корректно. Это поможет минимумизировать риск внесения ошибок на более поздних стадиях.

  4. Пересборка образа ISO: После успешного тестирования initrd.img, заново создайте ISO-образ, как вы уже описали, с использованием xorriso или другой подходящей утилиты. Обратите внимание на правильность опций командной строки – не только на использование флага -b для указания пути к образу загрузочного сектора, но и на обеспечение корректного размещения всех файлов в структуре ISO.

  5. Диагностика и мониторинг процесса загрузки: При возникновении ошибок загрузки, используйте отладочные и диагностические инструменты, чтобы собрать больше информации. Проверьте логи, исправьте любые обнаруженные проблемы и повторите процесс пересборки до тех пор, пока ISO не заработает должным образом.

Эти шаги помогут вам интегрировать необходимые команды в образ и избежать подобной ошибки при загрузке системы. Уделите внимание каждой детали и особенно тестированию, так как именно оно позволяет избежать проблем перед развертыванием на боевой сервер.

Оцените материал
Добавить комментарий

Капча загружается...