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

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.


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.


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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.