参见英文答案 > What are the minimum root filesystem applications that are required to fully boot linux? 4个
我想制作一个非常小的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.
虽然,我以非常正式的方式写上面的笔记.你可以按照你想要的方式对它进行微调.
更新:
遵循this link的一些指导原则.