u-boot移植(十三)---代码修改---支持文件系统及补丁制作

时间:2022-04-28 05:31:11

一、烧写文件系统

1.1 jffs2烧写

  1.下载文件系统:tftp 30000000 fs_mini_mdev.jffs2

  u-boot移植(十三)---代码修改---支持文件系统及补丁制作

  2.擦除文件的块:nand erase.part rootfs

  u-boot移植(十三)---代码修改---支持文件系统及补丁制作

  3.烧入文件系统:nand write.jffs2 30000000 0x00260000 5b89a8

  u-boot移植(十三)---代码修改---支持文件系统及补丁制作

  4.设置启动参数:set bootargs console=ttySAC0 root=/dev/mtdblock3 rootfstype=jffs2

  u-boot移植(十三)---代码修改---支持文件系统及补丁制作

  5.重新启动

  u-boot移植(十三)---代码修改---支持文件系统及补丁制作

  这个需要先烧写内核。

1.2 yaffs烧写

  1.下载文件系统:tftp 30000000 fs_mini_mdev.yaffs2

  u-boot移植(十三)---代码修改---支持文件系统及补丁制作

  2.擦除文件的块:nand erase.part rootfs

  u-boot移植(十三)---代码修改---支持文件系统及补丁制作

  3.烧入文件系统:nand write.yaffs 30000000 0x00260000 889bc0

  u-boot移植(十三)---代码修改---支持文件系统及补丁制作

  报错,不认识 .yaffs 的后缀。

  进入 cmd_nand.c文件中,查找 yaffs关键字,找不到yaffs的支持。

  里面有个 nand_help_text 数组,这里定义了 nand 的一些命令:

  u-boot移植(十三)---代码修改---支持文件系统及补丁制作

  我们可以根据这里的宏定义下的写法,加上我们对yaffs的支持。

  u-boot移植(十三)---代码修改---支持文件系统及补丁制作

  在CONFIG_CMD_NAND_TRIMFFS 后加上下面的语句:

  u-boot移植(十三)---代码修改---支持文件系统及补丁制作

  在include/configs/jz2440.h中加入:

  u-boot移植(十三)---代码修改---支持文件系统及补丁制作

  在include/nand.h中添加:

  u-boot移植(十三)---代码修改---支持文件系统及补丁制作

  在Nand_util.c (drivers\mtd\nand) 中添加,nand_write_skip_bad函数中修改;

  u-boot移植(十三)---代码修改---支持文件系统及补丁制作

  第二个修改地方;

  u-boot移植(十三)---代码修改---支持文件系统及补丁制作

  else 的结束括号在这里;

  u-boot移植(十三)---代码修改---支持文件系统及补丁制作

  改完后,编译烧写,测试一下:

  u-boot移植(十三)---代码修改---支持文件系统及补丁制作

  启动完成后,开始上面的制作:

  1.下载文件系统:tftp 30000000 fs_mini_mdev.yaffs2

  u-boot移植(十三)---代码修改---支持文件系统及补丁制作

  2.擦除文件的块:nand erase.part rootfs

  u-boot移植(十三)---代码修改---支持文件系统及补丁制作

  3.烧入文件系统:nand write.yaffs 30000000 0x00260000 889bc0

  u-boot移植(十三)---代码修改---支持文件系统及补丁制作

  4 启动测试

  u-boot移植(十三)---代码修改---支持文件系统及补丁制作

  没烧写内核 就不验证了

二、补丁制作

  1.清除配置

  u-boot移植(十三)---代码修改---支持文件系统及补丁制作

  2.重命名u-boot

  u-boot移植(十三)---代码修改---支持文件系统及补丁制作

  3.解压原来的u-boot

  u-boot移植(十三)---代码修改---支持文件系统及补丁制作

  4.生成补丁文件:

  u-boot移植(十三)---代码修改---支持文件系统及补丁制作