最小的 Linux 实现是什么?

sla*_*ais 23 linux distribution-choice small-distribution

要使 Linux 操作系统发挥作用,并且在我学习 Linux 以及我的理解和需求增长时可以将其用作扩展和改进的基础,Linux 操作系统的最低限度是什么?

Tob*_*ler 28

如果您的意思是像了解源代码一样学习 Linux,那么您可能想从头开始尝试Linux

  • 您可能也对 SO 问题感兴趣 [了解 linux 或 BSD 内核内部的最佳方法是什么?](http://stackoverflow.com/q/24648/321973) (3认同)

p-s*_*tic 9

如果你想学习,Gentoo 是一个不错的选择——最小的 Gentoo 安装是一个 root shell 和一个包管理器,你可以从那里构建系统的其余部分。Gentoo 在包上也非常接近上游,所以如果你想自己下载和构建一些包,你不会遇到太多问题(事实上,你可以将它们添加到 /etc/portage/package.provided 文件安装后,并将它们用作依赖项!)

如果您正在寻找绝对最小的 Linux 系统,那么构建您自己的内核,去除您不打算使用的所有驱动程序和功能,然后添加一个包含类似的 Busybox 最小化构建的 initramfs。结果是一个完全可引导的 Linux 系统在单个可执行文件中(您可以将引导加载程序指向它),并且您甚至无需尝试即可将其装入 10 MB 以下。


Cir*_*郝海东 9

单个可执行 rootfs

/init正如我在Single Application Linux | 中解释的那样,绝对最小系统运行单个程序。超级用户

最小的 Linux Live

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
Run Code Online (Sandbox Code Playgroud)

您将被留在 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.
Run Code Online (Sandbox Code Playgroud)

它甚至有从头开始构建 X11 的方法:如何在我自己的 Linux Buildroot 系统上安装 X11?

一些大企业使用的经过专业实战测试的东西。

阿尔卑斯Linux

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

带有包管理器的嵌入式发行版,提供来自网站的预编译二进制文件。

也可以看看

  • 我最终选择了 LFS 路线。记下这一点并将很快探索它 (2认同)

Ste*_*fan 8

的Archlinux使用基地组文件的一个非常最小化安装。

基础开发组一起,如果您要进行任何系统开发。

  • 在正确的方向上,仍然包含很多包裹,但我可以使用他们提供的东西并削减包裹,直到事情破裂为止。 (3认同)

fsc*_*itt 8

如果你真的只想要一个 Linux 系统的最低限度,你可以尝试像路由器这样的嵌入式系统的发行版。它们通常只携带绝对最少的软件,并且普遍缺乏图形用户界面迫使您熟悉命令行。一个缺点是,这些系统经常违反常规 Linux 发行版的约定,例如,它们在不常见的地方安装软件或使用简化的 init 系统。

如果你想试一试,你可以尝试在虚拟机中使用 openwrt 等


小智 6

怎么没人提到tomsrtbt?(单张 1.44" 软盘上的 Linux)

  • 现在谁还有软驱?;) (4认同)
  • @p-static:我用一个旧盒子作为打印服务器——它仍然有一个 8 1/4 英寸的软盘驱动器,我刚刚用 20 年前的软盘对其进行了测试——令人惊讶的是,软盘仍然可以!也有未损坏的数据(学生时代的turbo pascal v3代码)。 (3认同)