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


9

我尝试使用自定义构建的内核制作操作系统。效果不是很好。我正在使用Ubuntu,并已从kernel.org下载Linux 3.2.7。我没有尝试在Ubuntu系统中更改内核。我想使用Grub(Linux内核)制作自己的OS,并且希望能够将此Homebrew OS放在文件类型(例如iso)中,然后将其放入CD并在另一台计算机上启动。我的问题是:制作此操作系统到底需要什么?任何评论或教程都将有所帮助。


1
您可以配置grub来引导Linux内核。有很多地方可以找到如何做的。其中最权威的将是官方手册(gnu.org/software/grub/manual/grub.html)。内核启动后,它将尝试启动位于的程序/sbin/init(除非另行配置)。这个程序可以做任何你想做的事。有一些常见的选项可用于/sbin/init,例如Upstart,sysvinit,systemd或bash。从那里开始,该程序处于控制之中。如果退出,内核将崩溃,因此它应该能够启动其他程序。
肖恩·高夫

4
linuxfromscratch.org网站提供了许多有关构建自己的linux发行版的信息。
丹尼尔·库尔曼

Answers:


15

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


2
我同意这是他应该做的事情,我给了+1。我认为他真正想要的是Ubuntu品牌重塑的细节,因为它是从askubuntu迁移而来的。
RobotHumans 2012年

即使您尝试做一些稍微不同的事情,Linux From Scratch无疑也是开始的地方。
弗农2012年

如果没有别的,LFS是一个很好的学习经验。
tshubitz

@tshubitz我看了LFS,但是对我来说没有意义。它是预构建的操作系统吗?它是制作操作系统的指南吗?它是什么?
Coder404 2012年

LFS是从头开始制作GNU / Linux操作系统的指南。LFS网站上的该页面对此进行了概括: linuxfromscratch.org/lfs
tshubitz 2012年

4

一个开始的地方是Buildroot

它是什么?这是一组脚本/生成文件,可让您从头开始创建一个Linux系统。它拉下所有相关组件,在主机上构建交叉编译器。-几乎所有东西。

设计主要是针对嵌入式的工作-因此,它包含uClibc的,而不是glibc的并且缺少许多组件构建步骤,如Gnome和一些桌面环境-但是,如果你正在做一个活的CD是绝对精彩。当然,不仅限于现场CD。我这么说-它确实与嵌入式Qt一起提供。

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

我之所以这样说是因为,尽管Linux From Scratch非常棒,它可以告诉您如何完成整个过程,但它既耗时又费时,并且需要很大的耐心。Buildroot可以进行修改以包含您需要的任何内容;作为一种学习经验,使用menuconfig样式菜单并获得能够启动和运行的功能的能力非常棒。您还可以查看它如何执行所有操作,然后再添加以后的功能。

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


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.