28Jun

Como configurar discos de utilidade inicializáveis ​​de rede usando o PXE

Mostramos como a rede inicializa o Ubuntu LiveCD.Neste artigo, mostraremos como fazer outra rede de utilitários redefinível, o que lhe dará o conhecimento para replicar o procedimento para outros utilitários que você esteja usando.

Nota: este artigo não está voltado para iniciantes, embora você continue a ler!

Imagem de Steve Jurvetson

Visão geral

Este guia pretende fornecer as ferramentas com as quais, você poderá converter utilitários, para ser PXEable. Embora, infelizmente, não será possível converter qualquer ferramenta sob o sol, não seríamos geeks se não tentássemos pelo menos.

Como mencionado no guia "How to Network Boot( PXE) Ubuntu LiveCD", se você ainda não estiver usando o Ubuntu como seu número um "vá para" para a solução de problemas, diagnóstico e ferramenta de procedimentos de resgate, o que você está esperando?

Com isso dito, é preciso reconhecer que existem coisas que simplesmente não podem ser feitas no Ubuntu LiveCD( como as atualizações do BIOS), ou que você já está usando uma ferramenta diferente que você gosta e prefere continuar usando por qualquer motivo.

Recomendações, premissas e pré-requisitos

  • Supõe-se que você já configurou o servidor FOG como explicado no guia "O que é Network Booting( PXE) e como você o usa?".
  • Você verá o programa "VIM" usado como editor, principalmente porque está amplamente disponível em plataformas Linux. Você pode usar qualquer outro editor que você gostaria.
  • O Ultimate Boot CD( UBCD) é usado como exemplo, como, ao contrário de algumas outras coleções de utilidade, é gratuito para download e os programas que eles agrupam são de uso gratuito.

Por que não usar apenas ISO sobre PXE?

Esta é a primeira pergunta feita quando se fala sobre PXEing. A resposta curta é que, embora tecnicamente, é possível tirar uma imagem ISO e PXE para as máquinas clientes, quase sempre o conteúdo do referido ISO, esperará ter a manifestação física de si mesma acessível na unidade física de CD-ROM.Portanto, o que o conteúdo do referido ISO pode ser, ele tentará procurar os arquivos "pós-setor de inicialização" na unidade de CD-ROM física da máquina cliente, não os achará e falhará para inicializar.

As duas maneiras de superar este problema são:

  • Gravar o ISO e colocá-lo na unidade de CDROM da máquina cliente - Embora simples, Não usando CDs, é exatamente o que estamos tentando evitar. ..
  • Abra o ISO e altereda maneira como o programa funciona dentro dele, de modo que ele use um driver de CDROM que saiba como procurar o ISO na RAM - Bastante complexo e diferente para cada tipo de programa de inicialização. I.E.não é o mesmo procedimento para Linux, WinPE ou UBCD para mencionar alguns.

Como ambos os anteriores derrotaram o objetivo de "usar apenas um ISO", é por isso que não recomendamos prosseguir esse esforço.

O método Kernel

Embora seja muito raro, às vezes o programa que você tenta inicializar só pode precisar de um Kernel para funcionar. Um exemplo típico disso é "memtest86 +".O Memtest é fornecido com a maioria dos CDs de instalação de distribuição Linux e com o FOG.Como a Memtest só precisa poder se comunicar com as capacidades mais básicas do hardware testado, I.E.a memória( RAM) e pode funcionar perfeitamente sem suportar completamente o hardware em que está sendo executado( o IE testará a memória, mesmo que não saiba que é tipo, velocidade e etc.) não tem necessidade dequalquer outra coisa e pode trabalhar de forma totalmente autônoma.

A entrada de menu PXE para memtest pode parecer tão simples como:

LABEL Executar Memtest86 +
neblina de núcleo /memtest/ memtest
anexar -

Neste exemplo, o "LABEL Run Memtest86 +" define o nome da entrada, o "nó de kernel /memtest/ memtest"Diz a PXElinux onde levar o kernel que será enviado para o cliente e "anexar -" diz ao PXElinux que ignore opções de inicialização adicionais de * herança.

* Nota: dependendo da sua configuração, isso pode nem ser exigido e, na verdade, no FOG não é usado.

O método Kernel + Initrd

Este método é de longe o mais comumente usado e amplamente difundido por alguns motivos:

  • Muitas utilidades hoje em dia vêm do mundo Linux.
  • Como o Linux possui um excelente suporte de hardware e é livre de usar, mais e mais empresas percebem que o Linux é uma base excelente para construir seus programas proprietários.

Permite usar o utilitário CPUstress da UBCD como exemplo.

Na estrutura do arquivo UBCD, este utilitário está localizado no diretório "ubcd /boot/ cpustress".Os arquivos que procuramos são chamados de "bzImage", que é o "kernel" e "initrd.gz", que é o "disco inicial ram".Se você estiver usando a configuração FOG que criamos, recomendamos que você copie o diretório em "/tftpboot/howtogeek/ utils".Assim que for feito, edite o arquivo "/tftpboot/howtogeek/menus/ utils.cfg" e adicione a ele a entrada de inicialização encontrada nas entradas do menu do UBCD.isso pode ser encontrado em "ubcd /menus/syslinux/ cpu.cfg".Com os ajustes para a configuração do FOG, a entrada do menu deve ser semelhante a:

MENU LABEL StressCPU V2.0( requer CPU com SSE)
TEXT AJUDA
Tortura-teste sua CPU para garantir que você não tenha superaquecimento
problemas. Requer CPUs x86 equipados com SSE.Executa uma versão especial do
Gromacs innerloops que mistura SSE e instruções de montagem normais para aquecer
sua CPU, tanto quanto possível.
ENDTEXT
KERNEL howtogeek /utils/cpustress/ bzImage
INITRD howtogeek /utils/cpustress/ initrd.gz
APPEND raiz = /dev/ ram0 ramdisk_size = 12000 noapic ubcdcmd = stresscpu2

Onde:

  • MENU LABEL - define o nome da entrada
  • TEXT HELP - Esta diretiva opcional, dá ajudatexto que será exibido no menu para fornecer informações sobre a entrada selecionada.
  • KERNEL - Especifica a localização do arquivo "kernel" no diretório TFTPD.
  • INITRD - o mesmo que acima apenas para o arquivo "initrd".
  • APPEND - Especifica parâmetros adicionais que devem ser passados ​​para o programa inicializado.

Algumas coisas a observar são:

  • Os geeks hardcore notariam que substituímos a diretiva original de "LINUX" por "KERNEL".Isso ocorre porque: A. isso torna o exemplo mais fácil de ler. B. Neste exemplo, na verdade não importa.
    Com isso dito, geralmente quando a diretiva "LINUX" é usada, é melhor deixá-lo dessa maneira porque diz ao pxelinux / syslinux que não estamos usando apenas qualquer kernel, mas um Linux.
  • Nós tomamos deliberadamente a diretiva "silenciosa" dos parâmetros anexados. Isto é devido a uma mudança na forma como o Syslinux lida com o parâmetro "silencioso" nas versões recentes.
  • É possível alterar a operação do programa "StressCPU", simplesmente alterando o parâmetro anexado "ubcdcmd".Então, para usar as outras funções, basta copiar a entrada e substituir "stresscpu2" para ser: cpuinfo, cpuburn ou mprime24.

Embora este seja um exemplo muito simples, deve ser suficiente para você ir.

O método Kernel + Initrd + NFS

Este método, é o que usamos no guia "How to Network Boot( PXE) Ubuntu LiveCD".Este método baseia-se no anterior e utiliza o fato de que algumas distribuições Linux suportam ter seu "sistema de arquivos raiz" montado a partir do NFS.O guia Ubuntu é um excelente exemplo, mas tenha a certeza de que já temos um outro planejado para um futuro próximo."Mantenha os olhos abertos para um cogumelo preto".

O método MEMDISK

MEMDISK é um utilitário distribuído com o pacote Syslinux. O propósito deste utilitário é permitir que você imite um "disco"( principalmente referente a disquetes) usando sua imagem. A maneira como esse utilitário funciona é encaixar na localização na RAM que especifica como se comunicar com a unidade de disquete( A.K.A. Interrupt handler) e aponta para uma nova localização que é manipulada pelo programa MEMDISK.Com este método, o "kernel" é o utilitário MEMDISK e o "initrd" é o arquivo de imagem de disquete( .img).

A única coisa a observar é que o FOG vem com uma versão "memdisk" que é compatível com a versão pxelinux.0 que usa. Portanto, é recomendável não copiar o arquivo "memdisk" que acompanha o arquivo "img" da fonte.

Como este método já é de uso selvagem, mesmo para utilitários regulares e BootCDs, na maioria das vezes é uma simples questão de encontrar o arquivo "IMG" no BootCD, copiando-o para o diretório TFTPD do servidor PXE e copiando a entrada do menu ISOlinuxpara o menu PXElinux.
Eles dizem que "falar é barato", então vamos dar uma olhada em como podemos adaptar um dos utilitários que usam o método MEMDISK da UBCD, para trabalhar com o PXE.

O utilitário TestMemIV, pode ser encontrado na estrutura do arquivo UBCD em "ubcd /images/ testmem4.img.gz".Como já temos o utilitário de disco memdisk, é necessário copiar o arquivo "img" para o diretório "howtogeek /utils/".Com os ajustes para a configuração do FOG, a entrada do menu deve ser semelhante a:

ETIQUETA DO MENU TestMemIV
TEXT AJUDA
Testa a memória do sistema e a memória nas placas de vídeo Nvidia.
ENDTEXT
LINUX memdisk
INITRD howtogeek /utils/ testmem4.img.gz

Embora este seja um exemplo de um arquivo de imagem de disquete autônomo do UBCD, a maioria dos outros programas UBCD, use a mesma imagem de base para começar a funcionar( fdubcd.img.gz) e use o parâmetro anexado "ubcdcmd" para iniciar automaticamente um programa a partir do lançamento do CD-ROM.Isso significa que você não poderá converter a maioria de seus utilitários para ser inicializado na rede sem alguma engenharia reversa importante. Embora tal engenharia reversa seja possível( como pode ser visto aqui) e é um excelente exercício geek, está além do escopo deste guia.

Com o acima dito, agora você tem as ferramentas para executar este procedimento para esse diagnóstico de OEM OEM esotérico ou o utilitário de atualização do BIOS.

E assim, bloqueado além do Gateway of Blood e passado o Hall of Fire, Valor aguarda que o Hero of Light desperte. ..