initramfs.cpio local [fechado]

3

Estou tentando criar um initramfs básico usando o este tutorial no Ubuntu 14.04.5 LTS, e o último Passo "Lista de arquivos externos" está me jogando fora. Eu criei o arquivo initramfs.cpio a partir do initramfs.list e coloquei-o no meu diretório de compilação do kernel. Após a reconstrução e reinicialização, a mensagem não aparece e, presumivelmente, não está sendo inicializada pelo initramfs. Eu deveria colocá-lo em outro lugar?

Além disso, preciso gerar uma lista de arquivos externos para que ele seja inicializado corretamente pelo initramfs?

    
por JHarden13 09.07.2018 / 17:55

1 resposta

1

O initramfs é gerado automaticamente pelo processo de criação do kernel. Crie seu arquivo de especificação e defina a opção de kernel CONFIG_INITRAMFS_SOURCE= para o local do seu arquivo. A criação do initramfs é explicada na documentação do kernel, leia ramfs-rootfs-initramfs.txt .

Also, do i need to generate an external file list for it to boot from initramfs properly?

Existem vários métodos para criar e usar um initramfs.

Finalmente, você pode eventualmente extrair o arquivo initramfs_data.cpio.gz localizado no diretório usr das origens do kernel, para verificar seu conteúdo. É mencionado na documentação.

Exemplo

prompt% mkdir -pv /usr/src/initramfs
prompt% nano /usr/src/initramfs/initramfs_list
prompt% cd /usr/src/linux
prompt% make menuconfig    
# CONFIG_INITRAMFS_SOURCE=/usr/src/initramfs/initramfs_list
prompt% make && make modules_install
prompt% ls usr/
built-in.o  gen_init_cpio  initramfs_data.cpio.gz  initramfs_data.o  modules.builtin  modules.order
prompt% mkdir -v /tmp/initramfs/
prompt% cp -v usr/initramfs_data.cpio.gz /tmp/initramfs
prompt% cd /tmp/initramfs/
prompt% cpio -i -d -H newc -F initramfs_data.cpio --no-absolute-filenames
prompt% ls

After rebuilding and rebooting, the message does not appear, and it's presumably not booting from initramfs.

Observe que um initramfs deve incluir um init válido.

    
por 09.07.2018 / 22:37

Tags