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

由于开发板上的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

你可能感兴趣的:(嵌入式AI)