AI老铁 · 2020年07月07日

海思AI芯片(Hi3519A/3559A)方案学习(七)ext4根文件系统制作

本系列为华为海思海思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芯片方案学习笔记欢迎关注海思AI芯片方案学习

推荐阅读
关注数
852
内容数
40
海思AI芯片(Hi3519A/3559A)方案学习系列笔记,欢迎关注。
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息