Вопрос или проблема
Я хочу создать ISO-образ, содержащий CentOS 7 x64 для автоматизированных/kickstart установок.
Для CentOS 6 это сработало как по маслу. Но для CentOS 7 я не могу создать загрузочный ISO-образ.
Вот что я сделал:
-
Подключил оригинальный .ISO:
mkdir /tmp/iso mount /work/CentOS-7-x86_64-Minimal-1503-01.iso /tmp/iso -o loop
-
Скопировал файлы в новую директорию:
mkdir /work/kickstart rsync -avz /tmp/iso/ /work/kickstart/
-
Создал новый ISO:
genisoimage -untranslated-filenames -volid 'CentOS-7.0-KS-x86_64' -J -joliet-long -rational-rock -translation-table -input-charset utf-8 -x ./lost+found -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -eltorito-alt-boot -e images/efiboot.img -no-emul-boot -o /work/centos7.iso -T /work/kickstart
isohybrid -u /work/centos7.iso
-
Пока все идет хорошо, но когда я пытаюсь загрузиться с этого образа, я получаю:
dracut-initqueue[577]: Warning: Не удалось загрузиться. dracut-initqueue[577]: Warning: /dev/root не существует
Скриншот:
Что вызывает эту проблему?
Я думаю, что я неверно создаю ISO, это должно быть простое копирование тех же данных.
Я не выкладывал это куда-то в данный момент.. но делал это на прошлой неделе
для установки RHEL 7, но должно быть то же самое и для CentOS7. Шаги
таковы:
получите ISO-образ CentOS 7
mount -o loop CentOS-7.0*.iso /mnt/
mkdir -p /CentOS-7-ISO-respin/{CentOS-7-unpacked,CentOS-7-iso}
rsync -avz /mnt/ /CentOS-7-ISO-respin/RHEL-7-unpacked
поместите ваш файл kickstart в
/CentOS-7-ISO-respin/RHEL-7-unpacked
добавьте новую строку в
/CentOS-7-ISO-respin/RHEL-7-unpacked/isolinux/isolinux.cfg
(так
вы также можете использовать ISO с DVD) label linux_ks menu label
^Установить CentOS 7 с Kickstartkernel vmlinuz append
initrd=initrd.img inst.stage2=hd:sdb2:/ ks=hd:sdb1:/ks.cfg
создайте ISO с помощью:
/usr/bin/genisoimage -untranslated-filenames -volid 'CentOS-7.0-KS-x86_64' -J -joliet-long -rational-rock -translation-table -input-charset utf-8 -x ./lost+found -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot
-boot-load-size 4 -boot-info-table -eltorito-alt-boot -e images/efiboot.img -no-emul-boot -o
/CentOS-7-ISO-respin/CentOS-7-KS-iso/CentOS-7.0-KS-x86_64-DVD.iso -T
/CentOS-7-ISO-respin/CentOS-7-unpacked/ ; isohybrid -u
/CentOS-7-ISO-respin/CentOS-7-KS-iso/CentOS-7.0-KS-x86_64-DVD.iso
dd if=/CentOS-7-ISO-respin/CentOS-7-CSB-iso/CentOS-7.0-KS-x86_64-DVD.iso
of=/dev/XXX
(где XXX – это имя устройства вашего USB-диска без
номера раздела, например /dev/sdb) (Будьте осторожны, эта команда уничтожит
все данные на флэшке.)
https://www.redhat.com/archives/kickstart-list/2014-August/msg00010.html
Ответ или решение
Для решения проблемы с созданием загружаемого ISO-образа CentOS 7 с использованием Kickstart, давайте рассмотрим несколько шагов и возможных решений, основываясь на том, что вы уже сделали.
Шаги по созданию ISO с Kickstart
-
Смонтируйте оригинальный ISO-образ:
mkdir /tmp/iso mount /work/CentOS-7-x86_64-Minimal-1503-01.iso /tmp/iso -o loop
-
Скопируйте файлы в новую директорию:
mkdir /work/kickstart rsync -avz /tmp/iso/ /work/kickstart/
-
Добавьте файл Kickstart:
Разместите ваш файлks.cfg
в каталоге/work/kickstart
. Убедитесь, что он содержит правильные пути и параметры. -
Обновите конфигурацию bootloader:
В файле/work/kickstart/isolinux/isolinux.cfg
добавьте новый пункт меню для установки через Kickstart. Например:label linux_ks menu label ^Установка CentOS 7 с Kickstart kernel vmlinuz append initrd=initrd.img inst.stage2=hd:LABEL=CentOS-7.0-KS-x86_64 ks=hd:LABEL=CentOS-7.0-KS-x86_64:/ks.cfg
-
Создайте новый ISO-образ:
Используйте следующую команду для создания образа:genisoimage -untranslated-filenames -volid 'CentOS-7.0-KS-x86_64' -J -joliet-long -rational-rock -translation-table -input-charset utf-8 -x ./lost+found -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -eltorito-alt-boot -e images/efiboot.img -no-emul-boot -o /work/centos7-kickstart.iso -T /work/kickstart
-
Сделайте образ Hybrid (гибридным):
isohybrid -u /work/centos7-kickstart.iso
-
Проверьте получившийся ISO-образ:
Убедитесь, что вы можете запускаете его с помощью виртуальной машины или USB-накопителя.
Потенциальные проблемы
- Неправильная конфигурация файла Kickstart: Убедитесь, что пути в вашем Kickstart-файле правильные и соответствуют вашей системе.
- Ошибки при копировании файлов: Убедитесь, что все необходимые файлы были правильно скопированы из исходного ISO.
- Устаревшие параметры конфигурации bootloader: Убедитесь, что параметры в
isolinux.cfg
корректные и соответствуют новым версиям программного обеспечения.
Заключение
Создание ISO-образа с Kickstart для CentOS 7 может показаться непростой задачей, но следуя указанным шагам и внимательно проверяя конфигурацию, вы сможете успешно решить проблему. Если проблема сохраняется, стоит проверить логи загрузки на наличие других указаний на возможные ошибки.