setenv bootargs 'mem=128M console=ttyAMA0,115200 clk_ignore_unused rw rootwait root=/dev/mmcblk0p3 rootfstype=ext4 blkdevparts=mmcblk0:1M(uboot.bin),9M(kernel),200M(rootfs.ext4),-(user)'
setenv bootcmd 'mmc read 0 0x80000000 800 4800; bootm 0x80000000'
saveenv
reset
54-20210324华为海思Hi3516DV300的linux系统增加busyBox文件系统(emmC模式)
2021/3/24 16:50
创建步骤
1、busyBox的编译
busyBox的作用是提供linux下的一系列命令工具,独立于内核,因为内核提供管理但不提供工具。目标平台不同,就需要使用不同的交叉编译工具链进行编译,编译步骤很简单。来源见参考1。
SDK中提供busyBox的源码故无需下载。在 /Hi3516CV500_SDK_V2.0.1.0/package/osdrv/opensource/busyBox 目录下解压busyBox-1.26.2.tgz。修改Makefile中的 ARCH 和 CROSS_COMPILE 两项。
#CROSS_COMPILE ?=
CROSS_COMPILE ?= arm-himix200-linux-
# bBox: we may have CONfig_CROSS_COMPILER_PREFIX in .config,
# and it has not been included yet... thus using an awkward Syntax.
ifeq ($(CROSS_COMPILE),)
CROSS_COMPILE := $(shell grep ^CONfig_CROSS_COMPILER_PREFIX .config 2>/dev/null)
CROSS_COMPILE := $(subst CONfig_CROSS_COMPILER_PREFIX=,,$(CROSS_COMPILE))
CROSS_COMPILE := $(subst ",,$(CROSS_COMPILE))
#")
endif
# SUbarCH tells the usermode build what the underlying arch is. That is set
# first, and if a usermode build is happening, the "ARCH=um" on the command
# line overrIDes the setting of ARCH below. If a native build is happening,
# then ARCH is assigned, getting whatever value it gets normally, and
# SUbarCH is subsequently ignored.
ifneq ($(CROSS_COMPILE),)
SUbarCH := $(shell echo $(CROSS_COMPILE) | cut -d- -f1)
else
SUbarCH := $(shell uname -m)
endif
SUbarCH := $(shell echo $(SUbarCH) | sed -e s/i.86/i386/ -e s/sun4u/sparc64/
-e s/arm.*/arm/ -e s/sa110/arm/
-e s/s390x/s390/ -e s/parisc64/parisc/
-e s/ppc.*/powerpc/ -e s/mips.*/mips/ )
#ARCH ?= $(SUbarCH)
ARCH ?= arm
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1/osdrv$
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1/osdrv$ ll
total 84
drwxrwxr-x 6 rootroot rootroot 4096 3月 24 11:08 ./
drwxrwxr-x 9 rootroot rootroot 4096 3月 24 11:07 ../
-rw-rw-r-- 1 rootroot rootroot 25593 3月 24 11:08 Makefile
drwxrwxr-x 5 rootroot rootroot 4096 5月 28 2020 opensource/
drwxrwxr-x 4 rootroot rootroot 4096 3月 24 11:15 pub/
-rw-rw-r-- 1 rootroot rootroot 12760 5月 28 2020 readme_cn.txt
-rw-rw-r-- 1 rootroot rootroot 12324 5月 28 2020 readme_en.txt
drwxrwxr-x 2 rootroot rootroot 4096 5月 28 2020 rootfs_scripts/
drwxrwxr-x 4 rootroot rootroot 4096 5月 28 2020 tools/
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1/osdrv$
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1/osdrv$
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1/osdrv$
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1/osdrv$ ll
total 84
drwxrwxr-x 6 rootroot rootroot 4096 3月 24 11:08 ./
drwxrwxr-x 9 rootroot rootroot 4096 3月 24 11:07 ../
-rw-rw-r-- 1 rootroot rootroot 25593 3月 24 11:08 Makefile
drwxrwxr-x 5 rootroot rootroot 4096 5月 28 2020 opensource/
drwxrwxr-x 4 rootroot rootroot 4096 3月 24 11:15 pub/
-rw-rw-r-- 1 rootroot rootroot 12760 5月 28 2020 readme_cn.txt
-rw-rw-r-- 1 rootroot rootroot 12324 5月 28 2020 readme_en.txt
drwxrwxr-x 2 rootroot rootroot 4096 5月 28 2020 rootfs_scripts/
drwxrwxr-x 4 rootroot rootroot 4096 5月 28 2020 tools/
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1/osdrv$
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1/osdrv$
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1/osdrv$ cd opensource/
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1/osdrv/opensource$
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1/osdrv/opensource$ ll
total 20
drwxrwxr-x 5 rootroot rootroot 4096 5月 28 2020 ./
drwxrwxr-x 6 rootroot rootroot 4096 3月 24 11:08 ../
drwxrwxr-x 3 rootroot rootroot 4096 3月 24 11:10 busyBox/
drwxrwxr-x 3 rootroot rootroot 4096 3月 24 11:09 kernel/
drwxrwxr-x 4 rootroot rootroot 4096 3月 24 11:09 uboot/
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1/osdrv/opensource$
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1/osdrv/opensource$ cd busyBox/
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1/osdrv/opensource/busyBox$
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1/osdrv/opensource/busyBox$ ll
total 2652
drwxrwxr-x 3 rootroot rootroot 4096 3月 24 11:10 ./
drwxrwxr-x 5 rootroot rootroot 4096 5月 28 2020 ../
drwxr-xr-x 36 rootroot rootroot 4096 3月 24 11:11 busyBox-1.26.2/
-rw-rw-r-- 1 rootroot rootroot 2700610 5月 28 2020 busyBox-1.26.2.tgz
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1/osdrv/opensource/busyBox$
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1/osdrv/opensource/busyBox$
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1/osdrv/opensource/busyBox$ rm busyBox-1.26.2 -rf
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1/osdrv/opensource/busyBox$
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1/osdrv/opensource/busyBox$
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1/osdrv/opensource/busyBox$ ll
total 2648
drwxrwxr-x 2 rootroot rootroot 4096 3月 24 11:37 ./
drwxrwxr-x 5 rootroot rootroot 4096 5月 28 2020 ../
-rw-rw-r-- 1 rootroot rootroot 2700610 5月 28 2020 busyBox-1.26.2.tgz
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1/osdrv/opensource/busyBox$
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1/osdrv/opensource/busyBox$
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1/osdrv/opensource/busyBox$ tar zxvf busyBox-1.26.2.tgz
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1/osdrv/opensource/busyBox$
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1/osdrv/opensource/busyBox$ cd busyBox-1.26.2/
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1/osdrv/opensource/busyBox/busyBox-1.26.2$
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1/osdrv/opensource/busyBox/busyBox-1.26.2$ ll
total 352
drwxr-xr-x 34 rootroot rootroot 4096 3月 24 16:53 ./
drwxrwxr-x 3 rootroot rootroot 4096 3月 24 16:51 ../
drwxr-xr-x 2 rootroot rootroot 4096 9月 12 2017 applets/
drwxr-xr-x 2 rootroot rootroot 4096 3月 5 2014 applets_sh/
drwxr-xr-x 3 rootroot rootroot 4096 3月 5 2014 arch/
drwxr-xr-x 3 rootroot rootroot 4096 9月 12 2017 archival/
-rw-r--r-- 1 rootroot rootroot 5288 7月 29 2017 AUTHORS
-rw-r--r-- 1 rootroot rootroot 22911 7月 29 2017 Config.in
drwxr-xr-x 2 rootroot rootroot 4096 7月 29 2017 configs/
-rw-r--r-- 1 rootroot rootroot 26360 4月 28 2020 config_v100_a7_softfp_neon
-rw-r--r-- 1 rootroot rootroot 26328 4月 28 2020 config_v200_a7_softfp_neon
drwxr-xr-x 2 rootroot rootroot 4096 9月 12 2017 console-tools/
drwxr-xr-x 3 rootroot rootroot 4096 9月 12 2017 coreutils/
drwxr-xr-x 2 rootroot rootroot 4096 9月 12 2017 debianutils/
drwxr-xr-x 3 rootroot rootroot 4096 7月 31 2017 docs/
drwxr-xr-x 2 rootroot rootroot 4096 9月 12 2017 e2fsprogs/
drwxr-xr-x 2 rootroot rootroot 4096 9月 12 2017 editors/
drwxr-xr-x 5 rootroot rootroot 4096 7月 29 2017 examples/
drwxr-xr-x 2 rootroot rootroot 4096 9月 12 2017 findutils/
drwxr-xr-x 2 rootroot rootroot 4096 9月 12 2017 include/
-rw-r--r-- 1 rootroot rootroot 871 3月 5 2014 .indent.pro
drwxr-xr-x 2 rootroot rootroot 4096 9月 12 2017 init/
-rw-r--r-- 1 rootroot rootroot 6116 3月 5 2014 INSTALL
drwxr-xr-x 2 rootroot rootroot 4096 12月 11 2017 libbb/
drwxr-xr-x 2 rootroot rootroot 4096 9月 12 2017 libpwdgrp/
-rw-r--r-- 1 rootroot rootroot 18348 3月 5 2014 liCENSE
drwxr-xr-x 2 rootroot rootroot 4096 9月 12 2017 loginutils/
drwxr-xr-x 2 rootroot rootroot 4096 9月 12 2017 mailutils/
-rw-r--r-- 1 rootroot rootroot 42766 3月 24 16:53 Makefile
-rw-r--r-- 1 rootroot rootroot 6241 7月 29 2017 Makefile.custom
-rw-r--r-- 1 rootroot rootroot 6913 7月 29 2017 Makefile.flags
-rw-r--r-- 1 rootroot rootroot 1896 7月 29 2017 Makefile.help
-rw-r--r-- 1 rootroot rootroot 2330 1月 1 2017 make_single_applets.sh
drwxr-xr-x 2 rootroot rootroot 4096 9月 12 2017 miscutils/
drwxr-xr-x 2 rootroot rootroot 4096 9月 12 2017 modutils/
drwxr-xr-x 6 rootroot rootroot 4096 9月 12 2017 networking/
drwxr-xr-x 2 rootroot rootroot 4096 9月 12 2017 printutils/
drwxr-xr-x 2 rootroot rootroot 4096 9月 12 2017 procps/
drwxr-xr-x 3 rootroot rootroot 4096 7月 29 2017 qemu_multiarch_testing/
-rw-r--r-- 1 rootroot rootroot 8755 7月 29 2017 README
drwxr-xr-x 2 rootroot rootroot 4096 9月 12 2017 runit/
drwxr-xr-x 4 rootroot rootroot 4096 9月 12 2017 scripts/
drwxr-xr-x 2 rootroot rootroot 4096 9月 12 2017 selinux/
drwxr-xr-x 4 rootroot rootroot 4096 9月 12 2017 shell/
drwxr-xr-x 2 rootroot rootroot 4096 9月 12 2017 sysklogd/
drwxr-xr-x 46 rootroot rootroot 4096 7月 29 2017 testsuite/
-rw-r--r-- 1 rootroot rootroot 11518 7月 29 2017 Todo
-rw-r--r-- 1 rootroot rootroot 731 3月 5 2014 Todo_unicode
drwxr-xr-x 3 rootroot rootroot 4096 9月 12 2017 util-linux/
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1/osdrv/opensource/busyBox/busyBox-1.26.2$
在命令行输入
make menuconfig
进入配置菜单。选中BusyBox Settings->Build Options->Build BusyBox as a static binary (no shared libs)项(空格键选中)。如下图所示:
其它的配置项均遵从默认即可。退出配置菜单并保存。
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1/osdrv/opensource/busyBox/busyBox-1.26.2$
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1/osdrv/opensource/busyBox/busyBox-1.26.2$ make menuconfig
BusyBox Settings --->
--- Build Options
[*] Build BusyBox as a static binary (no shared libs)
命令行下输入:
make
make install
即可在busyBox目录下生成 _install 文件夹。这里面存放的就是linux下 *** 作的基本命令了。
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1/osdrv/opensource/busyBox/busyBox-1.26.2$ make
CC util-linux/uevent.o
util-linux/uevent.c:35:2: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
MAX_ENV = COMMON_BUFSIZE / sizeof(env[0]) - 1,
^~~~~~~
CC util-linux/umount.o
CC util-linux/unshare.o
AR util-linux/lib.a
LD util-linux/volume_ID/built-in.o
CC util-linux/volume_ID/bcache.o
CC util-linux/volume_ID/btrfs.o
CC util-linux/volume_ID/cramfs.o
CC util-linux/volume_ID/exfat.o
CC util-linux/volume_ID/ext.o
CC util-linux/volume_ID/f2fs.o
CC util-linux/volume_ID/fat.o
CC util-linux/volume_ID/get_devname.o
CC util-linux/volume_ID/hfs.o
CC util-linux/volume_ID/iso9660.o
CC util-linux/volume_ID/jfs.o
CC util-linux/volume_ID/linux_raID.o
CC util-linux/volume_ID/linux_swap.o
CC util-linux/volume_ID/luks.o
CC util-linux/volume_ID/nilfs.o
CC util-linux/volume_ID/ntfs.o
CC util-linux/volume_ID/ocfs2.o
CC util-linux/volume_ID/reiserfs.o
CC util-linux/volume_ID/romfs.o
CC util-linux/volume_ID/sysv.o
CC util-linux/volume_ID/ubifs.o
CC util-linux/volume_ID/udf.o
CC util-linux/volume_ID/util.o
CC util-linux/volume_ID/volume_ID.o
CC util-linux/volume_ID/xfs.o
AR util-linux/volume_ID/lib.a
link busyBox_unstripped
Static linking against glibc, can't use --gc-sections
Trying librarIEs: crypt m
library crypt is not needed, excluding it
library m is needed, can't exclude it (yet)
Final link with: m
DOC busyBox.pod
DOC BusyBox.txt
DOC busyBox.1
DOC BusyBox.HTML
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1/osdrv/opensource/busyBox/busyBox-1.26.2$
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1/osdrv/opensource/busyBox/busyBox-1.26.2$
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1/osdrv/opensource/busyBox/busyBox-1.26.2$ make install
./_install//bin/ash -> busyBox
./_install//bin/base64 -> busyBox
./_install//bin/cat -> busyBox
./_install//bin/catv -> busyBox
./_install//bin/chattr -> busyBox
./_install//bin/chgrp -> busyBox
./_install//bin/chmod -> busyBox
./_install//bin/chown -> busyBox
./_install//bin/conspy -> busyBox
./_install//bin/cp -> busyBox
./_install//bin/cpio -> busyBox
./_install//bin/cttyHack -> busyBox
./_install//bin/date -> busyBox
./_install//bin/dd -> busyBox
./_install//bin/df -> busyBox
./_install//bin/dmesg -> busyBox
./_install//bin/dnsdomainname -> busyBox
./_install//bin/dumpkmap -> busyBox
./_install//bin/echo -> busyBox
./_install//bin/ed -> busyBox
./_install//bin/egrep -> busyBox
./_install//bin/false -> busyBox
./_install//bin/fatattr -> busyBox
./_install//bin/fdflush -> busyBox
./_install//bin/fgrep -> busyBox
./_install//bin/fsync -> busyBox
./_install//bin/getopt -> busyBox
./_install//bin/grep -> busyBox
./_install//bin/gunzip -> busyBox
./_install//bin/gzip -> busyBox
./_install//bin/hostname -> busyBox
./_install//bin/hush -> busyBox
./_install//bin/ionice -> busyBox
./_install//bin/iostat -> busyBox
./_install//bin/ipcalc -> busyBox
./_install//bin/kbd_mode -> busyBox
./_install//bin/kill -> busyBox
./_install//bin/linux32 -> busyBox
./_install//bin/linux64 -> busyBox
./_install//bin/ln -> busyBox
./_install//bin/login -> busyBox
./_install//bin/ls -> busyBox
./_install//bin/lsattr -> busyBox
./_install//bin/lzop -> busyBox
./_install//bin/makemime -> busyBox
./_install//bin/mkdir -> busyBox
./_install//bin/mknod -> busyBox
./_install//bin/mktemp -> busyBox
./_install//bin/more -> busyBox
./_install//bin/mount -> busyBox
./_install//bin/mountpoint -> busyBox
./_install//bin/mpstat -> busyBox
./_install//bin/mt -> busyBox
./_install//bin/mv -> busyBox
./_install//bin/netstat -> busyBox
./_install//bin/nice -> busyBox
./_install//bin/pIDof -> busyBox
./_install//bin/Ping -> busyBox
./_install//bin/Ping6 -> busyBox
./_install//bin/pipe_progress -> busyBox
./_install//bin/printenv -> busyBox
./_install//bin/ps -> busyBox
./_install//bin/pwd -> busyBox
./_install//bin/reformime -> busyBox
./_install//bin/rev -> busyBox
./_install//bin/rm -> busyBox
./_install//bin/rmdir -> busyBox
./_install//bin/rpm -> busyBox
./_install//bin/run-parts -> busyBox
./_install//bin/scriptreplay -> busyBox
./_install//bin/sed -> busyBox
./_install//bin/setarch -> busyBox
./_install//bin/setserial -> busyBox
./_install//bin/sh -> busyBox
./_install//bin/sleep -> busyBox
./_install//bin/stat -> busyBox
./_install//bin/stty -> busyBox
./_install//bin/su -> busyBox
./_install//bin/sync -> busyBox
./_install//bin/tar -> busyBox
./_install//bin/touch -> busyBox
./_install//bin/true -> busyBox
./_install//bin/umount -> busyBox
./_install//bin/uname -> busyBox
./_install//bin/usleep -> busyBox
./_install//bin/vi -> busyBox
./_install//bin/watch -> busyBox
./_install//bin/zcat -> busyBox
./_install//linuxrc -> bin/busyBox
./_install//sbin/acpID -> ../bin/busyBox
./_install//sbin/adjtimex -> ../bin/busyBox
./_install//sbin/arp -> ../bin/busyBox
./_install//sbin/blkID -> ../bin/busyBox
./_install//sbin/blockdev -> ../bin/busyBox
./_install//sbin/bootchartd -> ../bin/busyBox
./_install//sbin/depmod -> ../bin/busyBox
./_install//sbin/devmem -> ../bin/busyBox
./_install//sbin/fbsplash -> ../bin/busyBox
./_install//sbin/fdisk -> ../bin/busyBox
./_install//sbin/findfs -> ../bin/busyBox
./_install//sbin/freeramdisk -> ../bin/busyBox
./_install//sbin/fsck -> ../bin/busyBox
./_install//sbin/fsck.minix -> ../bin/busyBox
./_install//sbin/fstrim -> ../bin/busyBox
./_install//sbin/getty -> ../bin/busyBox
./_install//sbin/halt -> ../bin/busyBox
./_install//sbin/hdparm -> ../bin/busyBox
./_install//sbin/hwclock -> ../bin/busyBox
./_install//sbin/ifconfig -> ../bin/busyBox
./_install//sbin/ifdown -> ../bin/busyBox
./_install//sbin/ifenslave -> ../bin/busyBox
./_install//sbin/ifup -> ../bin/busyBox
./_install//sbin/init -> ../bin/busyBox
./_install//sbin/insmod -> ../bin/busyBox
./_install//sbin/ip -> ../bin/busyBox
./_install//sbin/ipaddr -> ../bin/busyBox
./_install//sbin/iplink -> ../bin/busyBox
./_install//sbin/ipneigh -> ../bin/busyBox
./_install//sbin/iproute -> ../bin/busyBox
./_install//sbin/iprule -> ../bin/busyBox
./_install//sbin/iptunnel -> ../bin/busyBox
./_install//sbin/klogd -> ../bin/busyBox
./_install//sbin/loadkmap -> ../bin/busyBox
./_install//sbin/logread -> ../bin/busyBox
./_install//sbin/losetup -> ../bin/busyBox
./_install//sbin/lsmod -> ../bin/busyBox
./_install//sbin/makedevs -> ../bin/busyBox
./_install//sbin/mdev -> ../bin/busyBox
./_install//sbin/mkdosfs -> ../bin/busyBox
./_install//sbin/mke2fs -> ../bin/busyBox
./_install//sbin/mkfs.ext2 -> ../bin/busyBox
./_install//sbin/mkfs.minix -> ../bin/busyBox
./_install//sbin/mkfs.vfat -> ../bin/busyBox
./_install//sbin/mkswap -> ../bin/busyBox
./_install//sbin/modinfo -> ../bin/busyBox
./_install//sbin/modprobe -> ../bin/busyBox
./_install//sbin/nameif -> ../bin/busyBox
./_install//sbin/pivot_root -> ../bin/busyBox
./_install//sbin/poweroff -> ../bin/busyBox
./_install//sbin/raIDautorun -> ../bin/busyBox
./_install//sbin/reboot -> ../bin/busyBox
./_install//sbin/rmmod -> ../bin/busyBox
./_install//sbin/route -> ../bin/busyBox
./_install//sbin/runlevel -> ../bin/busyBox
./_install//sbin/setconsole -> ../bin/busyBox
./_install//sbin/slattach -> ../bin/busyBox
./_install//sbin/start-stop-daemon -> ../bin/busyBox
./_install//sbin/sulogin -> ../bin/busyBox
./_install//sbin/swapoff -> ../bin/busyBox
./_install//sbin/swapon -> ../bin/busyBox
./_install//sbin/switch_root -> ../bin/busyBox
./_install//sbin/sysctl -> ../bin/busyBox
./_install//sbin/syslogd -> ../bin/busyBox
./_install//sbin/tunctl -> ../bin/busyBox
./_install//sbin/udhcpc -> ../bin/busyBox
./_install//sbin/uevent -> ../bin/busyBox
./_install//sbin/vconfig -> ../bin/busyBox
./_install//sbin/watchdog -> ../bin/busyBox
./_install//sbin/zcip -> ../bin/busyBox
./_install//usr/bin/[ -> ../../bin/busyBox
./_install//usr/bin/[[ -> ../../bin/busyBox
./_install//usr/bin/awk -> ../../bin/busyBox
./_install//usr/bin/basename -> ../../bin/busyBox
./_install//usr/bin/beep -> ../../bin/busyBox
./_install//usr/bin/blkdiscard -> ../../bin/busyBox
./_install//usr/bin/bunzip2 -> ../../bin/busyBox
./_install//usr/bin/bzcat -> ../../bin/busyBox
./_install//usr/bin/bzip2 -> ../../bin/busyBox
./_install//usr/bin/cal -> ../../bin/busyBox
./_install//usr/bin/chpst -> ../../bin/busyBox
./_install//usr/bin/chrt -> ../../bin/busyBox
./_install//usr/bin/chvt -> ../../bin/busyBox
./_install//usr/bin/cksum -> ../../bin/busyBox
./_install//usr/bin/clear -> ../../bin/busyBox
./_install//usr/bin/cmp -> ../../bin/busyBox
./_install//usr/bin/comm -> ../../bin/busyBox
./_install//usr/bin/crontab -> ../../bin/busyBox
./_install//usr/bin/cryptpw -> ../../bin/busyBox
./_install//usr/bin/cut -> ../../bin/busyBox
./_install//usr/bin/dc -> ../../bin/busyBox
./_install//usr/bin/deallocvt -> ../../bin/busyBox
./_install//usr/bin/diff -> ../../bin/busyBox
./_install//usr/bin/dirname -> ../../bin/busyBox
./_install//usr/bin/dos2unix -> ../../bin/busyBox
./_install//usr/bin/dpkg -> ../../bin/busyBox
./_install//usr/bin/dpkg-deb -> ../../bin/busyBox
./_install//usr/bin/du -> ../../bin/busyBox
./_install//usr/bin/dumpleases -> ../../bin/busyBox
./_install//usr/bin/eject -> ../../bin/busyBox
./_install//usr/bin/env -> ../../bin/busyBox
./_install//usr/bin/envdir -> ../../bin/busyBox
./_install//usr/bin/envuIDgID -> ../../bin/busyBox
./_install//usr/bin/expand -> ../../bin/busyBox
./_install//usr/bin/expr -> ../../bin/busyBox
./_install//usr/bin/fgconsole -> ../../bin/busyBox
./_install//usr/bin/find -> ../../bin/busyBox
./_install//usr/bin/flock -> ../../bin/busyBox
./_install//usr/bin/fold -> ../../bin/busyBox
./_install//usr/bin/free -> ../../bin/busyBox
./_install//usr/bin/ftpget -> ../../bin/busyBox
./_install//usr/bin/ftpput -> ../../bin/busyBox
./_install//usr/bin/fuser -> ../../bin/busyBox
./_install//usr/bin/groups -> ../../bin/busyBox
./_install//usr/bin/hd -> ../../bin/busyBox
./_install//usr/bin/head -> ../../bin/busyBox
./_install//usr/bin/hexdump -> ../../bin/busyBox
./_install//usr/bin/hostID -> ../../bin/busyBox
./_install//usr/bin/ID -> ../../bin/busyBox
./_install//usr/bin/install -> ../../bin/busyBox
./_install//usr/bin/ipcrm -> ../../bin/busyBox
./_install//usr/bin/ipcs -> ../../bin/busyBox
./_install//usr/bin/killall -> ../../bin/busyBox
./_install//usr/bin/last -> ../../bin/busyBox
./_install//usr/bin/less -> ../../bin/busyBox
./_install//usr/bin/logger -> ../../bin/busyBox
./_install//usr/bin/logname -> ../../bin/busyBox
./_install//usr/bin/lpq -> ../../bin/busyBox
./_install//usr/bin/lpr -> ../../bin/busyBox
./_install//usr/bin/lsof -> ../../bin/busyBox
./_install//usr/bin/lspci -> ../../bin/busyBox
./_install//usr/bin/lsusb -> ../../bin/busyBox
./_install//usr/bin/lzcat -> ../../bin/busyBox
./_install//usr/bin/lzma -> ../../bin/busyBox
./_install//usr/bin/lzopcat -> ../../bin/busyBox
./_install//usr/bin/man -> ../../bin/busyBox
./_install//usr/bin/md5sum -> ../../bin/busyBox
./_install//usr/bin/mesg -> ../../bin/busyBox
./_install//usr/bin/microcom -> ../../bin/busyBox
./_install//usr/bin/mkfifo -> ../../bin/busyBox
./_install//usr/bin/mkpasswd -> ../../bin/busyBox
./_install//usr/bin/nc -> ../../bin/busyBox
./_install//usr/bin/nmeter -> ../../bin/busyBox
./_install//usr/bin/nohup -> ../../bin/busyBox
./_install//usr/bin/nsenter -> ../../bin/busyBox
./_install//usr/bin/nslookup -> ../../bin/busyBox
./_install//usr/bin/od -> ../../bin/busyBox
./_install//usr/bin/openvt -> ../../bin/busyBox
./_install//usr/bin/passwd -> ../../bin/busyBox
./_install//usr/bin/patch -> ../../bin/busyBox
./_install//usr/bin/pgrep -> ../../bin/busyBox
./_install//usr/bin/pkill -> ../../bin/busyBox
./_install//usr/bin/pmap -> ../../bin/busyBox
./_install//usr/bin/printf -> ../../bin/busyBox
./_install//usr/bin/pscan -> ../../bin/busyBox
./_install//usr/bin/pstree -> ../../bin/busyBox
./_install//usr/bin/pwdx -> ../../bin/busyBox
./_install//usr/bin/readlink -> ../../bin/busyBox
./_install//usr/bin/realpath -> ../../bin/busyBox
./_install//usr/bin/renice -> ../../bin/busyBox
./_install//usr/bin/reset -> ../../bin/busyBox
./_install//usr/bin/resize -> ../../bin/busyBox
./_install//usr/bin/rpm2cpio -> ../../bin/busyBox
./_install//usr/bin/runsv -> ../../bin/busyBox
./_install//usr/bin/runsvdir -> ../../bin/busyBox
./_install//usr/bin/rx -> ../../bin/busyBox
./_install//usr/bin/script -> ../../bin/busyBox
./_install//usr/bin/seq -> ../../bin/busyBox
./_install//usr/bin/setkeycodes -> ../../bin/busyBox
./_install//usr/bin/setsID -> ../../bin/busyBox
./_install//usr/bin/setuIDgID -> ../../bin/busyBox
./_install//usr/bin/sha1sum -> ../../bin/busyBox
./_install//usr/bin/sha256sum -> ../../bin/busyBox
./_install//usr/bin/sha3sum -> ../../bin/busyBox
./_install//usr/bin/sha512sum -> ../../bin/busyBox
./_install//usr/bin/showkey -> ../../bin/busyBox
./_install//usr/bin/shuf -> ../../bin/busyBox
./_install//usr/bin/smemcap -> ../../bin/busyBox
./_install//usr/bin/softlimit -> ../../bin/busyBox
./_install//usr/bin/sort -> ../../bin/busyBox
./_install//usr/bin/split -> ../../bin/busyBox
./_install//usr/bin/strings -> ../../bin/busyBox
./_install//usr/bin/sum -> ../../bin/busyBox
./_install//usr/bin/sv -> ../../bin/busyBox
./_install//usr/bin/svc -> ../../bin/busyBox
./_install//usr/bin/tac -> ../../bin/busyBox
./_install//usr/bin/tail -> ../../bin/busyBox
./_install//usr/bin/tcpsvd -> ../../bin/busyBox
./_install//usr/bin/tee -> ../../bin/busyBox
./_install//usr/bin/telnet -> ../../bin/busyBox
./_install//usr/bin/test -> ../../bin/busyBox
./_install//usr/bin/tftp -> ../../bin/busyBox
./_install//usr/bin/time -> ../../bin/busyBox
./_install//usr/bin/timeout -> ../../bin/busyBox
./_install//usr/bin/top -> ../../bin/busyBox
./_install//usr/bin/tr -> ../../bin/busyBox
./_install//usr/bin/traceroute -> ../../bin/busyBox
./_install//usr/bin/traceroute6 -> ../../bin/busyBox
./_install//usr/bin/truncate -> ../../bin/busyBox
./_install//usr/bin/tty -> ../../bin/busyBox
./_install//usr/bin/ttysize -> ../../bin/busyBox
./_install//usr/bin/udpsvd -> ../../bin/busyBox
./_install//usr/bin/unexpand -> ../../bin/busyBox
./_install//usr/bin/uniq -> ../../bin/busyBox
./_install//usr/bin/unix2dos -> ../../bin/busyBox
./_install//usr/bin/unlink -> ../../bin/busyBox
./_install//usr/bin/unlzma -> ../../bin/busyBox
./_install//usr/bin/unlzop -> ../../bin/busyBox
./_install//usr/bin/unshare -> ../../bin/busyBox
./_install//usr/bin/unxz -> ../../bin/busyBox
./_install//usr/bin/unzip -> ../../bin/busyBox
./_install//usr/bin/uptime -> ../../bin/busyBox
./_install//usr/bin/users -> ../../bin/busyBox
./_install//usr/bin/uudecode -> ../../bin/busyBox
./_install//usr/bin/uuencode -> ../../bin/busyBox
./_install//usr/bin/vlock -> ../../bin/busyBox
./_install//usr/bin/volname -> ../../bin/busyBox
./_install//usr/bin/wall -> ../../bin/busyBox
./_install//usr/bin/wc -> ../../bin/busyBox
./_install//usr/bin/wget -> ../../bin/busyBox
./_install//usr/bin/which -> ../../bin/busyBox
./_install//usr/bin/who -> ../../bin/busyBox
./_install//usr/bin/whoami -> ../../bin/busyBox
./_install//usr/bin/whois -> ../../bin/busyBox
./_install//usr/bin/xargs -> ../../bin/busyBox
./_install//usr/bin/xz -> ../../bin/busyBox
./_install//usr/bin/xzcat -> ../../bin/busyBox
./_install//usr/bin/yes -> ../../bin/busyBox
./_install//usr/sbin/add-shell -> ../../bin/busyBox
./_install//usr/sbin/addgroup -> ../../bin/busyBox
./_install//usr/sbin/adduser -> ../../bin/busyBox
./_install//usr/sbin/arPing -> ../../bin/busyBox
./_install//usr/sbin/brctl -> ../../bin/busyBox
./_install//usr/sbin/chat -> ../../bin/busyBox
./_install//usr/sbin/chpasswd -> ../../bin/busyBox
./_install//usr/sbin/chroot -> ../../bin/busyBox
./_install//usr/sbin/crond -> ../../bin/busyBox
./_install//usr/sbin/delgroup -> ../../bin/busyBox
./_install//usr/sbin/deluser -> ../../bin/busyBox
./_install//usr/sbin/dhcprelay -> ../../bin/busyBox
./_install//usr/sbin/dnsd -> ../../bin/busyBox
./_install//usr/sbin/ether-wake -> ../../bin/busyBox
./_install//usr/sbin/fakeIDentd -> ../../bin/busyBox
./_install//usr/sbin/fbset -> ../../bin/busyBox
./_install//usr/sbin/fdformat -> ../../bin/busyBox
./_install//usr/sbin/ftpd -> ../../bin/busyBox
./_install//usr/sbin/httpd -> ../../bin/busyBox
./_install//usr/sbin/i2cdetect -> ../../bin/busyBox
./_install//usr/sbin/i2cdump -> ../../bin/busyBox
./_install//usr/sbin/i2cget -> ../../bin/busyBox
./_install//usr/sbin/i2cset -> ../../bin/busyBox
./_install//usr/sbin/ifplugd -> ../../bin/busyBox
./_install//usr/sbin/inetd -> ../../bin/busyBox
./_install//usr/sbin/killall5 -> ../../bin/busyBox
./_install//usr/sbin/loadFont -> ../../bin/busyBox
./_install//usr/sbin/lpd -> ../../bin/busyBox
./_install//usr/sbin/nanddump -> ../../bin/busyBox
./_install//usr/sbin/nanDWrite -> ../../bin/busyBox
./_install//usr/sbin/nbd-clIEnt -> ../../bin/busyBox
./_install//usr/sbin/ntpd -> ../../bin/busyBox
./_install//usr/sbin/popmaildir -> ../../bin/busyBox
./_install//usr/sbin/powertop -> ../../bin/busyBox
./_install//usr/sbin/rdate -> ../../bin/busyBox
./_install//usr/sbin/rdev -> ../../bin/busyBox
./_install//usr/sbin/readahead -> ../../bin/busyBox
./_install//usr/sbin/readprofile -> ../../bin/busyBox
./_install//usr/sbin/remove-shell -> ../../bin/busyBox
./_install//usr/sbin/rtcwake -> ../../bin/busyBox
./_install//usr/sbin/sendmail -> ../../bin/busyBox
./_install//usr/sbin/setFont -> ../../bin/busyBox
./_install//usr/sbin/setlogcons -> ../../bin/busyBox
./_install//usr/sbin/svlogd -> ../../bin/busyBox
./_install//usr/sbin/telnetd -> ../../bin/busyBox
./_install//usr/sbin/tftpd -> ../../bin/busyBox
./_install//usr/sbin/ubiattach -> ../../bin/busyBox
./_install//usr/sbin/ubIDetach -> ../../bin/busyBox
./_install//usr/sbin/ubimkvol -> ../../bin/busyBox
./_install//usr/sbin/ubirename -> ../../bin/busyBox
./_install//usr/sbin/ubirmvol -> ../../bin/busyBox
./_install//usr/sbin/ubirsvol -> ../../bin/busyBox
./_install//usr/sbin/ubiupdatevol -> ../../bin/busyBox
./_install//usr/sbin/udhcpd -> ../../bin/busyBox
--------------------------------------------------
You will probably need to make your busyBox binary
setuID root to ensure all configured applets will
work properly.
--------------------------------------------------
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1/osdrv/opensource/busyBox/busyBox-1.26.2$
(make all已经全部编译过了!)
2、海思工具的编译
在 Hi3516CV500_SDK_V2.0.1.0/package/osdrv/tools/board 目录下,存放了板端可能用得到的工具。在 Hi3516CV500_SDK_V2.0.1.0/package/osdrv/tools/pc 目录下,则需要使用 make_ext4fs 工具。
2.1 himm工具的编译
himm工具是海思提供的可以直接 *** 作SOC寄存器的工具,当配置IO复用或者调整IRCUT等的时候,可能会用上。himm工具在板端目录下的 reg-tools-1.0.0 文件夹内,命令行进入直接输入 make 编译即可。
2.2 make_ext4fs工具的编译
ext4是用于emmC的文件系统,make_ext4fs工具在pc端目录下的 ext4_utils 文件夹内,如果安装过程中出错,提示 cannot find uuID library required for mkfs.ubifs ,则验证有没有安装以下依赖包:
sudo apt install libuuID1:i386 zlib1g-dev liblzo2-dev uuID-dev pkg-config
而后重新 make 即可。本步骤来源见参考2。
3、建立根文件系统的目录
Z:Hi3516CV500R001C02SPC021ReleaseDoczh 1.softwareboardOSDRVHi35xxVxxx 开发环境用户指南.pdf(P17-P26)
本阶段步骤部分来源为:《Hi3516CV500╱Hi3516DV300╱Hi3516AV300 开发环境用户指南》
找一个自己喜欢的目录,建一个用于存放根文件系统的文件夹,比如这里就单纯的命名为 rootfs 。
3.1 复制busyBox编译的文件到rootfs目录
这一步很简单,因为目录还是空的,所以直接拷贝busyBox目录下的 _install 中全部文件(夹)到 rootfs 目录即可。
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1/osdrv/opensource/busyBox/busyBox-1.26.2$
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1/osdrv/opensource/busyBox/busyBox-1.26.2$ mv _install/ ../../../..
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1/osdrv/opensource/busyBox/busyBox-1.26.2$
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1/osdrv/opensource/busyBox/busyBox-1.26.2$
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1/osdrv/opensource/busyBox/busyBox-1.26.2$ cd ../../../..
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1$
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1$
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1$ ll
total 52
drwxrwxr-x 10 rootroot rootroot 4096 3月 24 17:06 ./
drwxrwxr-x 6 rootroot rootroot 4096 3月 24 14:14 ../
drwxrwxr-x 2 rootroot rootroot 4096 5月 28 2020 hi3516av300_spi_smp_image_glibc/
drwxrwxr-x 2 rootroot rootroot 4096 5月 28 2020 hi3516cv500_spi_smp_image_glibc/
drwxrwxr-x 2 rootroot rootroot 4096 5月 28 2020 hi3516dv300_spi_smp_image_glibc/
drwxrwxr-x 5 rootroot rootroot 4096 3月 24 16:57 _install/
drwxrwxr-x 6 rootroot rootroot 4096 3月 24 16:40 osdrv/
drwxrwxr-x 2 rootroot rootroot 4096 5月 28 2020 package/
drwxrwxr-x 2 rootroot rootroot 4096 5月 28 2020 scripts/
-rwxrwxr-x 1 rootroot rootroot 880 5月 28 2020 sdk.cleanuP*
-rwxrwxr-x 1 rootroot rootroot 4891 5月 28 2020 sdk.unpack*
drwxrwxr-x 3 rootroot rootroot 4096 3月 24 14:15 smp/
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1$
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1$
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1$ mv _install/ rootfs
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1$
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1$ ll
total 52
drwxrwxr-x 10 rootroot rootroot 4096 3月 24 17:06 ./
drwxrwxr-x 6 rootroot rootroot 4096 3月 24 14:14 ../
drwxrwxr-x 2 rootroot rootroot 4096 5月 28 2020 hi3516av300_spi_smp_image_glibc/
drwxrwxr-x 2 rootroot rootroot 4096 5月 28 2020 hi3516cv500_spi_smp_image_glibc/
drwxrwxr-x 2 rootroot rootroot 4096 5月 28 2020 hi3516dv300_spi_smp_image_glibc/
drwxrwxr-x 6 rootroot rootroot 4096 3月 24 16:40 osdrv/
drwxrwxr-x 2 rootroot rootroot 4096 5月 28 2020 package/
drwxrwxr-x 5 rootroot rootroot 4096 3月 24 16:57 rootfs/
drwxrwxr-x 2 rootroot rootroot 4096 5月 28 2020 scripts/
-rwxrwxr-x 1 rootroot rootroot 880 5月 28 2020 sdk.cleanuP*
-rwxrwxr-x 1 rootroot rootroot 4891 5月 28 2020 sdk.unpack*
drwxrwxr-x 3 rootroot rootroot 4096 3月 24 14:15 smp/
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1$
3.2 复制himm工具到rootfs
在himm工具编译完后,将其目录下 bin 文件夹中的内容复制到 rootfs/bin 中,这样就算完成了。
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1$
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1$
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1$ find . -name himm
./osdrv/tools/board/reg-tools-1.0.0/bin/himm
./osdrv/pub/bin/board_glibc/himm
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1$
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1$
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1$ cp osdrv/pub/bin/board_glibc/himm rootfs/bin/
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1$
3.3 填充etc目录
进入目录:
/Hi3516CV500_SDK_V2.0.1.0/package/osdrv/opensource/busyBox/busyBox-1.26.2/examples/bootfloppy/etc
将其中的所有文件拷贝到 rootfs/etc 中,这将作为kerne的“启动”文件夹。
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1$
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1$ cd osdrv/opensource/busyBox/busyBox-1.26.2/examples/bootfloppy/
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1/osdrv/opensource/busyBox/busyBox-1.26.2/examples/bootfloppy$
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1/osdrv/opensource/busyBox/busyBox-1.26.2/examples/bootfloppy$ ll
total 44
drwxr-xr-x 3 rootroot rootroot 4096 3月 5 2014 ./
drwxr-xr-x 5 rootroot rootroot 4096 7月 29 2017 ../
-rw-r--r-- 1 rootroot rootroot 4614 3月 5 2014 bootfloppy.txt
-rw-r--r-- 1 rootroot rootroot 135 3月 5 2014 display.txt
drwxr-xr-x 3 rootroot rootroot 4096 3月 5 2014 etc/
-rwxr-xr-x 1 rootroot rootroot 1042 3月 5 2014 mkdevs.sh*
-rwxr-xr-x 1 rootroot rootroot 2335 3月 5 2014 mkrootfs.sh*
-rwxr-xr-x 1 rootroot rootroot 1183 3月 5 2014 mksyslinux.sh*
-rw-r--r-- 1 rootroot rootroot 574 3月 5 2014 quickstart.txt
-rw-r--r-- 1 rootroot rootroot 120 3月 5 2014 syslinux.cfg
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1/osdrv/opensource/busyBox/busyBox-1.26.2/examples/bootfloppy$
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1/osdrv/opensource/busyBox/busyBox-1.26.2/examples/bootfloppy$
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1/osdrv/opensource/busyBox/busyBox-1.26.2/examples/bootfloppy$ mv etc/ ../../../../../../
hi3516av300_spi_smp_image_glibc/ hi3516dv300_spi_smp_image_glibc/ package/ scripts/ sdk.unpack
hi3516cv500_spi_smp_image_glibc/ osdrv/ rootfs/ sdk.cleanup smp/
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1/osdrv/opensource/busyBox/busyBox-1.26.2/examples/bootfloppy$ mv etc/ ../../../../../../rootfs/
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1/osdrv/opensource/busyBox/busyBox-1.26.2/examples/bootfloppy$
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1/osdrv/opensource/busyBox/busyBox-1.26.2/examples/bootfloppy$
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1/osdrv/opensource/busyBox/busyBox-1.26.2/examples/bootfloppy$ cd ../../../../../../rootfs/
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1/rootfs$
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1/rootfs$ ll
total 24
drwxrwxr-x 6 rootroot rootroot 4096 3月 24 17:09 ./
drwxrwxr-x 10 rootroot rootroot 4096 3月 24 17:06 ../
drwxrwxr-x 2 rootroot rootroot 4096 3月 24 17:07 bin/
drwxr-xr-x 3 rootroot rootroot 4096 3月 5 2014 etc/
lrwxrwxrwx 1 rootroot rootroot 11 3月 24 16:57 linuxrc -> bin/busyBox*
drwxrwxr-x 2 rootroot rootroot 4096 3月 24 16:57 sbin/
drwxrwxr-x 4 rootroot rootroot 4096 3月 24 16:57 usr/
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1/rootfs$
3.4 填充lib目录
Hi3516DV300芯片具有浮点运算单元和neon,程序运行需要依赖编译工具提供的运行库,进入海思arm-himix200-linux-工具链对应目录下:
cd /opt/hisi-linux/x86-arm/arm-himix200-linux/runtime_glibc/a7_softfp_neon-vfpv4
可以看到其中有一个孤零零的 lib.tgz 文件,解压到rootfs中的lib文件夹内即可。
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1/rootfs$ ll
total 24
drwxrwxr-x 6 rootroot rootroot 4096 3月 24 17:09 ./
drwxrwxr-x 10 rootroot rootroot 4096 3月 24 17:06 ../
drwxrwxr-x 2 rootroot rootroot 4096 3月 24 17:07 bin/
drwxr-xr-x 3 rootroot rootroot 4096 3月 5 2014 etc/
lrwxrwxrwx 1 rootroot rootroot 11 3月 24 16:57 linuxrc -> bin/busyBox*
drwxrwxr-x 2 rootroot rootroot 4096 3月 24 16:57 sbin/
drwxrwxr-x 4 rootroot rootroot 4096 3月 24 16:57 usr/
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1/rootfs$
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1/rootfs$
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1/rootfs$
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1/rootfs$ cd /opt/hisi-linux/x86-arm/arm-himix200-linux/runtime_glibc/a7_softfp_neon-vfpv4
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:/opt/hisi-linux/x86-arm/arm-himix200-linux/runtime_glibc/a7_softfp_neon-vfpv4$
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:/opt/hisi-linux/x86-arm/arm-himix200-linux/runtime_glibc/a7_softfp_neon-vfpv4$
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:/opt/hisi-linux/x86-arm/arm-himix200-linux/runtime_glibc/a7_softfp_neon-vfpv4$ ll
total 10448
drwxr-xr-x 2 520 520 4096 12月 18 2019 ./
drwxr-xr-x 35 520 520 4096 12月 18 2019 ../
-rw-r--r-- 1 520 520 10688507 12月 18 2019 lib.tgz
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:/opt/hisi-linux/x86-arm/arm-himix200-linux/runtime_glibc/a7_softfp_neon-vfpv4$
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:/opt/hisi-linux/x86-arm/arm-himix200-linux/runtime_glibc/a7_softfp_neon-vfpv4$
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:/opt/hisi-linux/x86-arm/arm-himix200-linux/runtime_glibc/a7_softfp_neon-vfpv4$ cp lib.tgz ~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1/rootfs/
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:/opt/hisi-linux/x86-arm/arm-himix200-linux/runtime_glibc/a7_softfp_neon-vfpv4$
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:/opt/hisi-linux/x86-arm/arm-himix200-linux/runtime_glibc/a7_softfp_neon-vfpv4$
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:/opt/hisi-linux/x86-arm/arm-himix200-linux/runtime_glibc/a7_softfp_neon-vfpv4$ cd -
/home/rootroot/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1/rootfs
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1/rootfs$
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1/rootfs$
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1/rootfs$ ll
total 10464
drwxrwxr-x 6 rootroot rootroot 4096 3月 24 17:13 ./
drwxrwxr-x 10 rootroot rootroot 4096 3月 24 17:06 ../
drwxrwxr-x 2 rootroot rootroot 4096 3月 24 17:07 bin/
drwxr-xr-x 3 rootroot rootroot 4096 3月 5 2014 etc/
-rw-r--r-- 1 rootroot rootroot 10688507 3月 24 17:13 lib.tgz
lrwxrwxrwx 1 rootroot rootroot 11 3月 24 16:57 linuxrc -> bin/busyBox*
drwxrwxr-x 2 rootroot rootroot 4096 3月 24 16:57 sbin/
drwxrwxr-x 4 rootroot rootroot 4096 3月 24 16:57 usr/
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1/rootfs$
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1/rootfs$
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1/rootfs$ tar zxvf lib.tgz
lib/
lib/libresolv-2.24.so
lib/libgomp.so.1
lib/libcIDn.so.1
lib/libbrokenLocale-2.24.so
lib/libthread_db-1.0.so
lib/libdl-2.24.so
lib/libstdc++.so.6.0.23
lib/a7_softfp_neon-vfpv4
lib/libnss_compat.so.2
lib/libgcc_s.so
lib/libnss_nisplus-2.24.so
lib/libasan.so.3.0.0
lib/libutil.so.1
lib/libstdc++.so
lib/libcrypt.so.1
lib/libanl-2.24.so
lib/libdl.so.2
lib/ld-linux.so.3
lib/libmemusage.so
lib/libubsan.so.0
lib/libutil-2.24.so
lib/libnss_db-2.24.so
lib/libpthread-2.24.so
lib/libnss_compat-2.24.so
lib/libc-2.24.so
lib/ld-linux-armhf.so.3
lib/libnss_files-2.24.so
lib/librt.so.1
lib/libnsl-2.24.so
lib/libm.so.6
lib/libbrokenLocale.so.1
lib/libstdc++.so.6
lib/libasan.so
lib/libatomic.so.1
lib/libgomp.so
lib/libnss_nisplus.so.2
lib/libnss_dns-2.24.so
lib/libresolv.so.2
lib/libcIDn-2.24.so
lib/libthread_db.so.1
lib/libSegFault.so
lib/libm-2.24.so
lib/libubsan.so.0.0.0
lib/librt-2.24.so
lib/libgomp.so.1.0.0
lib/libubsan.so
lib/libgcc_s.so.1
lib/libasan_preinit.o
lib/libatomic.so
lib/libnss_db.so.2
lib/libpcprofile.so
lib/libcrypt-2.24.so
lib/ld-2.24.so
lib/libnss_nis.so.2
lib/libasan.so.3
lib/libpthread.so.0
lib/libanl.so.1
lib/libnss_hesiod-2.24.so
lib/libc.so.6
lib/libnss_hesiod.so.2
lib/libnss_dns.so.2
lib/libnss_nis-2.24.so
lib/libatomic.so.1.2.0
lib/libnss_files.so.2
lib/libnsl.so.1
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1/rootfs$
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1/rootfs$
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1/rootfs$ ll
total 10468
drwxrwxr-x 7 rootroot rootroot 4096 3月 24 17:13 ./
drwxrwxr-x 10 rootroot rootroot 4096 3月 24 17:06 ../
drwxrwxr-x 2 rootroot rootroot 4096 3月 24 17:07 bin/
drwxr-xr-x 3 rootroot rootroot 4096 3月 5 2014 etc/
drwxr-xr-x 2 rootroot rootroot 4096 12月 18 2019 lib/
-rw-r--r-- 1 rootroot rootroot 10688507 3月 24 17:13 lib.tgz
lrwxrwxrwx 1 rootroot rootroot 11 3月 24 16:57 linuxrc -> bin/busyBox*
drwxrwxr-x 2 rootroot rootroot 4096 3月 24 16:57 sbin/
drwxrwxr-x 4 rootroot rootroot 4096 3月 24 16:57 usr/
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1/rootfs$ rm lib.tgz
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1/rootfs$
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1/rootfs$ ll
total 28
drwxrwxr-x 7 rootroot rootroot 4096 3月 24 17:13 ./
drwxrwxr-x 10 rootroot rootroot 4096 3月 24 17:06 ../
drwxrwxr-x 2 rootroot rootroot 4096 3月 24 17:07 bin/
drwxr-xr-x 3 rootroot rootroot 4096 3月 5 2014 etc/
drwxr-xr-x 2 rootroot rootroot 4096 12月 18 2019 lib/
lrwxrwxrwx 1 rootroot rootroot 11 3月 24 16:57 linuxrc -> bin/busyBox*
drwxrwxr-x 2 rootroot rootroot 4096 3月 24 16:57 sbin/
drwxrwxr-x 4 rootroot rootroot 4096 3月 24 16:57 usr/
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1/rootfs$
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1/rootfs$
3.5 建立根文件系统目录结构
使用命令行进入 rootfs 文件夹中,输入:
mkdir etc dev lib tmp var mnt home proc
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1/rootfs$
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1/rootfs$ ll
total 28
drwxrwxr-x 7 rootroot rootroot 4096 3月 24 17:13 ./
drwxrwxr-x 10 rootroot rootroot 4096 3月 24 17:06 ../
drwxrwxr-x 2 rootroot rootroot 4096 3月 24 17:07 bin/
drwxr-xr-x 3 rootroot rootroot 4096 3月 5 2014 etc/
drwxr-xr-x 2 rootroot rootroot 4096 12月 18 2019 lib/
lrwxrwxrwx 1 rootroot rootroot 11 3月 24 16:57 linuxrc -> bin/busyBox*
drwxrwxr-x 2 rootroot rootroot 4096 3月 24 16:57 sbin/
drwxrwxr-x 4 rootroot rootroot 4096 3月 24 16:57 usr/
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1/rootfs$
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1/rootfs$
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1/rootfs$
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1/rootfs$ mkdir etc dev lib tmp var mnt home proc
mkdir: cannot create directory ‘etc’: file exists
mkdir: cannot create directory ‘lib’: file exists
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1/rootfs$
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1/rootfs$
4、打包rootfs镜像
将前面编译好的 make_ext4fs 工具拷贝到和 rootfs 文件夹同一级目录下,命令行下运行:
./make_ext4fs -l 200M -s rootfs_hi3516dv300.ext4 rootfs
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1/rootfs$
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1/rootfs$ cd ..
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1$
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1$
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1$ find . -name make_ext4fs
./osdrv/tools/pc/ext4_utils/ext4_utils/make_ext4fs
./osdrv/tools/pc/ext4_utils/bin/make_ext4fs
./osdrv/pub/bin/pc/make_ext4fs
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1$
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1$
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1$
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1$ cp osdrv/pub/bin/pc/make_ext4fs .
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1$
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1$ ll
total 160
drwxrwxr-x 10 rootroot rootroot 4096 3月 24 17:15 ./
drwxrwxr-x 6 rootroot rootroot 4096 3月 24 14:14 ../
drwxrwxr-x 2 rootroot rootroot 4096 5月 28 2020 hi3516av300_spi_smp_image_glibc/
drwxrwxr-x 2 rootroot rootroot 4096 5月 28 2020 hi3516cv500_spi_smp_image_glibc/
drwxrwxr-x 2 rootroot rootroot 4096 5月 28 2020 hi3516dv300_spi_smp_image_glibc/
-rwxrwxr-x 1 rootroot rootroot 110352 3月 24 17:15 make_ext4fs*
drwxrwxr-x 6 rootroot rootroot 4096 3月 24 16:40 osdrv/
drwxrwxr-x 2 rootroot rootroot 4096 5月 28 2020 package/
drwxrwxr-x 13 rootroot rootroot 4096 3月 24 17:14 rootfs/
drwxrwxr-x 2 rootroot rootroot 4096 5月 28 2020 scripts/
-rwxrwxr-x 1 rootroot rootroot 880 5月 28 2020 sdk.cleanuP*
-rwxrwxr-x 1 rootroot rootroot 4891 5月 28 2020 sdk.unpack*
drwxrwxr-x 3 rootroot rootroot 4096 3月 24 14:15 smp/
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1$
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1$
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1$ ./make_ext4fs -l 200M -s rootfs_hi3516dv300.ext4 rootfs
Creating filesystem with parameters:
Size: 209715200
Block size: 4096
Blocks per group: 32768
Inodes per group: 6400
Inode size: 256
Journal blocks: 1024
Label:
Blocks: 51200
Block groups: 2
Reserved block group size: 15
Created filesystem with 466/12800 inodes and 11518/51200 blocks
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/Hi3516CV500R001C02SPC021/Hi3516CV500_SDK_V2.0.2.1$
这里,200M指的是根文件系统所占emmC的大小,可以根据需要修改,-s后面是生成的镜像名,rootfs为待压缩的目录。
至此,得到根文件系统镜像,使用Hi_Tool或者手动 *** 作uboot进行烧录均可。
5、刷机(先擦除全器件,然后再烧写!)
setenv bootargs 'mem=128M console=ttyAMA0,115200 clk_ignore_unused rw rootwait root=/dev/mmcblk0p3 rootfstype=ext4 blkdevparts=mmcblk0:1M(uboot.bin),9M(kernel),200M(rootfs.ext4),-(user)'
setenv bootcmd 'mmc read 0 0x80000000 800 4800; bootm 0x80000000'
saveenv
reset
刷机之后启动的LOG:
[BEGIN] 2021/3/24 18:04:07
hisilicon #
hisilicon #
hisilicon # print
arch=arm
baudrate=115200
board=hi3516dv300
board_name=hi3516dv300
bootargs=console=ttyAMA0,115200n8 root=/dev/mtdblock2 rw
bootcmd=run distro_bootcmd
bootdelay=2
cpu=armv7
ethact=eth0
soc=hi3516dv300
stderr=serial
stdin=serial
stdout=serial
vendor=hisilicon
verify=n
Environment size: 298/262140 bytes
hisilicon #
hisilicon #
hisilicon # setenv bootargs 'mem=128M console=ttyAMA0,115200 clk_ignore_unused rw rootwait root=/dev/mmcblk0p3 rootfstype=ext4 blkdevparts=mmcblk0:1M(uboot.bin),9M(kernel),200M(rootfs.ext4),-(user)'
hisilicon # setenv bootcmd 'mmc read 0 0x80000000 800 4800; bootm 0x80000000'
hisilicon # saveenv
Saving Environment to emmC Flash...
Writing to MMC(0)... done
hisilicon #
hisilicon # print
arch=arm
baudrate=115200
board=hi3516dv300
board_name=hi3516dv300
bootargs=mem=128M console=ttyAMA0,115200 clk_ignore_unused rw rootwait root=/dev/mmcblk0p3 rootfstype=ext4 blkdevparts=mmcblk0:1M(uboot.bin),9M(kernel),200M(rootfs.ext4),-(user)
bootcmd=mmc read 0 0x80000000 800 4800; bootm 0x80000000
bootdelay=2
cpu=armv7
ethact=eth0
soc=hi3516dv300
stderr=serial
stdin=serial
stdout=serial
vendor=hisilicon
verify=n
Environment size: 449/262140 bytes
hisilicon #
hisilicon # reset
resetting ...
System startup
Uncompress Ok!
U-Boot 2016.11 (Mar 24 2021 - 16:40:49 +0800)hi3516dv300
Relocation Offset is: 0f6ea000
Relocating to 8feea000, new gd at 8fe49ef0, sp at 8fe49ed0
MMC:
emmC/MMC/SD controller initialization.
scan edges:2 p2f:6 f2p:1
mix set temp-phase 3
scan elemnts: startp:2 endp:120
Tuning SampleClock. mix set phase:[03/07] ele:[13d/16]
** First descriptor is NOT a primary desc on 0:1 **
MMC/SD Card:
MID: 0x15
Read Block: 512 Bytes
Write Block: 512 Bytes
Chip Size: 7456M Bytes (High Capacity)
name: "8GTF4"
Chip Type: MMC
Version: 0.0
Speed: 100000000Hz
Bus WIDth: 4bit
himci: 0 (emmC)
In: serial
Out: serial
Err: serial
Net: eth0
Warning: eth0 (eth0) using random MAC address - 0a:ee:f4:99:54:0b
Hit any key to stop autoboot: 0
MMC read: dev # 0, block # 2048, count 18432 ... 18432 blocks read: OK
## Booting kernel from Legacy Image at 80000000 ...
Image name: linux-4.9.37
Image Type: ARM linux Kernel Image (uncompressed)
Data Size: 3485557 Bytes = 3.3 MiB
Load Address: 80008000
Entry Point: 80008000
Loading Kernel Image ... OK
Starting kernel ...
Booting linux on physical cpu 0x0
linux version 4.9.37 (rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3) (gcc version 6.3.0 (HC&C V1R3C00SPC300B009_20191212) ) #1 SMP Wed Mar 24 16:42:57 CST 2021
cpu: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=10c5387d
cpu: div instructions available: patching division code
cpu: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
OF: fdt:Machine model: Hisilicon HI3516DV300 DEMO Board
cma zone is not set!
cma: Reserved 16 MiB at 0x87000000
Memory policy: Data cache writealloc
percpu: Embedded 13 pages/cpu @c6eca000 s21772 r8192 d23284 u53248
Built 1 zoneLists in Zone order, mobility grouPing on. Total pages: 32512
Kernel command line: mem=128M console=ttyAMA0,115200 clk_ignore_unused rw rootwait root=/dev/mmcblk0p3 ro
以上是内存溢出为你收集整理的54-20210324华为海思Hi3516DV300的linux系统增加busybox文件系统(eMMC模式)全部内容,希望文章能够帮你解决54-20210324华为海思Hi3516DV300的linux系统增加busybox文件系统(eMMC模式)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)