PXE inicializa CDs recentes do Ubuntu

2

Tenho tido problemas com os CDs recentes do Ubuntu que tentam arrancar deles via PXE. Meu objetivo final é reconstruir uma antiga caixa diskless do Ubuntu 9.04 usando o novo build do Ubuntu 12.04.4.

Ao tentar inicializar o que acredito ser uma boa configuração, estou recebendo uma saída semelhante à seguinte:

Loading .../vmlinuz......

// --- lotsa good boot-up stuff ---

Begin: Running /scripts/init-premount ... done.
Begin: Mounting root file system ... Begin: Running /scripts/casper-premount     ...
 [    6.336295] pcnet32 0000:02:01.0: eth0: link up
done.
done.
IP-Config: eth0 hardware address xx:xx:xx:xx:xx:xx mtu 1500 DHCP RARP
IP-Config: no response after 2 secs - giving up
IP-Config: eth0 hardware address xx:xx:xx:xx:xx:xx mtu 1500 DHCP RARP
IP-Config: no response after 3 secs - giving up
IP-Config: eth0 hardware address xx:xx:xx:xx:xx:xx mtu 1500 DHCP RARP
IP-Config: no response after 4 secs - giving up
IP-Config: eth0 hardware address xx:xx:xx:xx:xx:xx mtu 1500 DHCP RARP
IP-Config: no response after 6 secs - giving up
IP-Config: eth0 hardware address xx:xx:xx:xx:xx:xx mtu 1500 DHCP RARP
IP-Config: no response after 9 secs - giving up
IP-Config: eth0 hardware address xx:xx:xx:xx:xx:xx mtu 1500 DHCP RARP
IP-Config: no response after 16 secs - giving up
IP-Config: eth0 hardware address xx:xx:xx:xx:xx:xx mtu 1500 DHCP RARP
IP-Config: no response after 25 secs - giving up
IP-Config: eth0 hardware address xx:xx:xx:xx:xx:xx mtu 1500 DHCP RARP
IP-Config: no response after 36 secs - giving up
IP-Config: eth0 hardware address xx:xx:xx:xx:xx:xx mtu 1500 DHCP RARP
IP-Config: no response after 64 secs - giving up
IP-Config: eth0 hardware address xx:xx:xx:xx:xx:xx mtu 1500 DHCP RARP

Eu originalmente segui as etapas aqui . Atualmente tenho o seguinte:

  • Um roteador executando o Tomato 1.21 (sim, eu sei que é antigo)
  • Uma caixa contendo o servidor TFTP e os arquivos do live CD (endereço IP 192.168.x.y)

O roteador tem uma configuração personalizada do Dnsmasq contendo as seguintes linhas mostradas abaixo:

dhcp-no-override
dhcp-boot=pxelinux.0,,192.168.x.y

Com essas configurações, quando quero adicionar algo novo à minha coleção PXE, coloco alguns arquivos em determinados locais, adiciono linhas a determinados arquivos de configuração e, em seguida, estou pronto para inicializar minha caixa de destino.

Já fiz isso no passado para várias situações de inicialização, incluindo:

  • Backtrack 4r2 i386
  • Debian Lenny, Squeeze e Wheezy
  • Maldito Linux Pequeno
  • Fedora 18
  • Vários live CDs antigos do Ubuntu
  • Várias instalações antigas do Ubuntu

Meu processo atual para adicionar um novo CD ao vivo do Ubuntu é o seguinte:

  1. Monte o CD ao vivo como uma imagem ISO.
  2. Copie todos os arquivos da imagem ISO para o disco rígido.
  3. Copie os arquivos vmlinuz e initrd.lz do conteúdo ISO para a área acessível pelo servidor TFTP.
  4. Reconstrua o initrd.lz para suportar a inicialização PXE modificando initramfs.conf e, em seguida, executando update-initramfs dentro do chroot:
    • MODULES = netboot
    • BOOT = nfs
    • NFSROOT = 192.168.x.y: / caminho / para / extraído / iso / contents
    • DEVICE = eth0 // não fez isso antes, tentando agora como descrito aqui devido a problemas, mas ainda sem dados; só tem um único NIC de qualquer maneira
  5. Adicionar item ao boot.txt no servidor TFTP.
  6. Adicione linhas ao arquivo no diretório pxelinux.cfg.

Depois de fazer isso, posso reiniciar. Para experimentá-lo, tenho usado uma máquina virtual VMware Player básica sem disco rígido, sem unidade de CD-ROM e sem unidade de disquete. Tudo o que faz é inicializar a partir do PXE.

No passado, isso funcionou maravilhosamente, e então eu posso desligar e inicializar minha caixa física desejada via PXE da mesma forma.

Eu não consegui inicializar os últimos CDs vivos do Ubuntu dessa forma porque recebo a mensagem mostrada acima:

no response after xx secs - giving up' message

Por fim, montei o ISO diretamente na VM VMware e instalei o Ubuntu diretamente em uma VM. Uma vez que tive isso, criei uma imagem sem disco montando o disco rígido e copiando o conteúdo similar aos Passos 1 e 2 acima, e depois tentando o PXE-boot a partir daí.

Isso já funcionou antes; no entanto, quando tento fazer isso com minha instalação 12.04, vejo o mesmo sintoma do meu live CD 12.04:

no response after xx secs - giving up

Eu tentei this ; não funcionou. Aqui estão as minhas linhas pxelinux.cfg / default antigas e novas:

label ubuntu_12.04.4-desktop-i386
         kernel /ubuntu/12.04.4-desktop-i386/vmlinuz nosplash
#         append boot=casper netboot=nfs nfsroot=192.168.0.99:/path/to/ubuntu-12.04.4-desktop-i386 initrd=/ubuntu/12.04.4-desktop-i386/initrd.lz
         append boot=nfs root=/dev/nfs nfsroot=192.168.0.99:/path/to/ubuntu-12.04.4-desktop-i386 initrd=/ubuntu/12.04.4-desktop-i386/initrd.lz

Eu apreciaria qualquer ideia que alguém tenha.

Obrigado.

    
por jia103 26.02.2014 / 04:18

4 respostas

2

Eu tive o mesmo problema ontem em um servidor Maxdata. Problema semelhante que você teve, é por isso que encontrei sua pergunta.

Meu servidor foi iniciado e depois de algum tempo ele despejou muitas dessas mensagens IP-Config: no response after xx secs - giving up e levou a um pânico no kernel após cerca de três minutos. Passo quase um dia inteiro tentando resolver esse problema, mas não encontrei nenhuma solução direta.

O problema é que há duas chamadas DHCP: uma na inicialização (logo antes do PXE entrar) que funciona e outra no ponto em que ambos os nós pararam de inicializar. O segundo pedido é menor que o primeiro não é respondido pelo dnsmasq por motivo desconhecido.

Basicamente, você pode tentar abordagens diferentes:

Use um dispositivo de rede diferente: Eu usei um servidor real com dois NICs físicos. Mudar para a segunda interface de rede resolveu imediatamente o meu problema.

Tenho que admitir que não sou especialista em máquinas virtuais, mas o Oracle VM VirtualBox Manager permite que eu instale até 4 dispositivos de rede distintos na VM, enquanto é possível até mesmo alterar o tipo de adaptador. Não deixe de brincar um pouco com as configurações, pois minha configuração não permite que algo seja testado aqui.

Se isso não funcionar, modifique seu default config-file para usar explicitamente o DHCP para configuração de rede :

label ubuntu_12.04.4-desktop-i386
     kernel /ubuntu/12.04.4-desktop-i386/vmlinuz nosplash
     append boot=nfs root=/dev/nfs nfsroot=192.168.0.99:/path/to/ubuntu-12.04.4-desktop-i386 initrd=/ubuntu/12.04.4-desktop-i386/initrd.lz ip=:<server-ip>::::eth0:dhcp rw live-netdev=eth0 ethdevice-timeout=10

Lembre-se de inserir <server-ip> .

No entanto, se essas soluções não funcionarem para você, você poderá mudar para IPs estáticos:

label ubuntu_12.04.4-desktop-i386
     kernel /ubuntu/12.04.4-desktop-i386/vmlinuz nosplash
     append boot=nfs root=/dev/nfs nfsroot=192.168.0.99:/path/to/ubuntu-12.04.4-desktop-i386 initrd=/ubuntu/12.04.4-desktop-i386/initrd.lz ip=<client-ip>:<server-ip>:<gw-ip>:<netmask>:<hostname>:<device>:static rw live-netdev=eth0 ethdevice-timeout=10

Você terá que criar um arquivo de configuração adicional para cada cliente (a inicialização do PXE deve mostrar quais arquivos ele está procurando no momento da inicialização).

    
por MrD 29.03.2014 / 17:48
0

Este é um bug no ipconfig não implementando o padrão DHCP corretamente

solução rápida ver / obter Serva feita INITRD_N11.GZ que inclui um ipconfig já fixo (estou relacionado ao desenvolvimento de serva)

link

    
por Pat 31.07.2014 / 16:13
0

Eu sei que essa é uma pergunta antiga, mas ela também me mordeu.

Se você tiver vários NICs, isso pode ser causado pelo fato do Linux escolher um que não esteja conectado. A nomeação de dispositivos de rede foi retrabalhada, e isso provavelmente entrou em vigor entre a versão que você estava usando e a que você estava usando.

No entanto, não tenho certeza se a renomeação pode ter afetado você, já que aparentemente você não inicializou com

ip=nicname
    
por Mark 22.04.2015 / 21:40
0

Este problema parece ser reproduzível em dispositivos com várias interfaces de rede Como solução alternativa, tente adicionar 'IPAPPEND 2' ao seu arquivo de configuração 'padrão' na pasta pxelinux.cfg

link

    
por Stas 05.04.2016 / 16:39