port linux kernel ntfs 2 eCos[3]

来源:互联网 发布:阿里云服务器干嘛用的 编辑:程序博客网 时间:2024/06/05 19:47
上次博文说到的将 linux kernel ntfs driver 即(linux/fs/ntfs目录下的内容)放到我们目前eCos环境下编译 发现很多编译错误的问题基本解决了。

小北完成的,方法是将编译时遇到的无法找到的宏,都在单独一个文件重新定义了一遍,不多,也就10多个宏。不管其是 linux 编译器提供,还是其它的头文件提供。如此这样编译是通过了,不过这里面还有很多函数在链接时找不到,比如linux的线程同步调用,低层driver调用等等。

当然,这些都不要紧,这次编译只是一个尝试,目的只是走走这个过程,别无它用。

好,下面来说说这件事完成之后,我们的思路。

linux kernel ntfs driver 这层和 linux 系统的耦合,就目前我们了解的看来主要是两个方面,上层和 vfs 的接口;下层和 设备驱动接口,内部不免还有一些 linux 公共函数的调用以及一些线程同步机制。先不管中间这块,上下两层才是关键。

故此分工:
我-> 1:学习 linux 的文件系统:VFS 机制,并以 ext2 为例完整了解整个文件系统;
         2:结合 eCos 文件系统,整理一份如何移植 mount 和 open 函数的规划文档;
小北 -> 1:学习 linux 设备驱动的整个过程;
              2:结合 eCos 的设备驱动,整理一份文档,包括这两个驱动的接口介绍,差异,并简单思考如何耦合;
              3:整理一份 ntfs driver 中各个文件功能的简单说明。
这两部分都 ok 之后,我们再一起来熟悉 ntfs 部分的代码, 之后着手移植。上面的工作一人分配两天时间,因此不能太细。参考书目均为《linux内核源码情景分析》上下册。

以上计划这两天实施得还算顺利,我着重看了上面提到书目的文件系统 第五章 1,3,4节,关于path到inode节点的转换,mount过程,open过程三个方面。在大脑中基本过了一遍,没有细想,有了个比较模糊的感觉,这个东西能工作。:),因此这里也无能力细说了。

明日打算理理这两天看的内容,能给出一份 包含以下几点内容的文档:
1:vfs 整体框架
通过总结以下过程来实现:名字如何转换成对应的inode结构
2:其中使用到的机制,和eCos的对比
3:mount,open过程移植方案

原创粉丝点击