Установка Kickstart з USB - Місце розташування Kickstart


12

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

Коли це робиться з CDROM, ви можете просто розпочати старт, додавши цей параметр до завантаження:

linux ks=cdrom

Це відкриє старт (за умови, що файл kickstart названий ks.cfg і знаходиться в корені диска).

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

linux ks=hd:sdb1:/ks.cfg

Очевидно, що це не працює. Я отримую помилку, повідомляючи мені, що цей накопичувач уже встановлений і його неможливо змінити.

EDIT: Повідомлення про фактичну помилку:

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

Щоб перевірити правильність синтаксису, я помістив файл kickstart на інший USB-накопичувач і завантажив ту саму команду, щоб схопити ks.cfg з нового місця:

linux ks=hd:sdc1:/ks.cfg

Це спрацьовує (за умови встановлення USB-накопичувачів у порядку, завантаження -> sdb1, kickstart -> sdc1). Інсталяція розпочне старт і завершить встановлення без проблем. Очевидно, що використовувати 2-ручкові накопичувачі - це дещо неприємно і ненадійно.

Чи є шлях до цього?


Ви зробили спробу ks=cdrom, правда?
Майкл Хемптон

Так, я це зробив, але файл не знайдено.
dooffas

ви пробували linux ks = hd: sbd1 / ks.cfg?
Архемар

Дії , описані тут , є ті , які я використовував , щоб побудувати свій ключ 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 ..

Це майже те саме, що я робив у зв'язаній статті (Перебудуйте Fedora 19 ISO, додавши Kickstart для встановлення USB). Дякуємо за Ваш відповідь.
dooffas

7

Мені вдалося вирішити це, зробивши наступне:

  • Розмістіть файл kickstart у верхній частині 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робить отримане ізо-зображення більш портативним. (може перетворитись на завантажувальний USB-накопичувач)


2

Мій улюблений метод - використовувати UUID, оскільки він стабільний.

Я використовую два pendrive, перший із CentOS, другий з kickstart. Після збереження kickstart на другому pendrive я перевіряю його UUID в Linux з командою blkid: / dev / sdg1: UUID = "885E: 0BD1" TYPE = "vfat"

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

Це справді працює!


Стабільний не переносний
Рікардо Крістіан Рамірес

1

Ви повинні вказати на / sda1, тому що при завантаженні з USB sda є USB, sdb - це перший жорсткий диск тощо.


ні, це не завжди так.
sivann

0

Тепер у вас є один розділ на USB-накопичувачі розміру ISO-зображення. Просто створіть інший розділ на USB-накопичувачі, використовуючи простір для відпочинку, відформатуйте його та розмістіть там свої файли kickstart.

UPD: спробуйте fdisk, оскільки, partedздається, ця справа не працює.

UPD1: iso має сприйматися xorriso

UPD2: див. Https://serverfault.com/a/551307/134234


Я також спробував це, будь ласка, дивіться інше моє повідомлення: serverfault.com/questions/549158
dooffas

@dooffas Я бачив це, вам не пощастило з gparted. Ви справді спробували fdisk? Я відтворив ваш випадок з обсягом lvm і принаймні fdisk поспіль створив другий розділ.
Веніямін

Я спробував fdisk, проте він не читає таблицю розділів правильно. Він вважає, що розділ, який містить зображення Fedora, займає майже 8 Гб, що не відповідає дійсності. Здається, що запис зображення Fedora на привід пошкоджує таблицю розділів.
dooffas

@dooffas Вибачте, у своїй лабораторії я відтворив iso з xorriso, але забув це зазначити. Будь ласка, знайдіть мої оновлення.
Веніямін

це не працює. навіть після створення розділів інсталятор змонтує весь диск, і розділи не можна використовувати.
sivann
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.