在我的操作系统类中,我们希望用C中的一些简单的系统调用来修改Linux内核。
什么是适合此目的的好发行版?我们不需要任何装饰,没有GUI,香草内核等。越基本越好。
答案 0 :(得分:9)
我能够使用最小的Gentoo安装轻松修改内核。 只需安装gentoo,按照安装说明操作,然后:
$ emerge gentoo-sources $ emerge emacs $ cd /usr/src/linux
答案 1 :(得分:6)
在我上一学期的操作系统课程中,我们使用User Mode Linux,最大的好处是,当你软管系统时,你可以简单地杀死进程而不会对主机环境造成风险。
添加/修改系统调用既繁琐但又无关紧要,无论您使用何种内核。然而,2.6内核显然更加庞大和复杂,因此如果您要以显着的方式修改代码,旧内核更易于使用并且更好地记录。 (即:更容易找到书籍和参考文献)
快乐的黑客攻击:)
答案 2 :(得分:5)
archlinux ++
但实际上...... gentoo,slack和arch都是或多或少的好选择
答案 3 :(得分:3)
Arch Linux为内核开发提供了一个非常实用的平台。如果你学习使用pacman,它实际上会很容易地测试你的内核修改,并以合理的方式提供源代码和工具。
我认为如果你认真学习linux和内核黑客攻击,那么安装Linux From Scratch应该在你的列表中。这是一本很棒的发行版/书籍,可以让你自己构建开发平台。
答案 4 :(得分:2)
在所有发行版上,您可以安装vanilla kernel.org源代码而不是与发行版相关的内核包,无论如何,当您想要进行内核开发时,这可能是一个好主意。
但是,当您想要使用非2.6内核的任何最新发行版时,您将遇到麻烦,因为它们通常以无法与2.4运行的方式构建libc6。此外,许多硬件管理(如udev)都需要相当新的内核。
除此之外,使用Debian为您提供了一个准系统,使用kernel-package轻松安装自己的内核。
答案 5 :(得分:1)
我不一定会说任何特定的发行版都是针对内核开发的,但是如果你想要一个传统的Linux发行版,它不会在你和内核之间堆积过多的自定义配置,那么Slackware是一个不错的选择。
答案 6 :(得分:1)
我的建议是抓住最新的内核。其中的调试功能将多于旧内核。此外,较旧的内核几乎看起来就像新手一样复杂。
至于发行本身,你真的不会出错。如果你想要的只是尝试一些自定义的系统调用,那么抓住任何主流发行版,它会给你一个很好的开发环境。然后编译并尝试自定义的glibc,而无需在发行版上安装它。
答案 7 :(得分:0)
在为内核开发选择发行版时,请记住它是你要破解的内核,而不是发行版本身。因此,您将需要一个尽可能远离您的简单发行版。 Ubuntu说得相当不错。
IANAKH
答案 8 :(得分:0)
非Linux替代品是Geek OS,但这非常针对教育层面,并不是一个实用的内核。但这很简单。
答案 9 :(得分:0)
答案 10 :(得分:0)
Gentoo如果你不介意自动编译(大多数人认为gentoo是Linux From Scratch =>你必须自己做所有事情)。
如果你有较慢的电脑(笔记本电脑),请使用。
这两者的最大优点是它们具有非常好的文档并且只安装了Gentoo f.e.为您提供有关init系统和必须运行的服务的基本知识。如果一个副本和粘贴命令从指南它是没有价值的(幸运的是手册让人们想一点,从而阻止孩子们安装gentoo并接管我们整洁的#irc):D