内核添加对jffs2 的支持

转载地址:https://blog.csdn.net/whereisdog/article/details/82314860

海思最新出了一款超低内存的芯片HI3518EV201(内存只有32M)

在开发过程中对内核的裁剪考验相当大,当然海思也提供了参考的裁剪方案《hi3518ev20x_mini_config.txt》。

但是不能完全按照海思提供的裁剪方案来玩,因为该内核不支持USB、不支持frame buf、不支持以太网及nfs、不支持进程间通信等。

其中不支持进程间通信是指将内核配置 General setup中的System V IPC选项去掉;System V IPC共有三种类型:System V消息队列、System V 信号量、System V 共享内存区。即是不支持消息队列、信号量和共享内存三种进程间通信方式。

1.修改Makefile,在首行位置添加以下两行:

ARCH=arm

CROSS_COMPILE=arm-hisiv300-linux-

在make menuconfig 后在File systems —> 中看到:

a.该内核只支持ext4文件系统

b.[ ] Miscellaneous filesystems —>选项压根就没有勾选上,及时勾选上进去也看不到jffs2的选项

2.在Miscellaneous filesystems —>选项中添加jffs2选项卡:

Device Drivers —>

  <*> Memory Technology Device (MTD) support —>(这个选项一选上后,File systems —> 中的Miscellaneous filesystems —>就会变成必选项了) 保存

3.去掉对ext4文件系统的支持,添加对jffs2和squashfs文件系统的支持

去掉:

File systems —>

   < > The Extended 4 (ext4) filesystem

添加:

File systems —>

  -*- Miscellaneous filesystems —>

     <*> Journalling Flash File System v2 (JFFS2) support

    和<*> SquashFS 4.0 - Squashed file system support

4.编译一遍 make uImage,然后将zImage烧到板子上go 0x81000000, /etc/init.d/S00devs脚本中有两句

mount -t squashfs /dev/mtdblock2 /mnt/app 
mount -t jffs2 /dev/mtdblock3 /mnt/app_ext/

发现以下错误:

mount: mounting /dev/mtdblock2 on /mnt/app failed: No such device or address 
mount: mounting /dev/mtdblock3 on /mnt/app_ext/ failed: No such device

5.解决mount 出错:

Device Drivers —> 
  <*> Memory Technology Device (MTD) support —> 
    [*] Command line partition table parsing

6.再编译一遍 make uImage,然后将zImage烧到板子上go 0x81000000,因为squashfs文件系统默认是ZLIB压缩算法的,而我们使用的是压缩率最高的XZ算法,因此会发现以下错误:

SQUASHFS error: Filesystem uses “xz” compression. This is not supported 
mount: mounting /dev/mtdblock2 on /mnt/app failed: Invalid argument

7.解决xz压缩算法出错:

File systems —> 
  -*- Miscellaneous filesystems —> 
    <*> Journalling Flash File System v2 (JFFS2) support 下面的 
    [*] Include support for ZLIB compressed file systems(去掉勾选) 
    [*] Include support for XZ compressed file systems (加上勾选)

8.跑起来后,boot.sh脚本中对jffs2文件系统进行操作时,发现以下错误,因为加密算法类型0x07没有打到内核中:

jffs2: compression type 0x07 not available 
jffs2: Error: jffs2_decompress returned -5

9.解决xz压缩算法出错:

File systems —> 
  -*- Miscellaneous filesystems —> 
    [*] Advanced compression options for JFFS2 下面的 
    [*] JFFS2 LZO compression support (加上勾选)

10.ok了,接下来就是遇到一些简单的错误,不再做详细阐述。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值