Установка кикстарта с USB - расположение кикстарта

12

После успешного получения Fedora ISO (для USB-накопителя) после добавления файла кикстарта ( /server/548405/ ) у меня возникла проблема с поиском файла кикстарта на USB-носителе. ,

Когда это сделано с CDROM, вы можете просто запустить Kickstart, добавив этот параметр для загрузки:

linux ks=cdrom

Это запустит кикстарт (при условии, что файл кикстарта называется ks.cfg и находится в корне диска).

Теперь, очевидно, это будет отличаться для USB-накопителя, поэтому из моего исследования я предположил, что эта линия выполнит свою работу:

linux ks=hd:sdb1:/ks.cfg

Очевидно, это не работает. Я получаю сообщение об ошибке, сообщающее, что этот диск уже смонтирован и не может быть перемонтирован.

РЕДАКТИРОВАТЬ: фактическое сообщение об ошибке:

mount: /dev/sdb1 is already mounted or /run/install/tmpmnt0 busy
Warning: Can't get kickstart from /dev/sdb1:/ks.cfg

Чтобы проверить правильность синтаксиса, я поместил файл кикстарта на другой USB-накопитель и загрузил ту же команду, чтобы получить файл ks.cfg из нового места:

linux ks=hd:sdc1:/ks.cfg

Это работает (при условии, что USB-флешки смонтированы по порядку, boot -> sdb1, kickstart -> sdc1). Установка запустится и завершит установку без проблем. Очевидно, что использование двух перьевых дисков несколько разочаровывает и ненадежно.

Это можно обойти?

dooffas
источник
Вы сделали попытку ks=cdrom, правда?
Майкл Хэмптон
Да, я сделал, но он не находит файл кикстарта.
Dooffas
вы пробовали linux ks = hd: sbd1 / ks.cfg?
Archemar
Шаги, изложенные здесь, являются теми, которые я использовал для создания своего USB-ключа.
Виталий

Ответы:

4

Я попробовал все, но только это, кажется, работает: поместите ks.cfg в initrd. Таким образом, приведенные ниже шаги извлекают initrd, добавляют туда файл ks.cfg и воссоздают его. Протестировано с CentOS7

Сначала смонтируйте оригинальный образ .iso на вашем компьютере и скопируйте его содержимое в tmp /

Потом,

#Keep the original file
cp -ai tmp/isolinux/initrd.img initrd.img.orig
mkdir irmod
cd irmod

#Extract initrd in irmod/
xz -d < ../tmp/isolinux/initrd.img | cpio --extract --make-directories --no-absolute-filenames

#Add the ks.cfg in there
cp ../tmp/ks.cfg .

# Recreate the initrd.img inside isolinux/
find . | cpio -H newc --create | xz --format=lzma --compress --stdout > ../tmp/isolinux/initrd.img

#cleanup
cd ..
rm -r irmod

# Add  ks=file:/ks.cfg to the boot parameters in isolinux.cfg. you can do it by hand, this is an example for our own isolinux.cfg
sed -s -i 's|ks=.*ks\.cfg ksdevice=link|ks=file:/k1.cfg|' ../tmp/isolinux/isolinux.cfg ../isolinux.cfg

Затем приступите к созданию изображения как обычно:

cd tmp/

imgname="inaccess-centos7-ks1-v1.iso"
xorriso -as mkisofs -R -J -V "CentOS 7 x86_64" -o "../${imgname}" \
        -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4  \
        -boot-info-table -isohybrid-mbr /usr/share/syslinux/isohdpfx.bin .
cd ..
sivann
источник
Это почти то же самое, что я делал в связанной статье (Перестройте Fedora 19 ISO, добавив Kickstart для установки через USB). Спасибо за ваш ответ.
Dooffas
7

Я смог решить эту проблему, выполнив следующие действия:

  • Поместите файл кикстарта вверху isolinuxкаталога и убедитесь, что он названks.cfg
  • мой isolinux.cfgфайл выглядит так:

    label linux
      menu label ^Install CentOS 7
      kernel vmlinuz
      append initrd=initrd.img inst.ks=hd:LABEL=CentOS\x207\x20x86_64:/isolinux/ks.cfg inst.stage2=hd:LABEL=CentOS\x207\x20x86_64 quiet
    

Использование метки диска при обращении ks.cfgделает полученный ISO-образ более переносимым. (может превратиться в загрузочный USB-накопитель)

Келли Бразилия
источник
2

Мой любимый метод - использовать UUID, потому что он стабилен.

Я использую два pendrive, первый с CentOS, второй с кикстартом. После сохранения кикстарта на втором pendrive я проверяю его UUID в linux с помощью команды blkid: / dev / sdg1: UUID = "885E: 0BD1" TYPE = "vfat"

И после этого я использую его на странице установки: ks = hd: UUID = 885E: 0BD1: /ks.cfg

Это действительно работает!

Пшемыслав Тарнавский
источник
Стабильный бу не переносимый
Рикардо Кристиан Рамирес
1

Вы должны указать на / sda1, потому что при загрузке с USB sda - это USB, sdb - первый жесткий диск и т. Д.

Дэвид Сармьенто
источник
нет, это не всегда так.
Сиванн
0

Теперь у вас есть один раздел на USB-накопителе размером с ISO-образ. Просто создайте другой раздел на USB-накопителе, используя оставшееся пространство, отформатируйте его и поместите туда файлы кикстарта.

UPD: попробуй fdisk, так как partedпохоже не работает этот случай.

UPD1: iso должен быть отменен с помощью xorriso

UPD2: см. Https://serverfault.com/a/551307/134234

Вениамин
источник
Я также попробовал это, пожалуйста, смотрите мой другой пост: serverfault.com/questions/549158
dooffas
@dooffas Я видел это, тебе не повезло с gparted. Вы действительно пробовали fdisk? Я воссоздал ваш случай с lvm volume и, по крайней мере, fdisk создал второй раздел успешно.
Вениамин
Я попытался fdisk, однако он не читает таблицу разделов правильно. Он считает, что раздел с изображением Fedora занимает почти 8 ГБ, что не соответствует действительности. Похоже, что запись образа fedora на диск повреждает таблицу разделов.
Dooffas
@dooffas Извините, в своей лаборатории я воссоздал iso с помощью xorriso, но забыл это отметить. Пожалуйста, найдите мои обновления.
Вениамин
это не работает даже после создания разделов установщик монтирует весь диск, и разделы использовать нельзя.
Сиванн