Soluzione 1:
Sono stato in grado di risolvere questo problema facendo quanto segue:
- Posiziona il file kickstart in cima a
isolinux
directory e assicurati che sia denominataks.cfg
-
il mio
isolinux.cfg
il file ha questo aspetto: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
Utilizzo dell'etichetta dell'unità quando si fa riferimento a ks.cfg
rende l'immagine iso risultante più portabile. (può trasformarsi in un'unità USB avviabile)
Soluzione 2:
Ho provato di tutto, ma solo questo sembra funzionare:inserisci ks.cfg all'interno di initrd. Quindi i passaggi seguenti estraggono initrd, aggiungono ks.cfg e lo ricreano. Testato con CentOS7
Per prima cosa monta l'immagine .iso originale sul tuo pc, e copiane il contenuto sotto 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 procedi 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 ..
Soluzione 3:
Il mio metodo preferito è usare l'UUID, perché è stabile.
Uso due pendrive, la prima con CentOS, la seconda con kickstart. Dopo aver salvato un kickstart sulla seconda 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 davvero!