Posso carregar e montar um segundo initramfs como root para substituir o original no carregamento do LiveCD do CentOS 7?

1

Por favor, deixe-me saber se esta questão precisa ser reformulada; Eu tenho lido sobre os níveis mais baixos de carregamento para Linux e Systemd.

Atualmente estou lidando com uma limitação em grubx64.efi - Não é possível alocar um disco de RAM inicial de 1,2 gigabytes, o tamanho do LiveCD da minha empresa.

Meu pensamento para uma solução é carregar um ramdisk LiveCD menor primeiro, um initrd personalizado de ~ 300 megas ou mais, e dentro desse initrd customizado ele configurou para carregar o LiveCD "real" de 1,2 GB, monte IT como o sistema de arquivos raiz e remova o antigo.

Eu tenho me treinado sobre como o Systemd e o processo de inicialização do Linux funcionam em uma tentativa de descobrir exatamente como eu poderia executar essa transição no CentOS 7, mas os comandos exatos para invocar e locais para colocar edições não são óbvio para mim.

Isso é algo que pode ser feito manualmente?

    
por Locane 29.12.2017 / 02:11

1 resposta

0

Depois de algumas idas e vindas com a lista de discussão do Grub, descobri que você pode montar uma imagem do squashf a partir de um servidor remoto usando parâmetros do kernel.

Eu configurei o legado e o EFI PXE para usar o kernel e initrd no diretório PXEBOOT do CentOS 7.4 ISO (kernel 3.10.0-693). Combinados, eles são como 60 megas ou algo assim.

Depois, coloco o arquivo squashfs.img do sistema de arquivos raiz que queria usar em um diretório acessível http no mesmo servidor.

Depois, usei 2 parâmetros do kernel (mostrados para mim pela lista de discussão) para que o kernel do CentOS montasse a imagem do squashfs como o sistema de arquivos raiz; o kernel é inteligente o suficiente para saber que live: significa e cria um sistema de arquivos temporário (e muito frágil - ainda não descobri isso; 1 gig de gravações faz com que ele seja somente leitura) na RAM com o qual fazer leitura / escrita básica. Eu adicionei esses parâmetros à entrada do menu PXE:

rootfstype=auto root=live:http://path/to/squashfs.img

Foi isso. Essa foi a mágica que eu estava sentindo falta.

    
por 02.01.2018 / 19:56