Instalacja Kickstart z USB - lokalizacja Kickstart


12

Po tym, jak udało mi się pomyślnie odbudować Fedorę ISO (dla pamięci USB) po dodaniu pliku kickstart ( /server/548405/ ), mam teraz problem z lokalizacją pliku kickstart na nośniku USB .

Gdy zrobisz to z CD-ROM-a, możesz po prostu uruchomić, dodając ten parametr do bootowania:

linux ks=cdrom

Spowoduje to uruchomienie (pod warunkiem, że plik kickstart ma nazwę ks.cfg i znajduje się w katalogu głównym dysku).

Teraz oczywiście będzie inaczej w przypadku napędu USB, więc na podstawie moich badań założyłem, że ta linia wykona zadanie:

linux ks=hd:sdb1:/ks.cfg

Oczywiście to nie działa. Otrzymuję błąd informujący, że ten dysk jest już zamontowany i nie można go ponownie zamontować.

EDYCJA: Rzeczywisty komunikat o błędzie:

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

Aby sprawdzić, czy składnia jest poprawna, umieściłem plik kickstart na innej pamięci USB i załadowałem to samo polecenie, aby pobrać ks.cfg z nowej lokalizacji:

linux ks=hd:sdc1:/ks.cfg

Działa to (pod warunkiem, że pamięci USB są montowane w kolejności, boot -> sdb1, kickstart -> sdc1). Instalacja rozpocznie się i zakończy instalację bez problemu. Oczywiście korzystanie z 2 pendriveów jest nieco frustrujące i zawodne.

Czy jest na to jakiś sposób?


Państwo nie spróbować ks=cdrom, prawda?
Michael Hampton

Tak, zrobiłem, ale nie można znaleźć pliku kickstart.
dooffas,

próbowałeś linux ks = hd: sbd1 / ks.cfg?
Archemar

Kroki opisane tutaj to te, których użyłem do zbudowania mojego klucza USB.
Vitalii

Odpowiedzi:


4

Próbowałem już wszystkiego, ale tylko to wydaje się działać: umieść ks.cfg w initrd. Więc poniższe kroki wyodrębnij initrd, dodaj tam ks.cfg i utwórz go ponownie. Testowane z CentOS7

Najpierw zamontuj oryginalny obraz .iso na komputerze i skopiuj jego zawartość pod tmp /

Następnie,

#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

Następnie kontynuuj tworzenie obrazu w zwykły sposób:

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

Jest to bardzo podobne do tego, co zrobiłem w powiązanym artykule (Odbuduj Fedorę 19 ISO dodając Kickstart do instalacji USB). Dzięki za odpowiedź.
dooffas

7

Udało mi się to rozwiązać, wykonując następujące czynności:

  • Umieść plik kickstart na górze isolinuxkatalogu i upewnij się, że ma on nazwęks.cfg
  • mój isolinux.cfgplik wygląda następująco:

    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
    

Użycie etykiety dysku podczas odwołania ks.cfgpowoduje, że powstały obraz ISO jest bardziej przenośny. (może zmienić się w rozruchowy dysk USB)


2

Moją ulubioną metodą jest użycie UUID, ponieważ jest stabilny.

Używam dwóch pendrive, pierwszy z CentOS, drugi z kickstart. Po zapisaniu kickstartu na drugim pendrivie sprawdzam jego UUID w Linuksie za pomocą polecenia blkid: / dev / sdg1: UUID = "885E: 0BD1" TYPE = "vfat"

A potem używam go na stronie instalacyjnej: ks = hd: UUID = 885E: 0BD1: /ks.cfg

To naprawdę działa!


Stabilny bu nieprzenośny
Ricardo Cristian Ramirez

1

Musisz wskazać na / sda1, ponieważ kiedy uruchamiasz z USB sda to USB, sdb to pierwszy dysk twardy i tak dalej


nie, nie zawsze tak jest.
sivann

0

Teraz masz na dysku USB jedną partycję o rozmiarze obrazu ISO. Po prostu utwórz kolejną partycję na pamięci USB, korzystając z wolnego miejsca, sformatuj ją i umieść tam swoje pliki kickstart.

UPD: spróbuj fdisk, ponieważ partedwydaje się, że nie działa ta sprawa.

UPD1: ISO należy odbierać za pomocą Xorriso

UPD2: patrz https://serverfault.com/a/551307/134234


Próbowałem również tego, proszę zobaczyć mój inny post: serverfault.com/questions/549158
dooffas

@dooffas Widziałem to, nie miałeś szczęścia z gparted. Czy naprawdę próbowałeś fdisk? Odtworzyłem twoją skrzynkę z woluminem lvm i przynajmniej fdisk pomyślnie utworzył drugą partycję.
Veniamin,

Próbowałem fdisk, jednak nie odczytuje poprawnie tablicy partycji. Uważa, że ​​partycja zawierająca obraz Fedory zajmuje prawie 8 GB, co nie jest prawdą. Wygląda na to, że zapis obrazu Fedory na dysku powoduje uszkodzenie tablicy partycji.
dooffas,

@dooffas Przepraszam, w moim laboratorium odtworzyłem iso z Xorriso, ale zapomniałem o tym pamiętać. Proszę znaleźć moje aktualizacje.
Veniamin,

to nie działa. nawet po utworzeniu partycji cały dysk jest instalowany przez instalatora, a partycji nie można używać.
sivann
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.