Waterman提到可能先做porting NFTL to Linux,所以今天下午对Linux下的NFTL以及相关porting工作先research一下。
关于NFTL
结构上,NFTL仍然属于MTD中的一部分,在Linux 2.4内核代码中,mtd下直接和NFTL相关的code file有nftlcore.c和nftlmount.c。同时这两个文件也会call MTD相关的function来实现自己的函数功能。
NFTL应用
没有很多资料,只有一封非正式的mail:DiskOnChip200 howto提到使用NFTL for DOC需要如下文件:
mtdcore.o
nftl.o
mtdchar.o
mtdblock.o
doc2000.o
modprobe.o
NFTL移植
根本连一点资料都没看到,只是既然Linux自带的NFTL和MTD关联这么紧,猜测如果要porting我们自己的NFTL,可能:
Solution 1:
用我们的一套替换Linux的NFTL+MTD。但这样涉及到Linux NAND驱动问题,棘手。
Solution 2:
为我们的NFTL包装一层,使之和标准NFTL的interface相match。但它们之间的function能否一一对应还很难说,更不要提性能了。
上述两种做法都只是一厢情愿的猜想,不知道有什么标准的porting guider没有:(
资源
>MTD的官方网站:http://www.linux-mtd.infradead.org
>DiskOnChip200 howto,提到如何使用NFTL,作用不大:http://www.infradead.org/pipermail/linux-mtd/2001-January/001608.html