如何从头开始构建 Linux 系统?

如何从头开始构建 Linux 系统?

我尝试用我定制的内核制作一个操作系统。效果不太好。我正在使用 Ubuntu 并从 kernel.org 下载了 Linux 3.2.7。我并不是想改变我的 Ubuntu 系统中的内核。我想用 Grub(Linux 内核)制作自己的操作系统,并且我希望能够以某种文件类型(例如 iso)制作这个自制操作系统,我可以将其放在 CD 上并在另一台计算机上启动。我的问题是:制作这个操作系统到底需要什么?任何评论或教程都会有帮助。

答案1

这就是您要寻找的内容: http://www.linuxfromscratch.org/

答案2

一个起点是构建根

它是什么?它是一组脚本/makefile,允许您从头开始生成 Linux 系统。它拉下所有相关组件,在主机上构建交叉编译器。 - 几乎一切。

主要为嵌入式工作而设计 - 因此,它包含 uclibc 而不是 glibc,并且缺少许多组件的构建步骤,例如 Gnome 和一些桌面环境 - 但是,如果您正在制作 Live CD,那么它绝对是出色的。当然,不限于现场 CD。我是这么说的 - 它确实带有嵌入式 Qt。

最新的稳定版本附带了 grub 0.97,可能无法满足您的要求。

我之所以提到这一点,是因为虽然《Linux From Scratch》很棒,因为它告诉您如何完成整个过程,但它既漫长又耗时,并且需要很大的耐心。 Buildroot 可以进行调整以包含您需要的任何内容;作为一种学习体验,能够使用menuconfig样式菜单并获得可以启动和运行的东西是很棒的。您还可以在添加后续功能之前了解它是如何完成所有操作的。

在配置内核方面,我强烈建议您采用现有的配置(通常在 参考资料中提供/boot),将其复制到内核树,然后.config运行make oldconfig并逐步执行新选项。默认选项几乎可以保证在您的发行版中工作;如果你完全从头开始,你很可能会构建一些无法使用的东西。

答案3

您至少需要的是内核和一些可以作为 init 运行的进程,以及 init 进程所需的任何加载程序和库。你启动内核,告诉它运行 init 进程,然后它从那里去哪里就是你的事了。

相关内容