目录
编译yaffs2 文件系统制作工具 mkyaffs2image100
注意
1.Hi3521D_V100&Hi3520D_V400共用SDK;
2.海思SDK版本中代号C01是uclibc库,C02是glibc库;
3.一般情况下无需编译busybox,直接使用SDK目录下制作好的文件系统Hi3521DV100_SDK_V1.0.4.0/package/rootfs_uclibc.tgz,加入自己的文件,修改启动脚本,再使用mkyaffs2image100制作文件系统即可。
BusyBox 简介
BusyBox 是标准 Linux 工具的一个单个可执行实现。BusyBox 包含了一些简单的工具,例如 cat 和 echo,还包含了一些更大、更复杂的工具,例如 grep、find、mount 以及 telnet。有些人将 BusyBox 称为 Linux 工具里的瑞士军刀.简单的说BusyBox就好像是个大工具箱,它集成压缩了 Linux 的许多工具和命令。
BusyBox用法
#busybox ls
他的功能就相当运行ls命令
最常用的用法是建立指向busybox的链接,不同的链接名完成不同的功能。
#ln -s busybox ls
#ln -s busybox rm
#ln -s busybox mkdir
然后分别运行这三个链接:
#./ls
#./rm
#./mkdir
就可以分别完成了ls rm 和mkdir命令的功能。虽然他们都指向同一个可执行程序busybox,但是只要链接名不同,完成的功能就不同。
BusyBox编译
进入 Hi3521DV100_SDK_V1.0.4.0/osdrv/opensource/busybox 目录,执行如下命令:
tar -zxvf busybox-1.20.2.tgz
cd busybox-1.20.2/
cp config_v500_a7_softfp_neon .config
make ARCH=arm CROSS_COMPILE=arm-hisiv500-linux- menuconfig
make
make install
编译yaffs2 文件系统制作工具 mkyaffs2image100
进入 Hi3521DV100_SDK_V1.0.4.0/osdrv/tools/pc/mkyaffs2image 目录,执行make,bin目录下的mkyaffs2image100就是文件系统制作工具
制作根文件系统
进入Hi3521DV100_SDK_V1.0.4.0/osdrv/pub目录,
将sdk自带的文件系统目录和脚本osdrv/rootfs_scripts/rootfs.tgz解压到rootfs_uclibc目录
拷贝busybox编译后的文件
cp –rf /home/ubuntu/workspace/hisi/Hi3521DV100_SDK_V1.0.4.0/osdrv/opensource/busybox/busybox-1.20.2/_install/* ./rootfs_uclibc/
拷贝单板运行库
cp -rf /opt/hisi-linux/x86-arm/arm-hisiv500-linux/target/a7_softfp_neon-vfpv4/* ./rootfs_uclibc/lib/
cp -rf /opt/hisi-linux/x86-arm/arm-hisiv500-linux/arm-hisiv500-linux-uclibcgnueabi/lib/a7_softfp_neon-vfpv4/libgcc_s* ./rootfs_uclibc/lib/
cp -rf /opt/hisi-linux/x86-arm/arm-hisiv500-linux/arm-hisiv500-linux-uclibcgnueabi/lib/a7_softfp_neon-vfpv4/libstdc++.so* ./rootfs_uclibc/lib/
加入自己的文件,修改启动脚本
制作yaffs2文件系统
/home/ubuntu/workspace/hisi/Hi3521DV100_SDK_V1.0.4.0/osdrv/tools/pc/mkyaffs2image/bin/mkyaffs2image100 ./rootfs_uclibc ./image_uclibc/rootfs_hi3520dv400_uclibc_2k_4bit.yaffs2 1 2
烧录、启动
boot from yaffs2
setenv bootargs 'mem=128M console=ttyAMA0,115200 root=/dev/mtdblock2 rw rootfstype=yaffs2 mtdparts=hinand:1M(boot),4M(kernel),-(rootfs)';