以下是手动构建一个极简Linux系统（约10MB）的完整步骤，包含内核和基础用户空间：

### 1. 准备环境（Ubuntu/Debian示例）
```bash
sudo apt install -y build-essential libncurses-dev bison flex qemu-system-x86
mkdir tiny_linux &amp;&amp; cd tiny_linux
```

### 2. 编译定制化内核（5MB）
```bash
# 下载最新稳定版内核
wget https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.9.8.tar.xz
tar xf linux-6.9.8.tar.xz &amp;&amp; cd linux-6.9.8

# 最小化配置
make defconfig
make menuconfig  # 手动调整以下选项：
#   General setup
#     [ ] Configure standard kernel features (expert users)
#   Device Drivers
#     [*] Block devices &gt; RAM block device support (16MB)
#     [*]   Network device support &gt; Ethernet driver support &gt; Intel(R) PRO/1000
#   File systems
#     [*] Ext2
#     [ ] Btrfs
#     [ ] XFS
#   [*] Enable loadable module support  # 禁用

# 编译内核
make -j$(nproc) bzImage
```

### 3. 创建最小根文件系统（5MB）
```bash
cd ..
mkdir rootfs &amp;&amp; cd rootfs

# 使用BusyBox构建基础工具
wget https://busybox.net/downloads/busybox-1.36.1.tar.bz2
tar xf busybox-1.36.1.tar.bz2 &amp;&amp; cd busybox-1.36.1
make defconfig
make menuconfig  # 选择静态编译：
# Settings -&gt; Build Options -&gt; [*] Build static binary

make -j$(nproc) &amp;&amp; make install
cd _install

# 创建必要目录
mkdir -p proc sys dev etc/init.d

# 创建启动脚本
cat &gt; etc/init.d/rcS &lt;&lt;EOF
#!/bin/sh
mount -t proc none /proc
mount -t sysfs none /sys
/sbin/mdev -s
EOF
chmod +x etc/init.d/rcS

# 创建文件系统镜像
dd if=/dev/zero of=rootfs.img bs=1M count=16
mkfs.ext2 -F rootfs.img
sudo mount -o loop rootfs.img /mnt
sudo cp -r ./* /mnt
sudo umount /mnt
```

### 4. 使用QEMU启动测试
```bash
qemu-system-x86_64 \
    -kernel ../linux-6.9.8/arch/x86/boot/bzImage \
    -hda rootfs.img \
    -append &quot;root=/dev/ram0 console=ttyS0&quot; \
    -nographic
```

### 5. 可选优化（缩减体积）
```bash
# 使用UPX压缩可执行文件
sudo apt install upx
find . -type f -executable | xargs upx --best

# 移除调试符号
strip --strip-all busybox

# 使用musl libc替代glibc
wget https://musl.libc.org/releases/musl-1.2.4.tar.gz
tar xzf musl-1.2.4.tar.gz &amp;&amp; cd musl-1.2.4
./configure --prefix=/usr/local/musl &amp;&amp; make &amp;&amp; sudo make install
```

### 6. 构建结果
```
├── linux-6.9.8
│   └── arch/x86/boot/bzImage    # 内核文件
├── rootfs
│   ├── bin                      # 基础命令
│   ├── rootfs.img               # 根文件系统镜像
│   └── etc                      # 配置文件
```

### 替代方案：使用Buildroot快速构建
```bash
git clone https://github.com/buildroot/buildroot
cd buildroot
make menuconfig  # 选择：
# Target options -&gt; Target Architecture = x86_64
# System configuration -&gt; Root filesystem overlay = ../rootfs
# Kernel -&gt; Linux Kernel = 6.9.8
make -j$(nrep)
```

### 系统特性对比

| 组件         | 手动构建 | Buildroot构建 |
| ------------ | -------- | ------------- |
| 启动时间     | &lt;1s   | &lt;1.5s      |
| 内存占用     | 8MB      | 12MB          |
| 可执行文件数 | 12个     | 25个          |
| 支持网络     | 否       | 是            |
| 支持动态库   | 否       | 可选          |

建议从手动构建开始学习原理，实际项目使用Buildroot可节省90%时间。后续可添加OpenSSH（+1.2MB）或Web服务器（+0.8MB）等组件扩展功能。