富瀚6630用busybox制作squashfs文件系统并在只读文件系统添加可读可写jffs2分区

内核squashfs的使能

因为富瀚默认是文件系统内嵌在内核上,所以我们要先把initrd关掉使能squashfs

  1. 把SDK默认内核配置拷贝过来
    cp boards/mc6630/demoboard/molchip_kernel_defconfig arch/arm/configs/molchip_defconfig
  2. make menuconfig进行squashfs使能,并关掉initrd
    在这里插入图片描述
    在这里插入图片描述
  3. 其他配置开关就不一一发出来了,太多了
  4. make进行编译完了之后回到SDK主目录执行make kernelpost生成zImage-dtb就可以烧录了

附上内核配置文件

点这!点这!

用busybox制作squashfs文件系统

  1. 可参考海思SDK文档比较详细
    在这里插入图片描述
  2. 附上我编译命令
rm /home/liu/Fulhan/FFFFFFFFFFF/MC6630_SDK_V1.3.0-20210304/output/rootfs_uclibc* -rf
//把原本编译好的文件系统删除
tar xzf /home/liu/Fulhan/FFFFFFFFFFF/MC6630_SDK_V1.3.0-20210304/osdrv/rootfs_scripts/rootfs.tar.gz -C /home/liu/Fulhan/FFFFFFFFFFF/MC6630_SDK_V1.3.0-20210304/osdrv/pub
//把富瀚SDK中文件系统解压出来
mv /home/liu/Fulhan/FFFFFFFFFFF/MC6630_SDK_V1.3.0-20210304/osdrv/pub/rootfs /home/liu/Fulhan/FFFFFFFFFFF/MC6630_SDK_V1.3.0-20210304/output/rootfs_uclibc
//移动到指定位置
sudo mknod -m 600 /home/liu/Fulhan/FFFFFFFFFFF/MC6630_SDK_V1.3.0-20210304/output/rootfs_uclibc/dev/console c 5 1
sudo mknod -m 600 /home/liu/Fulhan/FFFFFFFFFFF/MC6630_SDK_V1.3.0-20210304/output/rootfs_uclibc/dev/null c 1 3
tar xvf  /opt/molchip/arm-molchip-linux/bin/../runtime_uclibc.tar.bz2 -C /home/liu/Fulhan/FFFFFFFFFFF/MC6630_SDK_V1.3.0-20210304/output/rootfs_uclibc
//继续解压
cd /home/liu/Fulhan/FFFFFFFFFFF/MC6630_SDK_V1.3.0-20210304/output/rootfs_uclibc;chmod -R 0755 runtime_uclibc;mv runtime_uclibc/* lib/;rm lib/libstdc++*;rm -rf runtime_uclibc;
//把没用的库删除
cd /home/liu/Fulhan/FFFFFFFFFFF/MC6630_SDK_V1.3.0-20210304/osdrv/opensource/busybox/busybox-1.29.3/

cp /home/liu/Fulhan/FFFFFFFFFFF/MC6630_SDK_V1.3.0-20210304/boards/mc6630/demoboard/busybox_molchip_config     /home/liu/Fulhan/FFFFFFFFFFF/MC6630_SDK_V1.3.0-20210304/osdrv/opensource/busybox/busybox-1.29.3/.config
//用富瀚默认的config替换busybox里面的配置文件
make CROSS_COMPILE=arm-mol-linux-uclibcgnueabihf- -C /home/liu/Fulhan/FFFFFFFFFFF/MC6630_SDK_V1.3.0-20210304/osdrv/opensource/busybox/busybox-1.29.3 -j 20
//开始编译
make CROSS_COMPILE=arm-mol-linux-uclibcgnueabihf- -C /home/liu/Fulhan/FFFFFFFFFFF/MC6630_SDK_V1.3.0-20210304/osdrv/opensource/busybox/busybox-1.29.3 install
//install
cp -af /home/liu/Fulhan/FFFFFFFFFFF/MC6630_SDK_V1.3.0-20210304/osdrv/opensource/busybox/busybox-1.29.3/_install/* /home/liu/Fulhan/FFFFFFFFFFF/MC6630_SDK_V1.3.0-20210304/output/rootfs_uclibc
//把编译出来的所有文件拷贝到文件系统中
#cd /home/liu/Fulhan/FFFFFFFFFFF/MC6630_SDK_V1.3.0-20210304/output/rootfs_uclibc/;ln -s bin/busybox init;
//内核内嵌文件系统用的这里不需要

mkdir -p /home/liu/Fulhan/FFFFFFFFFFF/MC6630_SDK_V1.3.0-20210304/output/rootfs_uclibc/usr/share/udhcpc

cp -af /home/liu/Fulhan/FFFFFFFFFFF/MC6630_SDK_V1.3.0-20210304/osdrv/opensource/busybox/busybox-1.29.3/examples/udhcp/simple.script /home/liu/Fulhan/FFFFFFFFFFF/MC6630_SDK_V1.3.0-20210304/output/rootfs_uclibc/usr/share/udhcpc/default.script

make -C /home/liu/Fulhan/FFFFFFFFFFF/MC6630_SDK_V1.3.0-20210304/osdrv/tools/board/udev-164 OSDRV_CROSS=arm-mol-linux-uclibcgnueabihf

cp -af /home/liu/Fulhan/FFFFFFFFFFF/MC6630_SDK_V1.3.0-20210304/osdrv/tools/board/udev-164/rootfs/. /home/liu/Fulhan/FFFFFFFFFFF/MC6630_SDK_V1.3.0-20210304/output/rootfs_uclibc/
//上面都是配置dhcp的命令
make -C /home/liu/Fulhan/FFFFFFFFFFF/MC6630_SDK_V1.3.0-20210304/osdrv/tools/board/udev-164 OSDRV_CROSS=arm-mol-linux-uclibcgnueabihf clean
  1. 编译生成mksquashfs工具
cd ../../../tools/pc/squashfs4.2/
//直接make
make
./mksquashfs /home/liu/Fulhan/FFFFFFFFFFF/MC6630_SDK_V1.3.0-20210304/output/rootfs_uclibc ./rootfs.squashfs -b 64K –comp xz -noappend
//-b 是指flash的块大小 -comp是压缩的格式
//然后生成的rootfs.squashfs就可以烧录了

配置uboot,不然开机起不来

gedit osdrv/opensource/uboot/uboot/include/configs/fy01.h

在这里插入图片描述

gedit boards/mc6630/demoboard/molchip_uboot_defconfig

在这里插入图片描述

  1. 回到sdk主目录编译Uboot即可
    make myboard=mc6630/demoboard boot

烧录后成功起来

在这里插入图片描述

**************************************************************

在squashfs只读系统中添加可写可读分区

修改uboot环境变量

在这里插入图片描述
在烧录过程中对config分区,进行擦除,不然有可能mount不上

sf probe 0;sf erase 0x800000 0x100000;

开机脚本加上mount命令

在这里插入图片描述

成功mount

在这里插入图片描述
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

I&You

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值