Создание ISO образа CentOS 7 с использованием kickstart не работает как ожидалось

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

Я хочу создать 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. Шаги
таковы:

  1. получите ISO-образ CentOS 7

  2. mount -o loop CentOS-7.0*.iso /mnt/

  3. mkdir -p /CentOS-7-ISO-respin/{CentOS-7-unpacked,CentOS-7-iso}

  4. rsync -avz /mnt/ /CentOS-7-ISO-respin/RHEL-7-unpacked

  5. поместите ваш файл kickstart в /CentOS-7-ISO-respin/RHEL-7-unpacked

  6. добавьте новую строку в /CentOS-7-ISO-respin/RHEL-7-unpacked/isolinux/isolinux.cfg (так
    вы также можете использовать ISO с DVD) label linux_ks menu label
    ^Установить CentOS 7 с Kickstart kernel vmlinuz append
    initrd=initrd.img inst.stage2=hd:sdb2:/ ks=hd:sdb1:/ks.cfg

  7. создайте 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

  8. 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

  1. Смонтируйте оригинальный ISO-образ:

    mkdir /tmp/iso
    mount /work/CentOS-7-x86_64-Minimal-1503-01.iso /tmp/iso -o loop
  2. Скопируйте файлы в новую директорию:

    mkdir /work/kickstart
    rsync -avz /tmp/iso/ /work/kickstart/
  3. Добавьте файл Kickstart:
    Разместите ваш файл ks.cfg в каталоге /work/kickstart. Убедитесь, что он содержит правильные пути и параметры.

  4. Обновите конфигурацию 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
  5. Создайте новый 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
  6. Сделайте образ Hybrid (гибридным):

    isohybrid -u /work/centos7-kickstart.iso
  7. Проверьте получившийся ISO-образ:
    Убедитесь, что вы можете запускаете его с помощью виртуальной машины или USB-накопителя.

Потенциальные проблемы

  • Неправильная конфигурация файла Kickstart: Убедитесь, что пути в вашем Kickstart-файле правильные и соответствуют вашей системе.
  • Ошибки при копировании файлов: Убедитесь, что все необходимые файлы были правильно скопированы из исходного ISO.
  • Устаревшие параметры конфигурации bootloader: Убедитесь, что параметры в isolinux.cfg корректные и соответствуют новым версиям программного обеспечения.

Заключение

Создание ISO-образа с Kickstart для CentOS 7 может показаться непростой задачей, но следуя указанным шагам и внимательно проверяя конфигурацию, вы сможете успешно решить проблему. Если проблема сохраняется, стоит проверить логи загрузки на наличие других указаний на возможные ошибки.

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

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