Instalação do Kickstart via USB - local do Kickstart

12

Depois de conseguir que um ISO do Fedora seja reconstruído com sucesso (para um pendrive) depois de adicionar um arquivo de kickstart ( /server/548405/ ), agora tenho um problema ao localizar o arquivo de kickstart na mídia USB .

Quando isso é feito a partir de um CD-ROM, você pode simplesmente kickckstart adicionando este parâmetro à inicialização:

linux ks=cdrom

Isso inicia o kickstart (desde que o arquivo do kickstart seja denominado ks.cfg e esteja na raiz do disco).

Agora, obviamente, isso será diferente para a unidade USB; portanto, de minha pesquisa, presumi que esta linha faria o trabalho:

linux ks=hd:sdb1:/ks.cfg

Evidentemente isso não funciona. Recebo um erro ao informar que esta unidade já está montada e não pode ser remontada.

EDIT: Mensagem de erro real:

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

Para testar se a sintaxe estava correta, coloquei o arquivo kickstart em outro pendrive e carreguei o mesmo comando para pegar o ks.cfg no novo local:

linux ks=hd:sdc1:/ks.cfg

Isso funciona (desde que os pendrives sejam montados em ordem, boot -> sdb1, kickstart -> sdc1). A instalação iniciará e concluirá a instalação sem problemas. Obviamente, ter que usar 2 pen drives é um tanto frustrante e não confiável.

Existe uma maneira de contornar isso?

dooffas
fonte
Você fez tentativa ks=cdrom, certo?
Michael Hampton
Sim, eu fiz, mas ele não encontra o arquivo do kickstart.
Dooffas
você tentou linux ks = hd: sbd1 / ks.cfg?
Archemar
As etapas descritas aqui são as que eu usei para construir minha chave USB.
Vitalii 15/09/17

Respostas:

4

Eu tentei de tudo, mas apenas isso parece funcionar: coloque o ks.cfg dentro do initrd. Portanto, as etapas abaixo extraem o initrd, adicione o ks.cfg e recrie-o. Testado com o CentOS7

Primeiro monte a imagem .iso original no seu PC e copie seu conteúdo em tmp /

Então,

#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

Em seguida, continue criando a imagem como de costume:

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
fonte
É o mesmo que fiz no artigo vinculado (Reconstrua o ISO do Fedora 19 adicionando o Kickstart para instalação via USB). Obrigado pela sua resposta.
Dooffas 16/04
7

Consegui resolver isso fazendo o seguinte:

  • Coloque o arquivo kickstart na parte superior do isolinuxdiretório e verifique se ele está nomeadoks.cfg
  • meu isolinux.cfgarquivo fica assim:

    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
    

O uso da etiqueta da unidade ao fazer referência ks.cfgtorna a imagem ISO resultante mais portátil. (pode ser transformado em uma unidade USB inicializável)

Kelly Brasil
fonte
2

Meu método favorito é usar o UUID, porque é estável.

Eu uso dois pendrive, primeiro com o CentOS, segundo com kickstart. Depois de salvar um kickstart no segundo pendrive, verifico seu UUID no linux com o comando blkid: / dev / sdg1: UUID = "885E: 0BD1" TYPE = "vfat"

E depois disso eu o uso na página de instalação: ks = hd: UUID = 885E: 0BD1: /ks.cfg

Realmente funciona!

Przemyslaw Tarnawski
fonte
Bu estável não portátil
Ricardo Cristian Ramirez
1

Você precisa apontar para / sda1 porque, quando você inicializa a partir do USB, sda é o USB, sdb é o primeiro disco rígido e assim por diante

David Sarmiento
fonte
não, nem sempre é assim.
sivann
0

Agora você tem uma partição no pen drive do tamanho da imagem ISO. Basta criar outra partição no pendrive usando o espaço restante, formatá-lo e colocar seus arquivos de kickstart lá.

UPD: tente fdisk, pois partedparece não estar funcionando neste caso.

UPD1: iso deve ser repetido com xorriso

UPD2: consulte /server//a/551307/134234

Veniamin
fonte
Eu também tentei isso, veja meu outro post: serverfault.com/questions/549158
dooffas
@dooffas eu vi, você não teve sorte com gparted. Você realmente tentou o fdisk? Recriei o seu caso com o volume lvm e pelo menos o fdisk criou a segunda partição com sucesso.
Veniamin
Eu tentei o fdisk, no entanto, ele não lê a tabela de partição corretamente. Ele acha que a partição que contém a imagem do Fedora ocupa quase 8 GB, o que não é verdade. Parece que a gravação da imagem do fedora na unidade corrompe a tabela de partição.
Dooffas
@dooffas Desculpe, no meu laboratório, recriei o iso com xorriso, mas esqueci de anotá-lo. Encontre minhas atualizações.
Veniamin
isso não funciona. mesmo após a criação de partições, todo o disco é montado pelo instalador e as partições não podem ser usadas.
sivann