什么是适合初学者内核开发的好的准系统 linux 发行版?

Posted

技术标签:

【中文标题】什么是适合初学者内核开发的好的准系统 linux 发行版?【英文标题】:What is a good barebones linux distro for beginner kernel development? 【发布时间】:2010-10-05 12:22:30 【问题描述】:

在我的操作系统课程中,我们希望使用 C 语言中的一些简单系统调用来修改 Linux 内核。

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

【问题讨论】:

@Torsten Marek,一个使用原版未修改内核的发行版,可能是比 2.6 linux 内核更简单的旧版本。 【参考方案1】:

我能够使用最小的 Gentoo 安装非常轻松地修改内核。 只需安装 gentoo,按照安装说明进行操作,然后:

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

【讨论】:

+1 获得“刚好足以编辑/编译内核”的命令,太棒了 +1 我相信 genkernel 是最好的工具链,比任何基于 DEB / RPM 的发行版都容易。【参考方案2】:

我不一定会说任何特定的发行版都面向内核开发,但是如果您想要一个不会在您和内核之间堆积太多自定义配置的传统 Linux 发行版,Slackware 是一个不错的选择。

【讨论】:

【参考方案3】:

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

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

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

【讨论】:

【参考方案4】:

archlinux++

但真的.. gentoo、slack 和 arch 或多或少都是不错的选择

【讨论】:

【参考方案5】:

我的建议是获取最新的内核。它内部的调试功能将比旧内核中的更多。此外,对于新手来说,较旧的内核看起来几乎与最新的内核一样复杂。

至于发行版本身,你不会真的出错。如果您只想尝试一些自定义系统调用,那么请使用任何主流发行版,它可以为您提供良好的开发环境。然后编译并尝试您定制的 glibc,而无需在发行版上安装它。

【讨论】:

【参考方案6】:

在我上学期的操作系统课程中,我们使用了User Mode Linux,最大的优势是当您对系统进行软管处理时,您可以简单地终止进程,而不会对主机环境造成任何风险。

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

黑客愉快:)

【讨论】:

+1 用于 UML。如果只有 HURD 可以做到这一点 - 它是一个更小、更不成熟的内核,还有更多可以改进的地方。【参考方案7】:

在为内核开发选择发行版时,请记住您要破解的是内核,而不是发行版本身。因此,您将需要一个尽可能不妨碍您的简单发行版。 Ubuntu 说得很好。

伊纳赫

【讨论】:

你到底是怎么得出这个结论的? Ubuntu 内核是一个可以定制的 PITA。【参考方案8】:

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

我确实认为,如果您认真学习 linux 和内核黑客,那么从头开始安装 Linux 应该在您的清单上。这是一本很棒的发行版/书籍,可让您自己构建开发平台。

【讨论】:

【参考方案9】:

一个非 Linux 的替代方案是 Geek OS,但这主要是针对教育水平的,并不是一个实用的内核。不过它非常简单。

【讨论】:

【参考方案10】:

好吧,我找到了一个名为“minix”的版本,它并不是真正的 linux 发行版,但它是专门为教学而制作的,但如果你只能使用 linux 发行版,那没关系,我很确定所有发行版都有相同的内核

【讨论】:

【参考方案11】:

Gentoo 如果你不介意自动编译(大多数人认为 gentoo 是 Linux From Scratch => 你必须自己做所有事情)。

如果您的计算机(笔记本电脑)速度较慢,则拱起。

这两个最大的优点是他们有非常非常好的文档并且只安装Gentoo f.e。为您提供有关初始化系统以及必须运行的服务的基本知识。如果从指南中复制和粘贴命令,它就毫无价值(幸运的是手册让人们思考了一下,从而阻止孩子们安装 gentoo 并接管我们整洁的#irc):D

【讨论】:

以上是关于什么是适合初学者内核开发的好的准系统 linux 发行版?的主要内容,如果未能解决你的问题,请参考以下文章

很好的linux书籍,推荐大家看看

很好的Linux学习书,推荐大家看看

什么是基于 PPC 的好的 >MACHINE< 用于分析有序处理器的代码

初学Linux选哪个版本好

什么是适用于 OSX 或 Windows XP 或 DOS 的好的 C 编译器?

很好的linux书籍,推荐大家看看