Linux

什麼是最小的 Linux 實現?

  • September 24, 2021

什麼是 Linux 作業系統能夠正常執行的最低限度的組件,並且當我學習 Linux 以及我的理解和需求增長時,我可以將其用作擴展和改進的基礎?

如果您的意思是像了解原始碼一樣學習 Linux,那麼您可能想從頭開始嘗試 Linux

單個可執行 rootfs

/init正如我在Single Application Linux |中所解釋的,絕對最小系統執行單個程序。超級使用者

最小的 Linux 直播

https://github.com/ivandavidov/minimal

對於更有趣的互動系統,這是一個(主要是教育性的)小腳本,它:

  • 下載核心和busybox的原始碼
  • 編譯它們
  • 用它們生成一個可引導的 8Mb ISO

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 上測試。

建構根

https://buildroot.org/

大量 Makefile 腳本管理:

  • GCC交叉編譯工具鏈
  • 核心編譯
  • 引導載入程序編譯
  • rootfs的生成
  • 在原始碼樹中有大量的包下載/建構配方,包括 GTK 等複雜的東​​西。有一個依賴系統。

最小的例子:

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?

一些大企業使用的專業實戰測試的東西。

約克托

https://en.wikipedia.org/wiki/Yocto_Project

與 Buildroot 非常相似的目標,不確定權衡。快速瀏覽後,根據您想如何稱呼它,它感覺更臃腫/更有特色。他們的腳本可能有點理智。

尼克斯作業系統

https://nixos.org/

另一個看起來很像 Buildroot,但這個確實有一個真正健全的包描述格式!它似乎還專注於支持同時安裝的多個版本的庫。

當我在 2020 年最後一次檢查時,交叉編譯 + 在 QEMU 上執行的能力非常棒,這是 Buildroot 的重點。但是,這仍然是一個非常有前途的項目。

高山 Linux

https://github.com/gliderlabs/docker-alpine

帶有包管理器的嵌入式發行版,可提供來自網站的預編譯二進製文件。

也可以看看

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