como a pxe boot fedora 25 rescue

1

Por razões além do meu nível de compreensão, parece que não consigo inicializar uma instância de resgate do fedora 25 sobre o pxe. Depois de inúmeras tentativas usando a versão da estação de trabalho, eu reverti para o dvd do servidor, porque no final, a única coisa que eu preciso é inicializar o pxe fedora para trabalhar em minhas partições de disco locais. Infelizmente, sem sorte.

Atualmente, está procurando o significado exato das diferentes palavras-chave na linha de acréscimo. (pxe, grub, ...) na esperança de encontrar a fórmula mágica correta, mas meu googlefu parece me decepcionar também.

Não tendo problemas com outras distros, mas eu gostaria de entender por que o fedora é tão ruim.

, ou seja, no resgate de inicialização centos7 pxe (nfs) é muito fácil:

LABEL c7r
  kernel centos/7/vmlinuz
  append initrd=centos/7/initrd.img method=nfs:192.168.16.252:/pxedev/centos/7 rescue

alguma tentativa no fedora 25:

LABEL f25r
  kernel fedora/25s/vmlinuz
  append initrd=fedora/25s/initrd.img ip=dhcp root=nfs:192.168.16.252:/pxedev/fedora25s/ rescue

A instalação do PXE (nfs) não foi difícil:

LABEL f25ws
  kernel fedora/25/vmlinuz
  append initrd=fedora/25/initrd.img ip=dhcp inst.stage2=nfs:192.168.16.252:/pxedev/fedora25/

Então, eu estou perdendo a informação necessária para o resgate do fedora 25. Para a versão do servidor, eu baixei o dvd: "Fedora-Server-dvd-x86_64-25-1.3.iso" que eu extraí completamente no pasta e pegou o kernel e initramfs do diretório "images / pxeboot".

    
por lievendp 11.03.2017 / 23:11

1 resposta

3

O TL; DR é que você esqueceu de fornecer o parâmetro inst.stage2 para a imagem de resgate. o initrd e o kernel não são suficientes para inicializar o Fedora no modo de recuperação, ele requer o segundo estágio do Anaconda. Substitua sua coisa root=nfs por inst.stage2=nfs:192.168.16.252:/pxedev/fedora25/ e você deve ir para as corridas.

Resposta mais longa:

A inicialização via PXE é um desafio, já que requer muitas partes móveis:

  1. Servidor DHCP capaz de distribuir o parâmetro do próximo servidor.
  2. Um servidor TFTP em funcionamento
  3. Cópias da imagem do kernel e do ramdisk inicial
  4. Servidor HTTP funcional que serve o conteúdo da imagem ISO montada (o NFS pode ser usado como uma alternativa)

O que segue é como eu faço funcionar.

Instalação de software

dnf -y install dhcp-server tftp-server httpd syslinux-tftpboot

Seção do ISC DHCPd

n.b .: YMMV com outros servidores DHCP.

O parâmetro next-server é o IP do seu servidor TFTP.

Subnet 192.168.0.0 netmask 255.255.255.0 { 
     range 192.168.0.100 192.168.0.200;
     option routers 192.168.0.1;
     class "pxeclients" {
            match if substring (option vendor-class-identifier, 0, 9) = "PXEClient";
            next-server 192.168.0.2;
            filename "pxelinux.0";
    }
}

seção TFTPd

O Fedora coloca a raiz TFTP em /var/lib/tftpboot , que é onde você precisa criar alguns diretórios para conter suas imagens de inicialização e configuração de pxe.

Eu costumo fazer meus subdiretórios algo assim: $OSVER/$ARCH para que eu possa ter várias versões do Fedora PXE inicializáveis a qualquer momento.

Depois, como você, copio os arquivos initrd e vmlinuz do diretório images/pxelinux da imagem ISO para os subdiretórios apropriados para o tftpboot.

Em seguida, no diretório tftpboot, crie um diretório chamado pxelinux.cfg . Dentro deste diretório, você criará seu arquivo de configuração, chamado default . Neste arquivo, você produzirá entradas semelhantes a esta:

default vesamenu.c32
prompt 0
timeout 100
label local
  menu label Boot from ^local drive
  localboot 0xffff
label f25_x86_64
  menu label Fedora 25 x86_64 (Generic)
  kernel f25/x86_64/vmlinuz
  append initrd=f25/x86_64/initrd.img repo=http://192.168.0.2/os/fedora/25/x86_64/ ks=http://192.168.0.2/ks/f25-x86_64-ks.cfg
label f25_rescue
  menu label Fedora 25 ^Rescue Mode
  kernel f25/x86_64/vmlinuz
  append initrd=f25/x86_64/initrd.img inst.stage2=http://192.168.0.2/os/fedora/25/x86_64 rescue

As imagens do estágio 2 são grandes o suficiente para que entregá-las sobre o PXE seja ocasionalmente problemático, então eu as entrego através de HTTP.

Em seguida, você desejará mover todos os arquivos *.c32 de /tftpboot/ para /var/lib/tftpboot , pois o syslinux-tftpboot não está ciente do diretório raiz diferente do servidor tftp por algum motivo.

seção HTTPD

Obtenha a imagem ISO disponível via HTTPD:

A maneira mais fácil de fazer isso é mkdir /var/www/html/os/fedora/$FEDORAVERSION/$ARCH e, em seguida, mount -o loop,uid=48,gid=48,mode=0755 /path/to/fedora-server.iso /var/www/html/os/fedora/$FEDORAVERSION/$ARCH

Uma vez que todos os daemons estejam configurados e habilitados, boom, simplesmente funciona.

Se você quiser inicializar o Fedora 27, você pode basicamente sed -r -e s/25/27/g em todas as configurações acima, e isso funcionará.

    
por 15.02.2018 / 06:34

Tags