Linux está instalado no bzImage?

1

O ramdisk inicial é incorporado ao bzImage ?
Como carregar um rootfs.cpio como um disco virtual e alternar o root ?

    
por مصطفی 14.09.2014 / 09:42

2 respostas

2

O bootloader (lilo ou GRUB, por exemplo) carrega o cpio initramfs (a menos que seja incorporado como um blob no kernel) ou initramd e passa isso para o kernel ao inicializá-lo.

Normalmente, é especificado com a diretiva initrd no arquivo de configuração do carregador de inicialização.

Se você usar o initrd, você normalmente especificará o dispositivo do sistema de arquivos raiz como root=/dev/ram0 na linha de comando do kernel (especificado com a diretiva append para o lilo, por exemplo).

Após descompactar / montar o initramfs / initrd, o kernel executará /linuxrc se ele existir, o que geralmente será um script que monta o sistema de arquivos raiz real e alterna para ele com pivot_root (mais antigo) ou switch_root (mais recente).

O parâmetro de linha de comando init pode ser definido para outro executável / script a ser executado em vez de linuxrc . Tente passar init=/bin/sh para o kernel na próxima inicialização.

    
por 24.09.2014 / 13:00
0

O ramdisk inicial não é tradicionalmente incorporado em bzImage , embora possa ser. Em vez disso, ele é armazenado em um segundo arquivo e especificado usando a diretiva init .

O método que seu arquivo rootfs.cpio usa para alternar a raiz é o gerado por qualquer arquivo, mas tradicionalmente, pivot_root /new_root ou switch_root /new_root é usado para alternar para a nova raiz.

    
por 24.09.2014 / 13:33