端末インターフェイスと基本的なコマンド/アプリケーションのみを備えた最小限のLinux OSを作成したいと思います(コマンド/アプリにはBusyboxを選択します)。 OSにインストールオプションを使用したくありません。起動してRAMから完全に実行するだけです。 ISO-Linuxをブートローダーとして使用する予定です。ネットワーキング、仮想化サポート、不要なドライバーなどはありません。非常に基本的なOSにしたいです。 kernel.orgから最新の安定したカーネル(v4.5)ソースコードをダウンロードし、ビルド環境を準備しました。
私のもう1つの混乱は、デフォルトでカーネルにユーザーインターフェイス(シェル、ターミナルなど)があり、コマンドを入力して出力を表示できることです。
技術的にはこれを実現できます。ただし、カーネルにはユーザーインターフェイスが組み込まれていません。
次の手順を実行する必要があります。
1. Create a initramfs with static busybox and nothing else.
This initramfs will have few necessary directories: like proc, sys, tmp, bin, usr, etc
2. Write a "/init" script, whose main job will be:
a. mount the procfs,tmpfs and sysfs.
b. Call busybox's udev i.e. mdev
c. Install the busybox command onto virtual system by executing busybox install -s
d. Calling /bin/sh
3. Source the initramfs directory while compiling the kernel. You can do so by flag: CONFIG_INITRAMFS_SOURCE
4. Compile your kernel.
5. Boot off this kernel and you will get the Shell Prompt with minimal things.
しかし、私は上記のメモを非常に形式的に書いています。好みに合わせて微調整できます。
UPDATE:
いくつかのガイドラインについては このリンク に従ってください。
カーネルの構築に関して最小限の知識しかない場合は、 CoreOS のような最小限のディストリビューションを調査することをお勧めします。その他(私自身は使用していません)はProject Atomic、Snappy Ubuntu Core、RancherOS、Photon ...です。
要件がRAMで実行することである場合、最小限のレスキューおよび/またはLiveCDディストリビューションまたは 埋め込みディストリビューション があり、作成よりも少ない作業で用途に適合させることができます(その用途は何か、BTW?)。ゼロからのディストリビューション。