2009-02-04 43 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