加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

内核与板上文件系统移植杂记

发布时间:2020-12-15 06:34:23 所属栏目:百科 来源:网络整理
导读:一、内核 将内核烧入Nand Flash 第一次能正常加载,如果仅烧入kernel,重启正常,烧入文件系统后,重启开发板却内核检测异常: 而在首次正常加载时,得到如下信息: (1)Nand Flash 的分区信息(arch/arm/plat-s3c24xx/common-smdk.c) (2)内核的存储布局

一、内核

将内核烧入Nand Flash 第一次能正常加载,如果仅烧入kernel,重启正常,烧入文件系统后,重启开发板却内核检测异常:

而在首次正常加载时,得到如下信息:

(1)Nand Flash 的分区信息(arch/arm/plat-s3c24xx/common-smdk.c)


(2)内核的存储布局

修改arch/arm/plat-s3c24xx/common-smdk.c

如下:

static struct mtd_partition smdk_default_nand_part[] = {
??????? [0] = {
??????????????????? .name?? = "uboot",
??????????????????? .size?? = 0x40000,
??????????????????? .offset = 0,
????????????? },
??????? [1] = {
??????????????????? .name?? = "kernel",
??????????????????? .offset = 0x40000,
??????????????????? .size?? = 0x200000,
??????? [2] = {
??????????????????? .name?? = "rootfs(read only)",
??????????????????? .offset = 0x240000,
??????????????????? .size?? = 0x800000,???
????????????? }
};

修改后:

(1)Nand Flash 的分区信息

(2)内核的存储布局


二、板上文件系统

我用的文件系统格式为jffs2

首先准备mkfs.jff2制作工具

? 下载zlib-1.2.3.tar.bz2解压缩到主机生成zlib-1.2.3目录

??? $ cd zlib-1.2.3

??? ./configure

??? $make

??? $make install

? 下载 mtd-snapshot-20050519.tar.bz2 解压缩 $ cd mtd/util

? $make

? $sudo make install
这样在你的PC机上就有了mkfs.jffs2的工具,它只是一个制作jffs2文件系统镜像的工具而不能格式化成相应的jffs2文件系统,区别mkfs.ext2.

生成板上文件系统

mkfs.jffs2 -r /opt/rootfs -o rootfs.jffs2 -e 0x4000 --pad=0x800000

加载文件系统时有如下信息


不想看到如上信息,则制作文件系统时,用如下命令

mkfs.jffs2 -r /opt/rootfs -o rootfs.jffs2 -e 0x4000 --pad=0x800000 -n


在arch/arm/plat-s3c24xx/common-smdk.c 被修改前文件系统初次启动成功时还会得到如下信息:




此后重启,内核检测出错或文件系统不能正常加载,无法得到上述信息。必须按前面的方法修改 Nand Flash 分区信息。

static struct mtd_partition smdk_default_nand_part[]给fs空间过小时,会导致文件系统的诸多数据丢失。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读