カーネルソースコードから最小限の起動可能なLinux(ターミナルのみを含む)を作成するには? [コピー]

カーネルソースコードから最小限の起動可能なLinux(ターミナルのみを含む)を作成するには? [コピー]

ターミナルインターフェイスと基本的なコマンド/アプリケーションのみを持つ非常に小さなLinuxオペレーティングシステムを作成したいと思います(busyboxは私が選択したコマンド/アプリケーションです)。私のオペレーティングシステムでインストールオプションを使用したくありません。 RAMから完全に起動して実行したいです。 ISO-Linuxをブートローダとして使用する予定です。ネットワーキングなし、仮想化サポートなし、不要なドライバなしなど、私はそれが非常に基本的なオペレーティングシステムになることを願っています。 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.

しかし、私は上記のメモを非常に形式的な方法で書きました。必要に応じて微調整が可能です。

修正する:

フォローするこのリンクいくつかのガイドライン。

おすすめ記事