Linux

如何從核心原始碼製作一個最小的可啟動 linux(僅限終端)?

  • November 18, 2018

我想製作一個非常小的 linux 作業系統,它只有一個終端界面和基本的命令/應用程序(busybox 是我對命令/應用程序的選擇)。我不想在我的作業系統上安裝安裝選項。我只是希望它完全從 RAM 啟動和執行。我打算使用 ISO-Linux 作為引導載入程序。沒有網路,沒有虛擬化支持,沒有不必要的驅動程序等。我希望它是非常非常基本的作業系統。我已經從 kernel.org 下載了最新的穩定核心 (v4.5) 原始碼並準備好建構環境。

我的另一個困惑是,預設情況下核心是否有任何使用者界面(shell、終端等),我可以在其中鍵入命令並查看輸出?

從技術上講,您可以實現這一點。雖然,核心沒有任何內置的使用者界面。

您需要按照以下步驟操作:

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.

不過,我以非常正式的方式寫了上面的筆記。您可以按照自己的意願對其進行微調。

更新:

按照此連結獲取一些指南。

引用自:https://unix.stackexchange.com/questions/270865