Installation Kickstart depuis USB - Emplacement Kickstart

12

Après avoir réussi à obtenir une image ISO Fedora pour reconstruire avec succès (pour une clé USB) après avoir ajouté un fichier kickstart ( /server/548405/ ), j'ai maintenant un problème avec la localisation du fichier kickstart sur le support USB .

Lorsque cela est fait à partir d'un CD-ROM, vous pouvez simplement lancer kickckstart en ajoutant ce paramètre au démarrage:

linux ks=cdrom

Cela démarrera (à condition que le fichier de démarrage soit nommé ks.cfg et se trouve à la racine du disque).

Maintenant, évidemment, ce sera différent pour la clé USB, donc d'après mes recherches, j'ai supposé que cette ligne ferait le travail:

linux ks=hd:sdb1:/ks.cfg

Évidemment, cela ne fonctionne pas. Je reçois une erreur m'informant que ce lecteur est déjà monté et ne peut pas être remonté.

EDIT: Message d'erreur réel:

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

Pour tester que la syntaxe était correcte, j'ai placé le fichier kickstart sur une autre clé USB et j'ai chargé la même commande pour récupérer ks.cfg à partir du nouvel emplacement:

linux ks=hd:sdc1:/ks.cfg

Cela fonctionne (à condition que les clés USB soient montées dans l'ordre, démarrage -> sdb1, kickstart -> sdc1). L'installation démarre et termine l'installation sans problème. Il est évident que devoir utiliser 2 clés USB est quelque peu frustrant et peu fiable.

Y a-t-il un moyen de contourner ceci?

dooffas
la source
Vous avez fait essayer ks=cdrom, non?
Michael Hampton
Oui, je l'ai fait, mais il ne trouve pas le fichier kickstart.
dooffas
avez-vous essayé linux ks = hd: sbd1 / ks.cfg?
Archemar
Les étapes décrites ici sont celles que j'ai utilisées pour créer ma clé USB.
Vitalii

Réponses:

4

J'ai tout essayé, mais cela semble fonctionner: mettez le ks.cfg dans l'initrd. Ainsi, les étapes ci-dessous extraient initrd, y ajoutent le ks.cfg et le recréent. 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

Ensuite, continuez à créer 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 ..
sivann
la source
C'est à peu près la même chose que je l'ai fait dans l'article lié (Rebuild Fedora 19 ISO en ajoutant Kickstart pour l'installation USB). Merci pour votre réponse.
dooffas
7

J'ai pu résoudre ce problème en procédant comme suit:

  • Placez le fichier kickstart en haut du isolinuxrépertoire et assurez-vous qu'il est nomméks.cfg
  • mon isolinux.cfgfichier 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
    

L'utilisation de l'étiquette du lecteur lors du référencement ks.cfgrend l'image iso résultante plus portable. (il peut se transformer en une clé USB amorçable)

Kelly Brésil
la source
2

Ma méthode préférée est d'utiliser UUID, car il est stable.

J'utilise deux clés USB, d'abord avec le CentOS, ensuite 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!

Przemyslaw Tarnawski
la source
Bu stable pas portable
Ricardo Cristian Ramirez
1

Vous devez pointer vers / sda1 parce que lorsque vous démarrez à partir d'USB sda est l'USB, sdb est le premier disque dur et ainsi de suite

David Sarmiento
la source
non, ce n'est pas toujours comme ça.
sivann
0

Vous avez maintenant une partition sur la clé USB de la taille de l'image ISO. Créez simplement une autre partition sur la clé USB en utilisant l'espace de repos, formatez-la et placez-y vos fichiers kickstart.

UPD: essayez fdisk, car ne partedsemble pas fonctionner dans ce cas.

UPD1: iso doit être recréé avec xorriso

UPD2: voir /server//a/551307/134234

Veniamin
la source
J'ai également essayé cela, veuillez consulter mon autre article: serverfault.com/questions/549158
dooffas
@dooffas Je l'ai vu, vous n'avez pas eu de chance avec gparted. Avez-vous vraiment essayé fdisk? J'ai recréé votre cas avec un volume lvm et au moins fdisk a créé la deuxième partition avec succès.
Veniamin
J'ai essayé fdisk, mais il ne lit pas correctement la table de partition. Il pense que la partition qui contient l'image Fedora prend près de 8 Go, ce qui n'est pas vrai. Il semble que l'écriture de l'image fedora sur le lecteur corrompt la table de partition.
dooffas
@dooffas Désolé, dans mon laboratoire, j'ai recréé iso avec xorriso mais j'ai oublié de le noter. Veuillez trouver mes mises à jour.
Veniamin
ça ne marche pas. même après la création de partitions, le disque entier est monté par le programme d'installation et les partitions ne peuvent pas être utilisées.
sivann