Razões para o Busybox em sistemas atuais

1

Sendo inicialmente desenvolvido para uso em um sistema inicializável do tamanho de um disquete, o busybox foi projetado com uma pequena pegada de memória em mente. Hoje ele é usado não apenas em sistemas realmente pequenos, como roteadores e talvez em máquinas de lavar e fornos de micro-ondas, mas também em NAS de alta potência, Smartphones e sistemas de resgate para distribuições Linux de desktop. (Neste último, talvez por garantir que cabe em algumas imagens do gerenciador de inicialização?)

Mas sendo um único binário, também é um ponto único de falha.

Por que não basta usar um usuário padrão em vez de um busybox nessas máquinas?

    
por Max Ried 03.09.2014 / 08:47

3 respostas

3

But being a single binary it also is a single point of failure.

Até mesmo um usuário padrão tem muitos desses. Libra corrompida? Falta de dependências? Que pena.

Why don't just use a standard user land instead of busybox on such machines?

A beleza do busybox (e suas alternativas, como toybox) é que ele é pequeno, simples e suficiente para a tarefa. Funciona, então por que usar outra coisa?

Ele também é usado em qualquer PC de mesa, como parte do initramfs, novamente por simplicidade. Enquanto você poderia duplicar um userland real lá, isso iria apenas explodir o tamanho do kernel / initramfs além da proporção. E um initramfs maior significa tempos de carregamento mais longos e um processo de inicialização mais lento.

Para os fornecedores de firmware, também é mais fácil acompanhar um único projeto, em vez de fazer o que as distribuições Linux fazem, tentando fazer com que vários componentes se ajustem e trabalhem juntos e rastreando bugs para cada um deles ...

É claro que o busybox também tem suas limitações, por exemplo, é difícil compilar um kernel Linux em um ambiente busybox, já que algumas funções simplesmente estão faltando ( ar por exemplo está faltando algumas opções que o kernel deseja usar). Mas para o initramfs ou smartphones, essas limitações não importam.

    
por 03.09.2014 / 15:36
1

Explicação de Chris Boot, que é responsável por empacotar busybox no Debian, em como ele é usado lá :

It's used principally in two places:

  • It's bundled in the Debian Installer ramdisk and used as the shell, bootstrap for D-I and its applets provide most functionality in the installer environment.

  • The default initramfs assembly system, initramfs-tools, incorporates busybox into the initramfs and it's used until the root filesystem (and /usr if separate) is mounted and can be pivot_rooted into. We also use parts of klibc in the initramfs, and I'm not yet entirely clear what tools in the initramfs are klibc tools, busybox applets or executables copied from the running system.

    
por 13.08.2017 / 21:24
0

Porque na maioria dos casos, a memória do sistema é limitada (para reduzir os custos de produção). O busybox tem uma pegada menor, mas a maioria das funcionalidades da userland original.

    
por 03.09.2014 / 12:51

Tags