Installazione kickstart da USB - Posizione kickstart


12

Dopo essere riuscito a ottenere una Fedora ISO da ricostruire correttamente (per una chiavetta USB) dopo aver aggiunto un file kickstart ( /server/548405/ ), ora ho un problema con l'individuazione del file kickstart sul supporto USB .

Quando questo viene fatto da un CD-ROM, puoi semplicemente avviare kickckstart aggiungendo questo parametro all'avvio:

linux ks=cdrom

Questo avvierà (a condizione che il file kickstart sia chiamato ks.cfg e si trovi nella radice del disco).

Ora, ovviamente, questo sarà diverso per l'unità USB, quindi dalla mia ricerca, ho ipotizzato che questa linea avrebbe fatto il lavoro:

linux ks=hd:sdb1:/ks.cfg

Evidentemente questo non funziona. Viene visualizzato un errore che mi informa che l'unità è già montata e non può essere rimontata.

EDIT: messaggio di errore effettivo:

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

Per verificare che la sintassi fosse corretta, ho inserito il file kickstart su un'altra chiavetta USB e ho caricato lo stesso comando per prendere ks.cfg dalla nuova posizione:

linux ks=hd:sdc1:/ks.cfg

Questo funziona (a condizione che le chiavette USB siano montate in ordine, avvia -> sdb1, kickstart -> sdc1). L'installazione si avvierà e completerà l'installazione senza problemi. Ovviamente dover usare 2 pen drive è alquanto frustrante e inaffidabile.

C'è un modo per aggirare questo?


Ci hai provato ks=cdrom, vero?
— Michael Hampton,

Sì, l'ho fatto, ma non trova il file kickstart.
— dooffas

hai provato linux ks = hd: sbd1 / ks.cfg?
— Archemar,

I passaggi descritti qui sono quelli che ho usato per costruire la mia chiave USB.
— Vitalii,

Risposte:


4

Ho provato di tutto, ma solo questo sembra funzionare: metti ks.cfg all'interno di initrd. Quindi i passaggi seguenti estraggono initrd, aggiungi il ks.cfg e ricrealo. Testato con CentOS7

Innanzitutto monta l'immagine .iso originale sul tuo PC e copia il suo contenuto in tmp /

Poi,

#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

Quindi procedere con la creazione dell'immagine come al solito:

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

Questo è più o meno lo stesso che ho fatto nell'articolo collegato (Ricostruisci Fedora 19 ISO aggiungendo Kickstart per l'installazione USB). Grazie per la tua risposta.
— dooffas,

7

Sono stato in grado di risolvere questo problema nel modo seguente:

  • Posiziona il file kickstart nella parte superiore della isolinuxdirectory e assicurati che sia denominatoks.cfg
  • il mio isolinux.cfgfile è simile al seguente:

    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
    

L'uso dell'etichetta dell'unità quando si ks.cfgfa riferimento rende l'immagine ISO risultante più portatile. (può essere trasformato in un'unità USB avviabile)


2

Il mio metodo preferito è usare UUID, perché è stabile.

Uso due pendrive, prima con CentOS, secondo con kickstart. Dopo aver salvato un kickstart sul secondo pendrive, controllo il suo UUID in Linux con il comando blkid: / dev / sdg1: UUID = "885E: 0BD1" TYPE = "vfat"

E dopo lo uso nella pagina di installazione: ks = hd: UUID = 885E: 0BD1: /ks.cfg

Funziona veramente!


Bu stabile non portatile
— Ricardo Cristian Ramirez,

1

Devi puntare a / sda1 perché quando si avvia da USB sda è l'USB, sdb è il primo disco rigido e così via


no, non è sempre così.
— sivann,

0

Ora hai una partizione sulla chiavetta USB delle dimensioni dell'immagine ISO. Basta creare un'altra partizione sulla chiavetta USB usando lo spazio di riposo, formattarlo e posizionare i file kickstart lì.

UPD: prova fdisk, dato che partedsembra non funzionare in questo caso.

UPD1: iso deve essere ripetuto con xorriso

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


Ho anche provato questo, per favore vedi il mio altro post: serverfault.com/questions/549158
— dooffas

@dooffas L'ho visto, non sei stato fortunato con Gparted. Hai davvero provato fdisk? Ho ricreato il tuo caso con volume lvm e almeno fdisk ha creato correttamente la seconda partizione.
— Veniamin,

Ho provato fdisk, tuttavia non legge correttamente la tabella delle partizioni. Pensa che la partizione che contiene l'immagine di Fedora occupi quasi 8 GB, il che non è vero. Sembra che la scrittura dell'immagine fedora sull'unità danneggi la tabella delle partizioni.
— Dooffas,

@dooffas Spiacente, nel mio laboratorio ho ricreato iso con xorriso ma ho dimenticato di annotarlo. Si prega di trovare i miei aggiornamenti.
— Veniamin,

questo non funziona. anche dopo aver creato le partizioni, l'intero disco viene montato dal programma di installazione e le partizioni non possono essere utilizzate.
— sivann,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.