Linux-4.9.2内核在mini2440上的移植(五)——添加yaffs文件系统

来源:互联网 发布:mac移动硬盘无法拷贝 编辑:程序博客网 时间:2024/05/16 14:40

本篇目标:为内核添加yaffs文件系统支持。

5.1.安装GIT工具

root@ubuntu:~/linux-4.9.2# apt-get install git

 

5.2获取yaffs2 源代码

(1)切换到根目录

root@ubuntu:~/linux-4.9.2# cd /root

 

(2)git源码

root@ubuntu:~# git clonegit://www.aleph1.co.uk/yaffs2

Cloninginto 'yaffs2'...

remote:Counting objects: 8052, done.

remote:Compressing objects: 100% (5133/5133), done.

remote:Total 8052 (delta 6386), reused 3635 (delta 2834)

Receivingobjects: 100% (8052/8052), 3.67 MiB | 81.00 KiB/s, done.

Resolving deltas: 100% (6386/6386), done.

 

5.3 为内核打上yaffs2 补丁

(1)将yaffs2代码加入内核

root@ubuntu:~#cd yaffs2/

root@ubuntu:~/yaffs2# ./patch-ker.sh c m/root/linux-4.9.2

 

5.4 配置和编译带YAFFS2 支持的内核

root@ubuntu:~/yaffs2# cd ..

root@ubuntu:~# cd linux-4.9.2/

root@ubuntu:~/linux-4.9.2# make menuconfig

 

移动上下按键找到FileSystems,如图


 按回车进入该子菜单,再找到“Miscellaneousfilesystems”菜单项,如图

 

按回车进入该子菜单,找到“YAFFS2 filesystem support”,如图

 

按两下空格选中它,确保是*而不是M,这样我们就在内核中添加了yaffs2 文件系统的支持,按“Exit”退出内核配置。选中“Yes”保存。

 

5.5编译

root@ubuntu:~/linux-4.9.2# make -j8

root@ubuntu:~/linux-4.9.2# ./mkuImage.sh

 

 

之前说过一个问题,就是为什么不移植最新的linux内核,而是选择较新的内核,就是因为yaffs文件系统更新跟不上,最新的内核移植yaffs文件系统会有问题。这里可以到Yaffs文件夹内,运行

root@ubuntu:~/yaffs2# grep -rn " KERNEL_VERSION(4," *

yaffs_vfs_multi.c:60:   (LINUX_VERSION_CODE < KERNEL_VERSION(4, 8, 0))

yaffs_vfs_multi.c:244:#if (LINUX_VERSION_CODE < KERNEL_VERSION(4,9, 0))

yaffs_vfs_multi.c:253:#if (LINUX_VERSION_CODE >=KERNEL_VERSION(4, 8, 0))

yaffs_vfs_multi.c:270:#if (LINUX_VERSION_CODE < KERNEL_VERSION(4,9, 0))

yaffs_vfs_multi.c:804:#if LINUX_VERSION_CODE < KERNEL_VERSION(4,8, 0)

yaffs_vfs_multi.c:1578:#if (LINUX_VERSION_CODE >=KERNEL_VERSION(4, 9, 0))

 

可以看到,yaffs为4.9.0以下的版本做了适配,所以最新支持的内核可以是稍微大于4.9.0的一个版本,也就是4.9.2.
阅读全文
0 0