本系列为华为海思海思AI芯片(Hi3519A/3559A)方案学习系列之七,系列文章请见底部。这篇文章将分享下ext4根文件系统制作。
作者:ltshan139
由于开发板上的flash类型为MMC,所以对应的要制作ext4类型g文根件系统。
从零开始生成一个文件系统
通常是使用busybox来从无到制作一个根文件系统。
1)获取busybox源代码
busybox完整源代码存放在opensource/osdrv/busybox。
2)配置busybox
3)编译和安装busybox
make ARCH=arm CROSS_COMPILE=arm-himix200-linux-
make ARCH=arm CROSS_COMPILE=arm-himix200-linux- install
4)然后使用busybox工具来生成一个基本的根文件系统。
注:由于海思SDK已经提供了一个基本的文件系统rootfs.tgz(只需要解压就行),所以上面的步骤是不必要的。
基于已有文件系统进行配置
1)解压缩根文件系统 tar xzf rootfs.tgz
2)为了根文件系统挂载后能自动load kernel drivers, 需要
a)先将kernel drivers(*.ko) 拷贝到rootfs/下某个目录,比如 /opt
b) 在 /etc/init.d/rcS 后面添加:
cd xx/rootfs/opt ./load3519av100 -i -sensor0 imx344 -sensor1 imx344 -sensor2 imx344 -sensor3 imx344 -sensor4 imx344
c)rootfs/lib下面要添加一些c和kernel 库,否则出现如下error
Kernel panic - not syncing: No init found.No init found.Try passing init= option to kernel.
制作文件系统镜像
1)先生成ext4镜像制作工具:make_ext4fs
a)
cd osdrv/tools/pc/ext4_utils/
b) make
2)生成根文件系统镜像文件
xx/board/Hi3519AV100_SDK_V2.0.1.0/osdrv/tools/pc/ext4_utils/bin/make_ext4fs -s -l 32M rootfs_hi3519av100_32M.ext4 ./rootfs
-s 表示生成ext4的S模式制作
-l 表分区大小 这里是32M
rootfs_hi3519av100_32M.ext4: 表生成的文件系统的镜像
./rootfs: 表示 根文件系统目录
最后,在uboot里面把生成的镜像文件rootfs_hi3519av100_32M.ext4通过tftp方式烧写到eMMC。
版权声明:本文为CSDN博主「ltshan139」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/avideointerfaces/article/details/88830777
海思AI芯片系列文章
- 海思AI芯片(Hi3519A/3559A)学习(六)No MMC device available和can't get kernel image两个问题的解决
- 海思AI芯片(Hi3519A/3559A)学习(五)SDK平台文档梳理 code
- 海思AI芯片(Hi3519A/3559A)学习(四)在3519A板子上运行sample code
- 海思Hi3519A/3559A(三)Ubuntu18.0.4上编译uboot和kernel
- 海思AI芯片(Hi3519A/3559A)方案学习(二)RuyiStudio安装
- 海思AI芯片(Hi3519A/3559A)方案学习(一)资料以及术语介绍
更多海思AI芯片方案学习笔记欢迎关注海思AI芯片方案学习。