busyboxはもともとフロッピーディスクサイズのブータブルシステム用に開発されており、小さなメモリスペースを念頭に置いて設計されています。現在はルータ、洗濯機、電子レンジなど小型システムだけでなく、高性能NAS、スマートフォン、デスクトップLinuxディストリビューションなどの構造システムにも使用されている。 (後者の場合は、ブートローダのイメージに合うことを確認するためのものかもしれません。)
ただし、単一のバイナリとして、単一の障害点も表示されます。
そのようなシステムでは、busyboxの代わりに標準ユーザースペースを使用しないのはなぜですか?
答え1
ただし、単一のバイナリとして、単一の障害点も表示されます。
標準的なユーザー土地にも、これらのものは非常にたくさんあります。 libcが壊れていますか?依存関係がありませんか?本当にひどいです。
そのようなシステムでは、busyboxの代わりに標準ユーザースペースを使用しないのはなぜですか?
ビジーボックス(およびおもちゃ箱などの代替品)の利点は、小さくてシンプルで作業に適していることです。なぜ動作するのに別のものを使うのですか?
また、簡略化のため、initramfs の一部としてすべてのデスクトップコンピュータで使用することもできます。実際のユーザースペースを複製することはできますが、カーネル/initramfsのサイズが不均衡になります。 initramfs が大きいほど、ロード時間が長くなり、起動プロセスが遅くなります。
また、Linuxディストリビューションの場合と同様に、さまざまなコンポーネントを適切に作成して連携し、各コンポーネントのバグを追跡するのではなく、ファームウェアベンダーが個々のプロジェクトを追跡する方が簡単です。
ar
もちろんビジボックスにも限界がある。たとえば、ビジボックス環境では、単に一部の機能が欠けているため(たとえば、カーネルが使用しようとするいくつかのオプションが欠けているため)、Linuxカーネルをコンパイルするのは困難です。ただし、initramfsやスマートフォンの場合、これらの制限は重要ではありません。
答え2
Debian パッケージングを担当している Chris Boot がbusybox
Debian で使用する方法を説明します。:
主に2つの場所で使用されます。
これはDebianインストーラのRAMディスクにバンドルされており、DI用のシェル、ブートローダとして機能し、アプレットはインストーラ環境でほとんどの機能を提供します。
デフォルトのinitramfsアセンブリシステムであるinitramfs-toolsは、busyboxをinitramfsに統合し、ルートファイルシステム(別の場合は/ usr)がマウントされ、ivot_rootedされるまでそれを使用します。また、initramfsではklibcの一部を使用していますが、initramfsのどのツールがklibcツール、busyboxアプレット、または実行中のシステムからコピーされた実行可能ファイルであるかは完全にはわかりません。
答え3
ほとんどの場合、システムメモリが限られているため(生産コストを削減するため)。 busyboxはスペースをあまり占めませんが、元のユーザー領域の機能をほとんど持っています。