其他分享
首页 > 其他分享> > Hi3520DV400 文件系统编译和制作

Hi3520DV400 文件系统编译和制作

作者:互联网

目录

注意

BusyBox 简介

BusyBox用法

BusyBox编译

编译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)'; 


 

标签:busybox,uclibc,BusyBox,Hi3520DV400,文件系统,编译,linux,arm,rootfs
来源: https://blog.csdn.net/CHAMSDONCON/article/details/116456165