Localização do binário do kernel (quando não está em / boot)?

7

Não consegui encontrar o binário do kernel na localização padrão em /boot . Eu também procurei em todo o sistema de arquivos por vmlinux ou bzimage

find / -iname vmlin*
find / -iname bzimage

No entanto, este é um dispositivo incorporado e não um desktop padrão. É possível que o binário do kernel esteja localizado em um local de armazenamento diferente que não esteja montado.

Exemplo:

/ está montado no cartão SD e o kernel está escrito em flash?

Se não, quais são as opções para localizar o binário do kernel?

    
por TheMeaningfulEngineer 24.12.2013 / 10:52

3 respostas

2

/boot é o local padrão para o kernel nas distribuições de desktop / servidor, mas os sistemas incorporados variam muito. Onde o kernel é armazenado inteiramente depende do seu bootloader, e ele pode não ser um arquivo, já que os bootloaders embutidos frequentemente não são capazes de ler sistemas de arquivos Linux.

Por exemplo, com o U-Boot (um bootloader embutido popular), você crie uma imagem com mkimage , que pode então ser escrito em uma partição FAT separada ou escrito em algum outro formato específico do sistema. Se a imagem do kernel estiver em uma partição FAT, essa partição geralmente não é montada no Linux, já que o Linux nunca precisa acessá-la (exceto durante upgrades, mas a maioria dos sistemas embarcados não atualiza seu kernel separadamente do bootloader).

O resultado é que você tem que procurar por isso. Se precisar de ajuda, você precisa descrever seu sistema com muita precisão e, mesmo assim, podemos ou não ser capazes de ajudar, dependendo de quão popular é o seu sistema embarcado. Se você não conseguir encontrá-lo por conta própria, considere pedir suporte aos provedores do sistema embarcado.

    
por 25.12.2013 / 00:53
2

Se o seu dispositivo incorporado usar o U-boot, a imagem do kernel pode ser gravada em uma partição específica em um flash NAND. Veja este ! Se este for o caso, acho que você pode localizar o binário observando o código fonte da sua inicialização, se tiver acesso a ele. Você também pode verificar a variável de ambiente para dicas. Isso vai variar muito dependendo do seu sistema, então não posso dar detalhes.

    
por 02.02.2016 / 10:11
1

Sim. Será possível ter o kernel na partição diferente

Para encontrar a localização do kernel,

1. see the grub.cfg OR grub.conf file 
2. Examine the output of 'cat > /proc/cmdline'
    
por 24.12.2013 / 11:02