54-20210324华为海思Hi3516DV300的linux系统增加busybox文件系统(eMMC模式)

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:\Hi3516CV500R001C02SPC021\ReleaseDoc\zh\01.software\board\OSDRV\Hi35xxVxxx 开发环境用户指南.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 rootfstype=ext4 blkdevparts=mmcblk0:1M(uboot.bin),9M(kernel),200M(rootfs.ext4),-(user)
PID hash table entries: 512 (order: -1, 2048 bytes)
Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
Memory: 104644K/131072K available (5120K kernel code, 167K rwdata, 1232K rodata, 1024K init, 313K bss, 10044K reserved, 16384K cma-reserved, 0K highmem)
Virtual kernel memory layout:
    vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
    vmalloc : 0xc8800000 - 0xff800000   ( 880 MB)
    lowmem  : 0xc0000000 - 0xc8000000   ( 128 MB)
    pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
    modules : 0xbf000000 - 0xbfe00000   (  14 MB)
      .text : 0xc0008000 - 0xc0600000   (6112 kB)
      .init : 0xc0800000 - 0xc0900000   (1024 kB)
      .data : 0xc0900000 - 0xc0929d00   ( 168 kB)
       .bss : 0xc092b000 - 0xc09796ec   ( 314 kB)
SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
Hierarchical RCU implementation.
    Build-time adjustment of leaf fanout to 32.
NR_IRQS:16 nr_irqs:16 16
Gic dist init...
arm_arch_timer: Architected cp15 timer(s) running at 50.00MHz (phys).
clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0xb8812736b, max_idle_ns: 440795202655 ns
sched_clock: 56 bits at 50MHz, resolution 20ns, wraps every 4398046511100ns
Switching to timer-based delay loop, resolution 20ns
clocksource: hisp804: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 637086815595 ns
Console: colour dummy device 80x30
Calibrating delay loop (skipped), value calculated using timer frequency.. 100.00 BogoMIPS (lpj=500000)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
CPU: Testing write buffer coherency: ok
CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
Setting up static identity map for 0x80100000 - 0x80100058
CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
Brought up 2 CPUs
SMP: Total of 2 processors activated (200.00 BogoMIPS).
CPU: All CPU(s) started in SVC mode.
devtmpfs: initialized
VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 5
clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
futex hash table entries: 512 (order: 3, 32768 bytes)
pinctrl core: initialized pinctrl subsystem
NET: Registered protocol family 16
DMA: preallocated 256 KiB pool for atomic coherent allocations
Serial: AMBA PL011 UART driver
120a0000.uart: ttyAMA0 at MMIO 0x120a0000 (irq = 21, base_baud = 0) is a PL011 rev2
console [ttyAMA0] enabled
SCSI subsystem initialized
ssp-pl022 120c0000.spi: ARM PL022 driver, device ID: 0x00800022
ssp-pl022 120c0000.spi: mapped registers from 0x120c0000 to c8834000
ssp-pl022 120c1000.spi: ARM PL022 driver, device ID: 0x00800022
ssp-pl022 120c1000.spi: mapped registers from 0x120c1000 to c8838000
ssp-pl022 120c2000.spi: ARM PL022 driver, device ID: 0x00800022
ssp-pl022 120c2000.spi: mapped registers from 0x120c2000 to c883a000
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
Linux video capture interface: v2.00
clocksource: Switched to clocksource hisp804
NET: Registered protocol family 2
TCP established hash table entries: 1024 (order: 0, 4096 bytes)
TCP bind hash table entries: 1024 (order: 1, 8192 bytes)
TCP: Hash tables configured (established 1024 bind 1024)
UDP hash table entries: 256 (order: 1, 8192 bytes)
UDP-Lite hash table entries: 256 (order: 1, 8192 bytes)
NET: Registered protocol family 1
RPC: Registered named UNIX socket transport module.
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
workingset: timestamp_bits=30 max_order=15 bucket_order=0
NFS: Registering the id_resolver key type
Key type id_resolver registered
Key type id_legacy registered
fuse init (API version 7.26)
Block layer SCSI generic (bsg) driver version 0.4 loaded (major 252)
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
pl061_gpio 120d0000.gpio_chip: PL061 GPIO chip @0x120d0000 registered
pl061_gpio 120d1000.gpio_chip: PL061 GPIO chip @0x120d1000 registered
pl061_gpio 120d2000.gpio_chip: PL061 GPIO chip @0x120d2000 registered
pl061_gpio 120d3000.gpio_chip: PL061 GPIO chip @0x120d3000 registered
pl061_gpio 120d4000.gpio_chip: PL061 GPIO chip @0x120d4000 registered
pl061_gpio 120d5000.gpio_chip: PL061 GPIO chip @0x120d5000 registered
pl061_gpio 120d6000.gpio_chip: PL061 GPIO chip @0x120d6000 registered
pl061_gpio 120d7000.gpio_chip: PL061 GPIO chip @0x120d7000 registered
pl061_gpio 120d8000.gpio_chip: PL061 GPIO chip @0x120d8000 registered
pl061_gpio 120d9000.gpio_chip: PL061 GPIO chip @0x120d9000 registered
pl061_gpio 120da000.gpio_chip: PL061 GPIO chip @0x120da000 registered
pl061_gpio 120db000.gpio_chip: PL061 GPIO chip @0x120db000 registered
brd: module loaded
libphy: hisi_femac_mii_bus: probed
libphy: Fixed MDIO Bus: probed
Generic PHY 10011100.mdio:01: attached PHY driver [Generic PHY] (mii_bus:phy_addr=10011100.mdio:01, irq=-1)
phy_id=0x001cc816, phy_mode=rmii
hisi-femac 10010000.ethernet: using random MAC address 86:97:2a:be:6f:fa
usbcore: registered new interface driver r8152
xhci-hcd 100e0000.xhci_0: xHCI Host Controller
xhci-hcd 100e0000.xhci_0: new USB bus registered, assigned bus number 1
xhci-hcd 100e0000.xhci_0: hcc params 0x0220fe6c hci version 0x110 quirks 0x20010010
xhci-hcd 100e0000.xhci_0: irq 29, io mem 0x100e0000
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
xhci-hcd 100e0000.xhci_0: xHCI Host Controller
xhci-hcd 100e0000.xhci_0: new USB bus registered, assigned bus number 2
usb usb2: We don't know the algorithms for LPM for this host, disabling LPM.
hub 2-0:1.0: USB hub found
hub 2-0:1.0: hub can't support USB3.0
usbcore: registered new interface driver usb-storage
mousedev: PS/2 mouse device common for all mice
usbcore: registered new interface driver xpad
hibvt_rtc 12080000.rtc: rtc core: registered 12080000.rtc as rtc0
hibvt_rtc 12080000.rtc: RTC driver for hibvt enabled
i2c /dev entries driver
hibvt-i2c 120b0000.i2c: hibvt-i2c0@100000hz registered
hibvt-i2c 120b1000.i2c: hibvt-i2c1@100000hz registered
hibvt-i2c 120b2000.i2c: hibvt-i2c2@100000hz registered
hibvt-i2c 120b3000.i2c: hibvt-i2c3@100000hz registered
hibvt-i2c 120b4000.i2c: hibvt-i2c4@100000hz registered
hibvt-i2c 120b5000.i2c: hibvt-i2c5@100000hz registered
hibvt-i2c 120b6000.i2c: hibvt-i2c6@100000hz registered
hibvt-i2c 120b7000.i2c: hibvt-i2c7@100000hz registered
usbcore: registered new interface driver uvcvideo
USB Video Class driver (1.1.1)
himci: mmc host probe
himci: mmc host probe
mmc0: CMDQ supported: depth: 16
scan edges:2 p2f:6 f2p:1
mix set temp-phase 3
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
NET: Registered protocol family 10
NET: Registered protocol family 17
8021q: 802.1Q VLAN Support v1.8
Key type dns_resolver registered
Registering SWP/SWPB emulation handler
hibvt_rtc 12080000.rtc: setting system clock to 1970-01-01 01:59:34 UTC (7174)
scan elemnts: startp:3 endp:120
Tuning SampleClock. mix set phase:[03/07] ele:[13/16] 
clk: Not disabling unused clocks
Waiting for root device /dev/mmcblk0p3...
mmc0: new HS200 MMC card at address 0001
mmc0: -524: cmdq: unable to set-up
mmcblk0: mmc0:0001 8GTF4R 7.28 GiB 
mmcblk0boot0: mmc0:0001 8GTF4R partition 1 4.00 MiB
mmcblk0boot1: mmc0:0001 8GTF4R partition 2 4.00 MiB
mmcblk0rpmb: mmc0:0001 8GTF4R partition 3 512 KiB
 mmcblk0: p1(uboot.bin) p2(kernel) p3(rootfs.ext4) p4(user)
EXT4-fs (mmcblk0p3): mounted filesystem with ordered data mode. Opts: (null)
VFS: Mounted root (ext4 filesystem) on device 179:3.
devtmpfs: mounted
Freeing unused kernel memory: 1024K (c0800000 - c0900000)

Processing /etc/profile... Done

/ # 
/ # 
/ # 
/ # 
/ # ifconfig
/ # 
/ # 
/ # 
/ # himm
*** Board tools : ver0.0.1_20121120 *** 
[debug]: {source/utils/cmdshell.c:171}cmdstr:himm
usage: himm <address> <Value>. sample: himm 0x80040000 0x123
[error]:  exit:0XFFFFFFFF.{source/tools/himm.c:45}
[END]
/ # 
/ # 
/ # 
/ # reset
/ # 
/ # 
/ # reboot
The system is going down NOW!
Sent SIGTERM to all processes
Terminated
Sent SIGKILL to all processes
Requesting system reboot
reboot: Restarting system
                         


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 - be:1c:cb:ba:9c:02

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 rootfstype=ext4 blkdevparts=mmcblk0:1M(uboot.bin),9M(kernel),200M(rootfs.ext4),-(user)
PID hash table entries: 512 (order: -1, 2048 bytes)
Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
Memory: 104644K/131072K available (5120K kernel code, 167K rwdata, 1232K rodata, 1024K init, 313K bss, 10044K reserved, 16384K cma-reserved, 0K highmem)
Virtual kernel memory layout:
    vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
    vmalloc : 0xc8800000 - 0xff800000   ( 880 MB)
    lowmem  : 0xc0000000 - 0xc8000000   ( 128 MB)
    pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
    modules : 0xbf000000 - 0xbfe00000   (  14 MB)
      .text : 0xc0008000 - 0xc0600000   (6112 kB)
      .init : 0xc0800000 - 0xc0900000   (1024 kB)
      .data : 0xc0900000 - 0xc0929d00   ( 168 kB)
       .bss : 0xc092b000 - 0xc09796ec   ( 314 kB)
SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
Hierarchical RCU implementation.
    Build-time adjustment of leaf fanout to 32.
NR_IRQS:16 nr_irqs:16 16
Gic dist init...
arm_arch_timer: Architected cp15 timer(s) running at 50.00MHz (phys).
clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0xb8812736b, max_idle_ns: 440795202655 ns
sched_clock: 56 bits at 50MHz, resolution 20ns, wraps every 4398046511100ns
Switching to timer-based delay loop, resolution 20ns
clocksource: hisp804: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 637086815595 ns
Console: colour dummy device 80x30
Calibrating delay loop (skipped), value calculated using timer frequency.. 100.00 BogoMIPS (lpj=500000)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
CPU: Testing write buffer coherency: ok
CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
Setting up static identity map for 0x80100000 - 0x80100058
CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
Brought up 2 CPUs
SMP: Total of 2 processors activated (200.00 BogoMIPS).
CPU: All CPU(s) started in SVC mode.
devtmpfs: initialized
VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 5
clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
futex hash table entries: 512 (order: 3, 32768 bytes)
pinctrl core: initialized pinctrl subsystem
NET: Registered protocol family 16
DMA: preallocated 256 KiB pool for atomic coherent allocations
Serial: AMBA PL011 UART driver
120a0000.uart: ttyAMA0 at MMIO 0x120a0000 (irq = 21, base_baud = 0) is a PL011 rev2
console [ttyAMA0] enabled
SCSI subsystem initialized
ssp-pl022 120c0000.spi: ARM PL022 driver, device ID: 0x00800022
ssp-pl022 120c0000.spi: mapped registers from 0x120c0000 to c8834000
ssp-pl022 120c1000.spi: ARM PL022 driver, device ID: 0x00800022
ssp-pl022 120c1000.spi: mapped registers from 0x120c1000 to c8838000
ssp-pl022 120c2000.spi: ARM PL022 driver, device ID: 0x00800022
ssp-pl022 120c2000.spi: mapped registers from 0x120c2000 to c883a000
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
Linux video capture interface: v2.00
clocksource: Switched to clocksource hisp804
NET: Registered protocol family 2
TCP established hash table entries: 1024 (order: 0, 4096 bytes)
TCP bind hash table entries: 1024 (order: 1, 8192 bytes)
TCP: Hash tables configured (established 1024 bind 1024)
UDP hash table entries: 256 (order: 1, 8192 bytes)
UDP-Lite hash table entries: 256 (order: 1, 8192 bytes)
NET: Registered protocol family 1
RPC: Registered named UNIX socket transport module.
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
workingset: timestamp_bits=30 max_order=15 bucket_order=0
NFS: Registering the id_resolver key type
Key type id_resolver registered
Key type id_legacy registered
fuse init (API version 7.26)
Block layer SCSI generic (bsg) driver version 0.4 loaded (major 252)
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
pl061_gpio 120d0000.gpio_chip: PL061 GPIO chip @0x120d0000 registered
pl061_gpio 120d1000.gpio_chip: PL061 GPIO chip @0x120d1000 registered
pl061_gpio 120d2000.gpio_chip: PL061 GPIO chip @0x120d2000 registered
pl061_gpio 120d3000.gpio_chip: PL061 GPIO chip @0x120d3000 registered
pl061_gpio 120d4000.gpio_chip: PL061 GPIO chip @0x120d4000 registered
pl061_gpio 120d5000.gpio_chip: PL061 GPIO chip @0x120d5000 registered
pl061_gpio 120d6000.gpio_chip: PL061 GPIO chip @0x120d6000 registered
pl061_gpio 120d7000.gpio_chip: PL061 GPIO chip @0x120d7000 registered
pl061_gpio 120d8000.gpio_chip: PL061 GPIO chip @0x120d8000 registered
pl061_gpio 120d9000.gpio_chip: PL061 GPIO chip @0x120d9000 registered
pl061_gpio 120da000.gpio_chip: PL061 GPIO chip @0x120da000 registered
pl061_gpio 120db000.gpio_chip: PL061 GPIO chip @0x120db000 registered
brd: module loaded
libphy: hisi_femac_mii_bus: probed
libphy: Fixed MDIO Bus: probed
Generic PHY 10011100.mdio:01: attached PHY driver [Generic PHY] (mii_bus:phy_addr=10011100.mdio:01, irq=-1)
phy_id=0x001cc816, phy_mode=rmii
hisi-femac 10010000.ethernet: using random MAC address 92:90:51:31:3d:2b
usbcore: registered new interface driver r8152
xhci-hcd 100e0000.xhci_0: xHCI Host Controller
xhci-hcd 100e0000.xhci_0: new USB bus registered, assigned bus number 1
xhci-hcd 100e0000.xhci_0: hcc params 0x0220fe6c hci version 0x110 quirks 0x20010010
xhci-hcd 100e0000.xhci_0: irq 29, io mem 0x100e0000
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
xhci-hcd 100e0000.xhci_0: xHCI Host Controller
xhci-hcd 100e0000.xhci_0: new USB bus registered, assigned bus number 2
usb usb2: We don't know the algorithms for LPM for this host, disabling LPM.
hub 2-0:1.0: USB hub found
hub 2-0:1.0: hub can't support USB3.0
usbcore: registered new interface driver usb-storage
mousedev: PS/2 mouse device common for all mice
usbcore: registered new interface driver xpad
hibvt_rtc 12080000.rtc: rtc core: registered 12080000.rtc as rtc0
hibvt_rtc 12080000.rtc: RTC driver for hibvt enabled
i2c /dev entries driver
hibvt-i2c 120b0000.i2c: hibvt-i2c0@100000hz registered
hibvt-i2c 120b1000.i2c: hibvt-i2c1@100000hz registered
hibvt-i2c 120b2000.i2c: hibvt-i2c2@100000hz registered
hibvt-i2c 120b3000.i2c: hibvt-i2c3@100000hz registered
hibvt-i2c 120b4000.i2c: hibvt-i2c4@100000hz registered
hibvt-i2c 120b5000.i2c: hibvt-i2c5@100000hz registered
hibvt-i2c 120b6000.i2c: hibvt-i2c6@100000hz registered
hibvt-i2c 120b7000.i2c: hibvt-i2c7@100000hz registered
usbcore: registered new interface driver uvcvideo
USB Video Class driver (1.1.1)
himci: mmc host probe
himci: mmc host probe
mmc0: CMDQ supported: depth: 16
scan edges:2 p2f:6 f2p:1
mix set temp-phase 3
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
NET: Registered protocol family 10
NET: Registered protocol family 17
8021q: 802.1Q VLAN Support v1.8
Key type dns_resolver registered
Registering SWP/SWPB emulation handler
scan elemnts: startp:3 endp:120
Tuning SampleClock. mix set phase:[03/07] ele:[13/16] 
hibvt_rtc 12080000.rtc: setting system clock to 1970-01-01 02:00:13 UTC (7213)
clk: Not disabling unused clocks
Waiting for root device /dev/mmcblk0p3...
mmc0: new HS200 MMC card at address 0001
mmc0: -524: cmdq: unable to set-up
mmcblk0: mmc0:0001 8GTF4R 7.28 GiB 
mmcblk0boot0: mmc0:0001 8GTF4R partition 1 4.00 MiB
mmcblk0boot1: mmc0:0001 8GTF4R partition 2 4.00 MiB
mmcblk0rpmb: mmc0:0001 8GTF4R partition 3 512 KiB
 mmcblk0: p1(uboot.bin) p2(kernel) p3(rootfs.ext4) p4(user)
EXT4-fs (mmcblk0p3): recovery complete
EXT4-fs (mmcblk0p3): mounted filesystem with ordered data mode. Opts: (null)
VFS: Mounted root (ext4 filesystem) on device 179:3.
devtmpfs: mounted
Freeing unused kernel memory: 1024K (c0800000 - c0900000)

Processing /etc/profile... Done

/ # 
/ # 
/ # 
/ # 

[END] 2021/3/24 18:05:57

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值