Solution 1 :
J'ai pu résoudre ce problème en procédant comme suit :
- Placez le fichier kickstart en haut du
isolinux
répertoire et assurez-vous qu'il est nomméks.cfg
-
mon
isolinux.cfg
le fichier ressemble à ceci :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
Utilisation de l'étiquette de lecteur lors de la référence à ks.cfg
rend l'image iso résultante plus portable. (il peut se transformer en clé USB amorçable)
Solution 2 :
J'ai tout essayé, mais seul cela semble fonctionner :placez le ks.cfg dans l'initrd. Ainsi, les étapes ci-dessous extraient initrd, ajoutez le ks.cfg et recréez-le. Testé avec CentOS7
Montez d'abord l'image .iso d'origine sur votre pc, et copiez son contenu sous tmp/
Ensuite,
#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
Procédez ensuite à la création de l'image comme d'habitude :
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 ..
Solution 3 :
Ma méthode préférée consiste à utiliser l'UUID, car il est stable.
J'utilise deux clés USB, la première avec le CentOS, la seconde avec le kickstart.Après avoir enregistré un kickstart sur la deuxième clé USB, je vérifie son UUID sous Linux avec la commande blkid :/dev/sdg1 :UUID="885E:0BD1" TYPE="vfat"
Et après cela je l'utilise dans la page d'installation :ks=hd:UUID=885E:0BD1:/ks.cfg
Ça marche vraiment !