2009-02-04 67 views
9

在我的操作系统类中,我们希望通过一些简单的系统调用C来修改Linux内核。什么是初学者内核开发的良好准系统Linux发行版?

什么是适合此目的的好发行版?我们不需要任何装饰,没有GUI,香草核心等。越基本越好。

+1

什么是“一个简单的内核”? – 2009-02-04 20:25:46

+0

@Torsten马立克,使用香草,未经修改的内核,可能是旧版本是不太复杂比> 2.6的Linux内核一个发行版。 – mmcdole 2009-02-04 20:36:00

回答

9

我能够使用最小的Gentoo安装很容易地修改内核。 刚安装Gentoo,按照安装说明,然后:

$ emerge gentoo-sources 
$ emerge emacs 
$ cd /usr/src/linux 
+0

+1的命令,需要得到“刚够编辑/编译内核”,真棒 – dlamotte 2010-02-17 22:50:36

+0

+1我相信genkernel的是最好的工具链利用,比任何基于DEB/RPM发行要容易得多。用于UML的 – daisy 2011-12-25 09:44:11

1

我不一定会说任何特定的发行朝着内核开发的这种减速,但如果你想有一个传统的Linux发行版是没有按在你和内核之间堆砌太多自定义配置的东西,Slackware是一个不错的选择。

2

在所有发行版中,您可以安装vanilla kernel.org源代码,而不是与发行版相关的内核包,无论如何,当您想要进行内核开发时,这可能是个好主意。

但是,如果您想使用任何最近的非2.6内核发行版,您将遇到麻烦,因为它们通常以无法使用2.4版运行的方式构建libc6。另外,硬件管理的许多内容(如udev)需要相当新的内核。

除此之外,使用Debian为您提供了一个准系统,使用kernel-package安装您自己的内核是一件轻而易举的事情。

5

的archlinux ++

但真的..巴布亚,松弛,和拱都更多或更少不错的选择

1

我的建议是抓住最新的内核。其内部将有更多的调试功能。此外,旧版内核几乎看起来与最近新手一样复杂。

至于分配本身,你不可能真的出错。如果你只想尝试一些定制的系统调用,那么抓住任何主流的发行版,这给你一个很好的开发环境。然后编译并尝试您的定制glibc,而不是将其安装在发行版上。

6

在我上个学期的操作系统课程中,我们使用了User Mode Linux,它的一大优点是,当您连接系统时,您可以简单地杀死进程而不会对主机环境造成危险。

无论您使用的内核是什么,添加/修改系统调用都是单调乏味而微不足道的。然而,2.6内核显着更大且更复杂,因此如果您要以重要的方式修改代码,那么较旧的内核更易于使用并且更好地记录。 (即:更容易找到书籍和参考资料)

快乐黑客:)

0

当选择内核开发一个发行版,请记住,它的内核想破解,而不是发行版本身。你会因此想要一个简单的发行版,尽可能保持你的方式。 Ubuntu非常好地说出了方式。

IANAKH

3

的Arch Linux提供了内核开发一个很好的平台,这也是非常实用的。如果你学会使用pacman,它实际上会很容易地测试你的内核修改,并以一种理智的方式提供源代码和工具。

我认为,如果你是认真学习linux和内核黑客,做一个Linux From Scratch的安装应该是你的名单上。这是一本很棒的发行版/书籍,可以让你自己搭建开发平台。

0

一个非linux的替代方案是Geek OS,但这非常针对教育层面,而不是一个实用的内核。这是非常简单的。

0

以及我发现了一个名为“minix”,它不是一个真正的Linux发行版,但它是专门为教学制作的,但如果你只能使用Linux发行版,那么它应该没关系,我很漂亮确保所有发行版具有相同的内核

0

Gentoo的,如果你不介意的自动化编译(大多数人认为的Gentoo是Linux的划痕=>你必须做你自己的一切)。

拱如果你有较慢的电脑(笔记本电脑)。

这两个最大的优点是,他们有非常非常好的文档,只安装Gentoo f.e.为您提供有关init系统的基本知识以及需要运行的服务。如果一个副本&从指南粘贴命令它是毫无价值的(幸运的手册让人们想一下,从而防止孩子们安装gentoo并接管我们整洁的#irc):D