Qual é a diferença entre kernels Raspbian na imagem oficial?

16

Na imagem oficial do Raspbian "wheezy" (15/07/2012) , há três imagens do Kernel:

  • kernel.img (6 MB)
  • kernel_cutdown.img (4 MB)
  • kernel_emergency.img (16 MB)

Estou curioso para saber quais são as diferenças técnicas entre elas. Quando pode ser benéfico mudar do padrão (kernel.img)?

McKAMEY
fonte
Para quem não sabe - você pode escolher qual kernel você usa adicionando uma linha ao arquivo /boot/config.txt, por exemplo, para inicializar o kernel de corte: kernel=kernel_cutdown.img
Pierz

Respostas:

12

Parece que não consigo encontrar nenhuma informação específica sobre os kernels Raspbian, o que me preocupa. No entanto, posso fornecer as informações que tenho da minha experiência com os kernels do Linux.

Tradicionalmente, quando você compila um kernel para uma distribuição, deseja que ele seja capaz de cobrir o suporte a uma ampla gama de hardware. Por exemplo, várias placas gráficas e placas sem fio, além de coisas mais simples, como controladores SATA e suporte ao sistema de arquivos. Os kernels também terão suporte à modularização para que outros hardwares possam ser suportados através do carregamento de módulos. Isso você verá realizado pelo uso modprobeou mais tradicionalmente insmod. O carregamento do módulo normalmente ocorre nos bastidores, por exemplo, quando você conecta um disco rígido USB, o usbcoremódulo é carregado. O que geralmente não se sabe é que esse suporte também pode ser incorporado ao kernel, o que aumenta o tamanho e o tempo necessário para carregar na inicialização, mas geralmente melhora o desempenho.

O problema enfrentado pelos desenvolvedores é se o suporte deve ser compilado no kernel, fornecido como um módulo ou deixado de fora completamente.

O kernel padrão kernel.imgtentará cobrir as combinações de hardware mais prováveis . Para uma distribuição como o Raspbian, é provável que inclua todo o hardware do Raspberry Pi, bem como as outras partes necessárias para um sistema operacional em execução. O kernel parece ser pequeno (eu construí kernels> 50 MB), então imagino que, mesmo com o kernel básico, a maior parte do suporte seja modular.

A kernel_cutdown.imgfornecerá o menor imagem possível que ainda permite que o sistema para ser utilizável . Isso provavelmente incluirá sistema de arquivos básico e rede. Mas não muito em termos de suporte periférico externo, então esqueça de conectar o adaptador sem fio USB. Ocasionalmente, a imagem recortada será construída sem modularização inteiramente (que pode ter metade do tamanho da imagem).

Por outro lado, kernel_emergency.imgprovavelmente será o oposto do corte. Essa imagem de tamanho grande conterá uma ampla gama de suporte compilado no kernel . Essa imagem geralmente é usada quando há um problema com os outros kernels que é difícil de identificar, pois deve fornecer uma instalação inicializável em quase todos os casos. Pense nisso como um modo de segurança .

Espero que ajude a sua compreensão. Se eu descobrir mais detalhes sobre as imagens Raspian, adicionarei aqui.

Jivings
fonte