私は、busybox、おそらく uClibc を使用する、非常に小さな Linux ディストリビューションを構築したいと考えています。最初は、ramfs だけで十分です。また、ネイティブ ツールチェーンがなくてもかまいません。私は「Linux をゼロから」試しましたが、どうやら、これは本格的なディストリビューション向けであるようです。これについてアドバイスをいただけませんか?
答え1
最小のものが何なのかは分かりませんが、小さなコアLinuxは私が今まで聞いた中で最も小さいものです。グラフィカル システムを 12 MB に、テキスト ベースのシステムを 8 MB に収めることに成功しています。
答え2
ディストリビューションに必要な機能以外、ディストリビューションの小ささには実際のところ制限はありません。
ぜひご覧になってみてくださいlinuxfromscratch.org新しいディストリビューションを作成することに興味がある場合。
答え3
「可能な限り最小の」最小構成が何であるかはわかりませんが、インストール(カーネルドキュメント) には、いくつかのファイルのみが含まれています。
これは、全体を圧縮する前にRAMディスクイメージを実際のvmlinux
カーネルに押し込むため、ロード時に自動的に取得され、解凍されます。カーネルは、そのメモリイメージをルートファイルシステムとして使用して起動し、そこから という名前の実行可能ファイルを探しますinit
。どれでもバイナリ - を含むbusybox
。
実際、init
initramfs 内で静的にリンクされた busybox を使用することは、組み込みデバイスの起動において珍しいステップではありません。カーネルのロード直後にシェル プロンプトが表示されると、カーネルが起動し、カーネル/ユーザーランド インターフェイスとコンソールが動作することが検証されます。
この段階では、実際のストレージ デバイスや機能的なルート ファイル システムなどはまだ必要ありません。デバイスがキオスク モード (再起動後もデータが保持されない) で使用される場合、実際に必要なのはこれだけです。
答え4
どうぞ、http://alpinelinux.org/ musl libc + busybox。
8MB以下に収まるディストリビューションです(少し小さくすることはできますが)
これは musl-libc と busybox に基づいています。