Como configurar discos utilitários de inicialização de rede usando o PXE
Nós mostramos a você como inicializar em rede o Ubuntu LiveCD. Neste artigo, mostraremos como fazer com que algumas outras redes de utilitários sejam inicializáveis, o que lhe dará o conhecimento para replicar o procedimento para outros utilitários que você esteja usando.
Nota: este artigo não é voltado para iniciantes, embora você seja bem-vindo para continuar lendo!
Imagem de Steve Jurvetson
visão global
Este guia tem como objetivo fornecer as ferramentas com as quais você poderá converter utilitários para ser PXEable. Embora, infelizmente, não seja possível converter nenhuma 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) O Ubuntu LiveCD”, se você ainda não estiver usando o Ubuntu como seu número um “vá para” para solucionar problemas, diagnósticos e procedimentos de resgate, o que você está esperando??
Com isso dito, é preciso reconhecer que há coisas que simplesmente não podem ser feitas dentro do Ubuntu LiveCD (como atualizações de BIOS), ou que você já está usando uma ferramenta diferente que você prefere e prefere continuar usando por qualquer motivo.
Recomendações, suposições e pré-requisitos
- Supõe-se que você já tenha configurado o servidor FOG conforme explicado em nosso guia "O que é inicialização pela rede (PXE) e como você pode usá-lo?".
- Você verá o programa “VIM” usado como editor, principalmente porque está amplamente disponível nas plataformas Linux. Você pode usar qualquer outro editor que você gostaria.
- O Ultimate Boot CD (UBCD) é usado como um exemplo, pois ao contrário de outras coleções de utilitários, ele é gratuito para download e os programas que ele empacota são gratuitos para uso..
Por que não apenas usar ISO sobre PXE?
Esta é frequentemente a primeira pergunta quando se fala em PXEing. A resposta curta é que, embora tecnicamente seja possível levar uma imagem ISO e PXE às máquinas clientes, quase sempre o conteúdo da ISO será esperado ter a manifestação física de si mesma acessível na unidade de CDROM físico. Portanto, seja qual for o conteúdo do ISO, ele tentará procurar os arquivos “post-boot-sector” na unidade de CD-ROM da máquina cliente, não os encontrará e falhou para inicializar.
As duas maneiras de superar esse problema são:
- Grave o ISO e coloque-o na unidade de CD-ROM da máquina cliente - enquanto simples, Não usando CDs, é exatamente o que estamos tentando evitar ...
- Abra o ISO e mude o modo como o programa funciona dentro dele, para que ele use um CDROM motorista que sabe como procurar o ISO na RAM - Bastante complexo e diferente para cada tipo de programa inicializável. I.E. não é o mesmo procedimento para Linux, WinPE ou UBCD mencionar alguns.
Como os dois acima derrotam o objetivo de "apenas usar um ISO", é por isso que não recomendamos a busca desse esforço..
O método do kernel
Embora seja muito raro, às vezes o programa que você está tentando inicializar só precisa de um Kernel para funcionar. Um exemplo típico disso é “memtest86 +”. O Memtest vem junto com a maioria dos CDs de instalação das distribuições Linux e com o FOG. Como o Memtest só precisa ser capaz de se comunicar com os recursos mais básicos do hardware testado, o I.E. a memória (RAM), e pode funcionar muito bem, mesmo sem suportar totalmente o hardware que está sendo executado (ou seja, ele irá testar a memória, mesmo que não saiba o seu tipo, velocidade e etc ') não tem necessidade de nada mais e pode trabalhar de forma totalmente autônoma.
A entrada do menu PXE para o memtest pode parecer tão simples como:
LABEL Run Memtest86+
nevoeiro do kernel / memtest / memtest
acrescentar -
Neste exemplo, o “LABEL Run Memtest86 +“ define o nome da entrada, o “kernel fog / memtest / memtest” diz ao PXElinux onde pegar o kernel que será enviado para o cliente e “append -“ diz ao PXElinux para ignorar opções de inicialização adicionais de * herança.
* Nota: dependendo da sua configuração, isso pode nem ser necessário e, na verdade, no FOG não é usado.
O método Kernel + Initrd
Este método é de longe o mais comumente usado e difundido por alguns motivos:
- Muitas utilidades hoje em dia vêm do mundo Linux.
- Como o Linux tem um ótimo suporte de hardware e é livre para usar, mais e mais empresas percebem que o Linux é uma excelente base para construir seus programas proprietários em.
Vamos usar o utilitário CPUstress do UBCD como um exemplo.
Na estrutura do arquivo UBCD, este utilitário está localizado no diretório “ubcd / boot / cpustress”. Os arquivos que estamos procurando são chamados de “bzImage”, que é o “kernel”, e “initrd.gz”, que é o “disco de RAM inicial”. Se você estiver usando a configuração FOG que criamos, recomendamos que você copie o diretório em “/ tftpboot / howtogeek / utils”. Uma vez feito isso, 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 se parecer com:
MENU LABEL StressCPU V2.0 (requer CPU com SSE)
AJUDA DE TEXTO
Teste sua CPU com tortura para ter certeza de que você não está superaquecendo
problemas. Requer CPUs x86 equipadas com SSE. Executa uma versão especial do
Groloops innerloops que mistura SSE e instruções normais de montagem para aquecer
sua CPU, tanto quanto possível.
ENDTEXT
KERNEL howtogeek / utils / cpustress / bzImage
INITRD howtogeek / utils / cpustress / initrd.gz
APPEND root = / dev / ram0 ramdisk_size = 12000 noapic ubcdcmd = stresscpu2
Onde :
- MENU LABEL - define o nome da entrada
- AJUDA DE TEXTO - Esta diretiva opcional fornece um texto de ajuda que será mostrado 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 serem notadas são:
- 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, isso realmente não importa.
Com isso dito, geralmente quando a diretiva “LINUX” é usada, é melhor deixar assim porque diz ao pxelinux / syslinux que não estamos usando apenas um kernel, mas um kernel Linux. - Nós deliberadamente retiramos a diretiva “silenciosa” dos parâmetros anexados. Isso se deve a uma mudança na maneira como o Syslinux manipula o parâmetro "quiet" em versões recentes.
- É possível alterar a operação do programa “StressCPU”, simplesmente alterando o parâmetro “ubcdcmd” anexado. Então, para usar as outras funções, basta copiar a entrada e substituir “stresscpu2” por: 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) O 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 do Ubuntu é um excelente exemplo, mas tenha certeza de que já temos outro planejado para o 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ê emule um “disco” (principalmente referindo-se a disquetes) usando sua imagem. A maneira como esse utilitário funciona é conectar-se à localização na RAM que especifica como se comunicar com a unidade de disquete (manipulador de interrupções A.K.A.) e aponta para um novo local que é manipulado 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 notar é que o FOG vem com uma versão “memdisk” que é compatível com a versão pxelinux.0 que ele usa. Portanto, recomenda-se não copiar o arquivo “memdisk” que acompanha o arquivo “img” de sua origem..
Como este método já é amplamente utilizado, mesmo para utilitários regulares e BootCDs, na maioria das vezes é simples encontrar o arquivo “IMG” no BootCD, copiá-lo para o diretório TFTPD do servidor PXE e copiar a entrada do menu ISOlinux para o menu PXElinux.
Eles dizem que "conversar é barato", então vamos dar uma olhada em como podemos adaptar um dos utilitários que usam o método MEMDISK do UBCD, para trabalhar a partir do 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, basta copiar o arquivo “img” para o diretório “howtogeek / utils /”. Com os ajustes para a configuração do FOG, a entrada do menu deve se parecer com:
MENU LABEL TestMemIV
AJUDA DE TEXTO
Testes de memória e memória do sistema em placas de vídeo Nvidia.
ENDTEXT
Memdisk do linux
INITRD howtogeek / utils / testmem4.img.gz
Embora este seja um exemplo de um arquivo de imagem de disquete independente do UBCD, a maioria dos outros programas UBCD, use a mesma imagem de base para começar a trabalhar (fdubcd.img.gz) e use o parâmetro anexado “ubcdcmd” para iniciar automaticamente um programa. o boot de postagem do CDROM. Isso significa que você não poderá converter a maioria de seus utilitários para ser inicializável em rede sem alguma engenharia reversa importante. Embora tal engenharia reversa seja possível (como pode ser visto aqui) e seja um excelente exercício de geek, está além do escopo deste guia.
Com o acima exposto, agora você tem as ferramentas para executar este procedimento para esse diagnóstico OEM esotérico ou utilitário de atualização de BIOS.
E assim, trancado além do Portal do Sangue e depois do Salão do Fogo, o Valor aguarda que o Herói da Luz desperte ...