Kickstart-Installation von USB - Kickstart-Speicherort

12

Nachdem es gelungen ist, eine Fedora-ISO nach dem Hinzufügen einer Kickstart-Datei ( /server/548405/ ) erfolgreich wiederherzustellen (für einen USB-Stick) , habe ich jetzt ein Problem beim Auffinden der Kickstart-Datei auf dem USB-Medium .

Wenn dies von einer CD-ROM aus erfolgt, können Sie einfach einen Kickstart starten, indem Sie diesen Parameter zum Booten hinzufügen:

linux ks=cdrom

Dies führt zu einem Kickstart (vorausgesetzt, die Kickstart-Datei heißt ks.cfg und befindet sich im Stammverzeichnis der Festplatte).

Offensichtlich wird dies für das USB-Laufwerk anders sein. Aus meiner Forschung ging ich davon aus, dass diese Leitung den Job erledigen würde:

linux ks=hd:sdb1:/ks.cfg

Offensichtlich funktioniert das nicht. Ich erhalte eine Fehlermeldung, dass dieses Laufwerk bereits gemountet ist und nicht erneut gemountet werden kann.

EDIT: Aktuelle Fehlermeldung:

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

Um zu testen, ob die Syntax korrekt war, habe ich die Kickstart-Datei auf einem anderen USB-Stick abgelegt und denselben Befehl geladen, um ks.cfg vom neuen Speicherort abzurufen:

linux ks=hd:sdc1:/ks.cfg

Dies funktioniert (vorausgesetzt, die USB-Sticks sind in der richtigen Reihenfolge montiert, boot -> sdb1, kickstart -> sdc1). Die Installation startet und schließt die Installation ohne Probleme ab. Offensichtlich ist die Verwendung von 2 USB-Sticks etwas frustrierend und unzuverlässig.

Gibt es einen Weg, dies zu umgehen?

Dooffas
quelle
Du hast es versucht ks=cdrom, richtig?
Michael Hampton
Ja, das habe ich getan, aber die Kickstart-Datei wird nicht gefunden.
Dooffas
Haben Sie Linux ks = hd: sbd1 / ks.cfg ausprobiert?
Archemar
Die Schritte skizziert hier sind die , die ich verwendet , um meine USB - Stick zu erstellen.
Vitalii

Antworten:

4

Ich habe alles versucht, aber nur das scheint zu funktionieren: Setzen Sie die ks.cfg in die initrd. Mit den folgenden Schritten extrahieren Sie initrd, fügen dort die ks.cfg hinzu und erstellen sie neu. Getestet mit CentOS7

Hängen Sie zuerst das Original-ISO-Image auf Ihren PC ein und kopieren Sie den Inhalt unter tmp /

Dann,

#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

Fahren Sie dann wie gewohnt mit der Erstellung des Bildes fort:

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
quelle
Dies ist ähnlich wie im verlinkten Artikel (Fedora 19 ISO neu erstellen und Kickstart für die USB-Installation hinzufügen). Danke für deine Antwort.
Dooffas
7

Ich konnte dies folgendermaßen lösen:

  • Platzieren Sie die Kickstart-Datei oben im isolinuxVerzeichnis und stellen Sie sicher, dass sie benannt istks.cfg
  • Meine isolinux.cfgDatei sieht folgendermaßen aus:

    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
    

Durch die Verwendung der Laufwerksbezeichnung beim Referenzieren ks.cfgwird das resultierende ISO-Image portabler. (Es kann sich in ein bootfähiges USB-Laufwerk verwandeln.)

Kelly Brazil
quelle
2

Meine Lieblingsmethode ist die Verwendung von UUID, da diese stabil ist.

Ich benutze zwei Pendrive, erstens mit dem CentOS, zweitens mit Kickstart. Nachdem ich einen Kickstart auf dem zweiten Pendrive gespeichert habe, überprüfe ich seine UUID unter Linux mit dem Befehl blkid: / dev / sdg1: UUID = "885E: 0BD1" TYPE = "vfat"

Und danach benutze ich es auf der Installationsseite: ks = hd: UUID = 885E: 0BD1: /ks.cfg

Es funktioniert wirklich!

Przemyslaw Tarnawski
quelle
Stabil, aber nicht tragbar
Ricardo Cristian Ramirez
1

Sie müssen auf / sda1 zeigen, denn wenn Sie von USB booten, ist sda der USB, sdb die erste Festplatte und so weiter

David Sarmiento
quelle
Nein, das ist nicht immer so.
Sivann
0

Jetzt haben Sie eine Partition auf dem USB-Stick mit der Größe des ISO-Images. Erstellen Sie einfach eine weitere Partition auf dem USB-Stick mithilfe des Ruhebereichs, formatieren Sie sie und platzieren Sie Ihre Kickstart-Dateien dort.

UPD: versuchen Sie es fdisk, da parteddieser Fall anscheinend nicht funktioniert.

UPD1: iso muss mit xorriso wiederholt werden

UPD2: siehe /server//a/551307/134234

Veniamin
quelle
Ich habe dies auch versucht, siehe meinen anderen Beitrag: serverfault.com/questions/549158
dooffas
@dooffas Ich habe es gesehen, du hattest kein Glück mit gparted. Hast du fdisk wirklich ausprobiert? Ich habe Ihren Fall mit lvm volume neu erstellt und zumindest fdisk hat die zweite Partition erfolgreich erstellt.
Veniamin
Ich habe fdisk ausprobiert, aber es liest die Partitionstabelle nicht richtig. Es wird angenommen, dass die Partition, die das Fedora-Image enthält, fast 8 GB belegt, was nicht stimmt. Es scheint, dass das Schreiben des Fedora-Images auf das Laufwerk die Partitionstabelle beschädigt.
Dooffas
@dooffas Sorry, in meinem Labor habe ich ISO mit Xorriso neu erstellt, aber vergessen, es zu notieren. Bitte finden Sie meine Updates.
Veniamin
das funktioniert nicht Auch nach dem Erstellen von Partitionen wird die gesamte Festplatte vom Installationsprogramm bereitgestellt, und Partitionen können nicht verwendet werden.
Sivann