移植第一个文件系统yaffs2 (for 2440)
2020-06-29 来源:eefocus
1、获取yaffs2源代码:
https://yaffs.net/get-yaffs
2、为内核打上 yaffs2 补丁
解压,进入 yaffs2 源代码目录,执行patch-ker.sh给Linux内核打上yaffs2文件系统的补丁:
#cd yaffs2
#./patch-ker.sh c m /root/linux_kernel/linux-2.6.32.2
这里第二个参数我们选择m参数,否则可能出现下面提示,表示执行失败:
[root@localhost yaffs2]# ./patch-ker.sh c /root/linux-test/linux-2.6.32.2
usage: ./patch-ker.sh c/l m/s kernelpath
if c/l is c, then copy. If l then link
if m/s is m, then use multi version code. If s then use single version code //注意这一句话,根据自己需要选用第二个参数是m还是s
知识补充,patch-ker.sh命令完成下面三件事:
<1>修改内核文件/fs/Kconfig,增加下面两行(在177行附近):
if MISC_FILESYSTEMS
source 'fs/adfs/Kconfig'
source 'fs/affs/Kconfig'
source 'fs/ecryptfs/Kconfig'
source 'fs/hfs/Kconfig'
source 'fs/hfsplus/Kconfig'
source 'fs/befs/Kconfig'
source 'fs/bfs/Kconfig'
source 'fs/efs/Kconfig'
source 'fs/yaffs2/Kconfig'
source 'fs/jffs2/Kconfig'
# UBIFS File system configuration
<2>修改内核文件/fs/Makefile,增加下面两行(在129行附近):
obj-$(CONFIG_GFS2_FS) += gfs2/
obj-$(CONFIG_EXOFS_FS) += exofs/
obj-$(CONFIG_YAFFS_FS) += yaffs2/
<3>在内核文件的fs目录下创建yaffs2子目录,然后复制如下文件:
将yaffs2源码目录下的Makefile.kernel文件复制为内核fs/yaffs2/Makefile文件。
将yaffs2源码目录下的Kconfig文件复制为内核fs/yaffs2/目录下。
将yaffs2源码目录下的*.c、*.h文件(不包括子目录下的文件)复制为内核fs/yaffs2/目录下。
补丁打完后,进入 linux-2.6.32.2/fs 目录,可以看到多了一个 yaffs2 目录。
3、配置Linux支持yaffs2
在 Linux 内核源代码根目录运行:make menuconfig 会弹出图形菜单界面。
移动上下按键找到 File Systems,按回车进入该子菜单再找到'Miscellaneous filesystems'菜单项,按回车进入该子菜单,找到'YAFFS2 file system support',并按空格选中它,这样我们就在内核中添加了 yaffs2文件系统的支持,按'Exit'退出内核配置。
4、制作yaffs2文件系统镜像
参考这篇文章:https://blog.csdn.net/u012577474/article/details/101288968
- 无刷电机小车开发记录04——互补PWM驱动移植
- 非直接烧录ST对GD的代码移植
- FreeRTOS|再次移植
- FreeRTOS移植+点亮OLED任务线程
- Linux帧缓冲设备驱动程序框架及图形界面GUI的移植
- 我的MiniGUI移植之路
- S3C4510上嵌入式Web服务器-boa在uclinux下的的移植
- 【GD32 MCU 移植教程】9、从 STM32F10x 系列移植到 GD32F30x 系列
- 【GD32 MCU 移植教程】8、从 STM32F4xx 系列移植到 GD32F4xx 系列
- 【GD32 MCU 移植教程】10、从STM32F030系列移植到GD32E230系列