2011-09-01 44 views
0

我是內核編程的新手,我被困在某些東西上,所以我會很感激一些幫助。我提前道歉,如果以前有類似的問題,我沒有找到任何相關的帖子,並且可以在網絡上找到解釋,這對於本領域沒有經驗的人來說可以很容易理解。在Linux上使用ext2文件系統變種

我想試用我自己的ext2版本。 我已經從kernel.org獲得源文件,並做出了適當的更改。沒什麼特別的,只是爲了檢查我腦海中的某些東西。

現在我想將它插入到我的Linux內核(如果它很重要的話,ubuntu 2.6.31-14-generic-pae)。 我該怎麼做?我的(顯然天真的)最初的想法是簡單地使用隨之而來的makefile(在手動設置各種標誌之後,在需要的地方使用obj-m/obj-y),然後將其編譯爲內核模塊。

但是我在編譯時不斷收到錯誤約redifining宏功能等隱性聲明例如

ext2.h:181:1: warning: "ext2_find_first_zero_bit" redefined 
    balloc.c:574: error: implicit declaration of function dquot_free_block_nodirty 

顯然,這不是要走的路。我想最壞的情況是再次編譯整個內核(使用修改後的ext2代碼而不是原來的),因此它會使用我自己的ext2創建相關的庫,然後從新映像重新引導。我很難相信這是最好的方法。

是否有可能將新文件系統作爲內核模塊插入?

Myabe我應該把我修改過的ext2代碼放在/ usr/src中,並以某種方式編譯只包含當前ext2代碼的相關庫?

無論如何,我會很感激任何幫助,我應該做什麼。

謝謝

+0

是你當前使用ext2作爲模塊的內核嗎? :/ –

+0

編號lsmod沒有列出與ext2相關的任何內容。我首先在/ lib – user331398

+0

中有libext2fs:如果它已經編譯進*內核,則無法將其作爲模塊加載。第二:你需要一個不同的FS爲根文件系統,否則你將無法啓動..沒有ext2fs支持:)第三:我不知道編譯問題,你有沒有試過谷歌? –

回答

0

執行搜索,並用my_awesome_filesystem或一些這樣的ext2取代。

相關問題