0

我是内核编程的新手,我遇到了一些问题,所以我很感激一些帮助。如果之前有人问过类似的问题,我提前道歉,我没有找到任何相关的帖子,并且可以在网上找到解释,这些解释对于我这个领域没有经验的人来说足够简单。

我想尝试我自己的 ext2 版本。我从 kernel.org 获得了源文件,并进行了适当的更改。没什么特别的,只是为了检查我的想法。

现在我想将它插入我的 linux 内核(如果重要的话,ubuntu 2.6.31-14-generic-pae)。我怎样才能做到这一点?

我(显然是天真的)最初的想法是简单地使用它附带的makefile(在手动设置各种标志之后,它在需要的地方有obj-m/obj-y)并将其编译为内核模块。

但是,我在编译期间不断收到有关重新定义宏、函数的隐式声明等的错误。例如

    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 代码的相关库吗?

无论如何,我会很感激任何关于我应该做什么的帮助。

谢谢

4

1 回答 1

0

进行搜索和替换ext2withmy_awesome_filesystem或类似的。

于 2011-09-01T15:15:10.543 回答