Como posso passar argumentos do kernel via PXE para um ISO de instalador de sistema operacional semelhante ao Ubuntu?

5

Estou em uma situação difícil na qual preciso executar uma instalação remota de um dispositivo QuantaStor (baseado no Ubuntu - hiss ) em hardware com funcionalidade limitada de acesso fora de banda.

O sistema de destino é um servidor HP ProLiant DL180 G6 , que possui um KVM remoto Lights-Out LO100i totalmente licenciado . Este é um grande passo em relação aos processadores de gerenciamento ILO3 ou ILO4. O desafio deste hardware é que as funções de mídia virtual do LO100i não são confiáveis . À medida que as versões Java progrediram, essa OIT se tornou menos útil. No momento, não consigo inicializar o sistema pela mídia remota, mesmo que essa função tenha funcionado bem no passado .

Portanto, meu próximo passo foi tentar inicializar o PXE neste servidor usando a imagem ISO do QuantaStor. Estranhamente, existem várias contas conflitantes sobre como o PXE pode inicializar uma imagem ISO diretamente, sem encadear carregadores de inicialização, etc. Após algumas experiências, descobri que era possível inicializar uma ISO usando memdisko servidor PXE. Como controlo o DNS e o DHCP nesse ambiente, segui a rota padrão de modificação do /etc/dhcpd.confarquivo de configuração para refletir:

# Begin temporary PXE boot
allow booting;
allow bootp;
option option-128 code 128 = string;
option option-129 code 129 = text;
next-server 172.30.27.5;
filename "/pxelinux.0";
# End temporary PXE boot

Para minha configuração do PXE, defino /tftpboot/pxelinux.cfg/defaultcomo:

default menu.c32
prompt 0
timeout 300
ONTIMEOUT local

MENU TITLE PXE Menu

LABEL QuantaStor
        MENU LABEL QuantaStor
        KERNEL memdisk
        APPEND iso initrd=images/osn_quantastor_v3.8.2.5441.iso raw

Juntos, esses recursos permitiram que o sistema iniciasse a inicialização do ISO. Infelizmente, o console do KVM remoto produziu a seguinte saída de vídeo ilegível:

insira a descrição da imagem aqui

A tela de instalação do dispositivo deve ficar assim:

insira a descrição da imagem aqui

Várias reinicializações e após algumas pesquisas básicas, descobri que o KVM remoto LO100 compartilha esse sintoma do buffer de quadros com algumas placas IPMI Supermicro . A solução alternativa é passar vga16fb.modeset=0para os argumentos de inicialização. Isso é exclusivo do Ubuntu ( suspiro ).

Como posso colocar essa declaração na linha de argumento da ISO inicializada pelo PXE?

Onde devo adicionar a declaração?

Tentativas de fazê-lo na linha "APPEND" /tftpboot/pxelinux.cfg/defaultdo parecem não ajudar. As dicas do Ubuntu sugerem adicionar a linha pressionando F6na tela de inicialização ISO. Meu KVM remoto está distorcido por esse ponto e não consigo adicioná-lo manualmente.

Alguma ideia?


Atualizar:

Eu extraí o ISO e modifiquei o arquivo isolinux.cfg para alterar o suporte ao buffer de quadro do instalador na linha APPEND do kernel. O sistema é inicializado e o instalador parece funcionar ... exceto que agora recebo um erro sobre o CD-ROM. Estou assumindo que meu método PXE está incorreto.

Qual é a maneira correta de usar um ISO sobre PXE nesse contexto?

insira a descrição da imagem aqui

ewwhite
fonte

Respostas:

5

Alterar os appendparâmetros desejados definitivamente não ajudará o PXELINUX nessa configuração, pois o disco de inicialização tem seu próprio ISOLINUX lidando com a inicialização do kernel.

Duas maneiras de corrigir isso.

A opção mais simples: extraia o ISO, modifique a linha isolinux/isolinux.cfgdo arquivo appendcom os argumentos de inicialização necessários, reembale o ISO. Tenha a corrente PXELINUX no ISO modificado.

A opção mais complexa (mas possivelmente melhor, pois remove o encadeamento): em vez de usar o memdisk para inicializar no ISO, inicialize diretamente da mesma maneira que o ISOLINUX do ISO faria.

Editar: etapas mais claras para inicializar no SO dentro da ISO:

  • Extraia o ISO para /tftpboot/quantastore
  • Copie o arquivo preseed/quantastor.seeddo ISO extraído para a raiz da web de um serviço HTTP em execução no servidor PXE para que ele esteja disponível emhttp://172.30.27.5/quantastor.seed
  • Altere seu pxelinux.cfg/defaultarquivo para inicializar diretamente no conteúdo extraído da ISO. Remova a corrente LABEL QuantaStore substitua por:

    LABEL QuantaStor
      menu label QuantaStor
      kernel quantastor/install/vmlinuz
      append preseed/url=http://172.30.27.5/quantastor.seed locale=en_US.UTF-8 keyboard-configuration/layoutcode=us initrd=quantastor/install/initrd.gz ramdisk_size=16384 nodmraid acpi=off root=/dev/ram vga16fb.modeset=0 rw quiet
    

Isso deve obter uma instalação bem-sucedida na maior parte, mas os comandos que o QuantaStor executa no final da instalação falharão, pois eles estão procurando diretamente /cdrom. Do quantastor.seedarquivo:

 d-i preseed/late_command string mkdir -p /target/lib/plymouth/themes/quantastor; \
 chroot /target echo "creating package dirs, setting up splash screens" >> /var/log/qs_install.log; \
 mkdir /target/qs-pkgs; \
 mkdir -p /target/qs-pkgs/drivers; \
 mkdir -p /target/opt/osnexus/quantastor/raid-tools; \
 cp /cdrom/finisher/raid-tools/* /target/opt/osnexus/quantastor/raid-tools; \
 cp /cdrom/finisher/deb/*.deb /target/qs-pkgs; \
 cp /cdrom/finisher/qs_preseed.sh /target/qs-pkgs; \
 cp /cdrom/finisher/drivers/* /target/qs-pkgs/drivers; \
 cp /cdrom/finisher/splash/* /target/lib/plymouth/themes/quantastor; \
 cp /cdrom/finisher/osnexus.gpg /target/qs-pkgs; \
 cp /cdrom/finisher/osnexus.list /target/etc/apt/sources.list.d/osnexus.list; \
 cp /cdrom/finisher/rc.local /target/etc/rc.local; \
 cp /cdrom/finisher/qs_runonce.sh /target/etc/qs_runonce.sh; \
 chroot /target /qs-pkgs/qs_preseed.sh

Provavelmente, execute essas coisas manualmente depois que a instalação for concluída pela primeira vez (removendo as /targetcoisas) - se estiver funcionando de outro modo, podemos adaptar esses comandos para colocar as coisas no lugar sem depender do CD da unidade.

Shane Madden
fonte
Hmmm, não sei como converter uma instalação pré-configurada do CDROM para baseada em URL. É para isso que estou encontrando no momento. Estou tentado a refazer a ISO.
precisa saber é
@ewwhite Basta hospedar o arquivo preseed em um servidor HTTP ( preseed/quantastor.seedna ISO) e apontar para ele preseed/urlna sua appendlinha no PXELINUX (depois de apontar para os arquivos kernele initrdda ISO que agora estão na sua raiz TFTP). Mas mexer com o único arquivo na ISO é muito mais simples.
Shane Madden
@whwhite Oh, deixa pra lá, vi sua atualização. Pode ser que o método memdisk não funcione corretamente para este instalador. Acho que talvez tente mexer no método de inicialização direta.
Shane Madden
Alguma idéia de como fazer o PXEboot corretamente de um ISO?
ewwhite
@ewwhite Ver edição, vamos dar um que tente e ver onde ele nos leva ..
Shane Madden
2

Digite "cego"?

Pressione a tecla Enterassim que a seleção de idioma (ilegível) aparecer, pois o tempo limite excede rapidamente.

Em seguida F6, toque em , Escdigite vga16fb.modeset=0e pressione Enter.

Você provavelmente estava perdendo a necessidade de acertar Esclogo depois F6.

Michael Hampton
fonte
Tentei combinar o tempo aqui e fazer isso junto com uma instalação funcional. De alguma forma, acabei em um prompt do Busybox no lado do instalador. A sequência de teclas parece ter sido fechada, mas a tela está tão distorcida que não sei dizer o que está acontecendo. Talvez esteja recebendo uma mensagem / menu diferente do que está aparecendo em uma instalação íntegra.
precisa saber é o seguinte
Eu baixei esse ISO e tentei eu mesmo a fim de escrever esta resposta. Então você definitivamente tem algo muito estranho acontecendo.
Michael Hampton
Quase consigo visualizar alguns dos menus, pois vejo claramente uma caixa com um "OK" e possivelmente outra caixa de diálogo com um "Voltar" e "Avançar". Nada parece progredir, no entanto. Estou impressionado com a bagunça disso nos lados do hardware e do sistema operacional.
ewwhite
Esse é o Ubuntu padrão. Eles não se importam muito em fazer com que o console funcione mesmo em uma ampla variedade de hardware, e muito menos em uma ampla variedade de hardware de servidor ; faz esse tipo de coisa há anos .
Michael Hampton
Então, você está dizendo que o Ubuntu é uma má notícia ?
ewwhite