-
As três opções diferentes são para três aspectos diferentes do sistema Linux gerado, o próprio kernel, o initramfs e o sistema de arquivos resultante.
- Modo de compressão do kernel: comprime a imagem do kernel compilada. Por exemplo, na minha máquina Ubuntu 12.04, o kernel está em
/boot/vmlinuz-3.8.0-35-generic
- Modo de compactação initramfs incorporado: a compactação da imagem inicial do sistema de arquivos ram. Na minha máquina, isso seria
/boot/initrd.img-3.8.0-35-generic
. - Método de compactação para o sistema de arquivos raiz .cpio: esse é o sistema de arquivos root
/
. Em um sistema desktop, isso geralmente é uma partição de disco (ext2 / 3/4 ...), leitura / gravação montada em/
. Em um sistema embarcado, seria uma leitura compactada em.cpio
montada em arquivo somente em/
(após a inicialização ser concluída).
O kernel do Linux é descompactado pelo gerenciador de inicialização na memória e depois recebe o controle, então o kernel montará o sistema de arquivos inicial do RAM como o root fs, o initramfs executará certas tarefas, incluindo o carregamento do sistema de arquivos real (o sistema de arquivos raiz .cpio) e o término do processo de inicialização.
Os três modos diferentes usam diferentes algoritmos de compressão, os diferentes algoritmos têm requisitos diferentes ao descomprimir os dados: uso da memória, tempo para descomprimir (uso da CPU) e tamanho das rotinas de descompressão da biblioteca.Portanto, você precisa escolher os algoritmos de compactação mais adequados às suas necessidades e à plataforma de destino. Existem muitos gráficos que comparam os requisitos e o desempenho de diferentes bibliotecas (benchmarks).
- Modo de compressão do kernel: comprime a imagem do kernel compilada. Por exemplo, na minha máquina Ubuntu 12.04, o kernel está em
-
O buildroot é geralmente direcionado para dispositivos embarcados (como eu sei), o fator de tamanho é muito crítico nesses dispositivos, assim você normalmente precisa do initramfs, do kernel e do sistema de arquivos raiz a serem compactados.
Na verdade, mesmo em dispositivos não incorporados (desktop, servidores ...), o kernel e o initramfs são geralmente compactados. Os profissionais de fazer isso superam os contras.