回答:
ソースコードを知るようにLinuxを学ぶつもりなら、最初からLinuxを試してみてください。
学びたいなら、Gentooは良い選択肢です-最小限のGentooインストールはルートシェルとパッケージマネージャーであり、そこからシステムの残りを構築します。Gentooはパッケージのアップストリームにもかなり近いので、自分でいくつかのパッケージをダウンロードしてビルドしたい場合、あまり多くの問題に遭遇することはありません(実際、/ etc / portage / package.providedファイルに追加できます)インストールした後、依存関係として使用してください!)
可能な限り最小のLinuxシステムを探している場合は、独自のカーネルを構築し、使用する予定のないドライバーと機能をすべて削除してから、同様に最小化されたBusyboxのビルドを含むinitramfsを追加します。その結果、単一の実行可能ファイルで完全にブート可能なLinuxシステム(ブートローダーを指すことができます)で、試用することなく10 MB未満に収めることができます。
Linuxシステムの最低限の機能だけが必要な場合は、ルーターなどの組み込みシステム用のディストリビューションを試してみてください。通常、これらは最小限のソフトウェアのみを搭載しており、グラフィカルユーザーインターフェイスが一般的に不足しているため、コマンドラインに慣れる必要があります。欠点の1つは、これらのシステムが通常のLinuxディストリビューションの規則に違反することが多いことです。たとえば、珍しい場所にソフトウェアをインストールしたり、単純化されたinitシステムを使用したりすることです。
試してみたい場合は、例えば仮想マシンでopenwrtを試してみてください。
単一の実行可能なrootfs
Single Application Linuxで/init
説明したように、絶対最小システムは単一のプログラムを実行します| スーパーユーザー
最小限のLinux Live
https://github.com/ivandavidov/minimal
より興味深いインタラクティブシステムの場合、これは次のような(ほとんど教育的な)小さなスクリプトです。
ISOを使用すると、busyboxを備えた最小限のシェルになります。
QEMUを使用すると、システムを簡単に起動できます。
カーネルソースディレクトリから実行できるように変更しました:https : //github.com/cirosantilli/runlinux
使用法:
git clone https://github.com/ivandavidov/minimal
cd minimal/src
./build_minimal_linux_live.sh
# Wait.
# Install QEMU.
# minimal_linux_live.iso was generated
./qemu64.sh
新しい最小システムを備えたQEMUウィンドウ内に残ります。驚くばかり。
小さいので、ソースを読んで何が起こっているのかを理解するのに適したオプションです。
Ubuntu 16.04でテスト済み。
ビルドルート
次を管理するMakefileスクリプトの大規模なセット:
最小限の例:
git clone git://git.buildroot.net/buildroot
cd buildroot
git checkout 2016.05
make qemu_x86_defconfig
# Can't use -jN, use `BR2_JLEVEL=2` instead.
BR2_JLEVEL=2 make
# Wait.
# cat board/qemu/x86_64/readme.txt
qemu-system-x86_64 -M pc -kernel output/images/bzImage -drive file=output/images/rootfs.ext2,if=virtio,format=raw -append root=/dev/vda -net nic,model=virtio -net user
# You are now in a shell with BusyBox utilities.
X11をゼロから構築するためのレシピさえあります:自分のLinux BuildrootシステムにX11をインストールする方法は?
一部の大企業で使用されている専門的な戦闘テスト済みのもの。
Alpine Linux
https://github.com/gliderlabs/docker-alpine
Webサイトからプリコンパイルされたバイナリを提供するパッケージマネージャーを使用した組み込みディストリビューション。
こちらもご覧ください
Slackware linuxを試すことができます。メニュー方式のインストールでは、最小限のシステムをインストールできます。X11、Tcl、Emacsのマニュアルページは簡単に省略できます。これは最上位レベルのインストールからのものです。インストールに飛び込み、最小限のパッケージのみをインストールできます。
その後、インストールしたマシン専用にカーネルを再コンパイルします。
Slackwareは依然としてデフォルトでLiloブートマネージャーを使用するため、ブートセクター、ブート可能としてマークされているパーティション、initrdに含まれるものなどについて、Grubでブートされたディストリビューションの場合よりも少し知りたい場合があります。
私にとって、Damn Small Linuxは「最小のLinuxディストリビューション」の名前を取得しました!しかし、私はそれが一種の中止であると聞いた。また、このwikiページで同様のディストリビューション(「Mini Linux」と呼ばれる)のリストを見ることができます。
スペースがあなたの目的でない場合、GentooまたはArch Linuxをお勧めします。どちらもベースシステムをインストールします。ニーズの拡大に応じて、使用するパッケージを選択してインストールします。
Puppy Linuxを見ることができます。最小ではないかもしれませんが、小さいという評判があります。
ただし、小さくすることを目的としたLinuxのdistrtoは、一般に小さく留まる傾向があります。Linuxを学ぶには、どこかでライブのDebianを使います。.I debianカーネルソース、bashソース、grubソースをクロスコンパイルしてインストールします。次に、クロスコンパイルで、エディター、apt、およびgccをインストールします。次に、debian liveからパッケージのリストを生成します。各パッケージのソースをインストールし、コンパイルしてインストールします。次に、Xを追加し、選択したWmを追加すると、何をしたいかの基礎ができます。
PS:apt-get sourceは、debianパッケージのソースを取得します。