20240701给NanoPi R6C开发板编译友善之臂的Android12系统

20240701给NanoPi R6C开发板编译友善之臂的Android12系统
2024/7/1 14:19


本文采取这个模式编译:
11.6.3 编译Android Tablet版本(首次编译)
echo "ROCKCHIP_DEVICE_DIR := device/rockchip/rk3588/nanopi6" > .rockchip_device.mk
# export INSTALL_GAPPS_FOR_TESTING=yes  # 是否包含google apps
. setenv.sh
./build.sh -FMu


相关资料:
11.6 Android系统编译
11.6.1 电脑的软硬件要求
至少配置16G以上内存+300G磁盘空间,建议使用32G内存+大容量高速SSD的机器,不建议使用虚拟机;
如遇到编译错误,可能是编译环境问题,推荐使用如下Docker容器进行编译:docker-cross-compiler-novnc;
11.6.2 从网盘下载Android源代码
网盘地址:点击进入
网盘路径:07_源代码/rk35xx-android12-xxxxxxx-YYYYMMDD.tgz (YYYYMMDD表示打包的日期, xxxxxxx表示最后的commit-id)
使用如下命令解压并拉取更新:
tar xzf /path/to/netdisk/07_源代码/rk35xx-android12-xxxxxxx-YYYYMMDD.tgz
cd rk35xx-android12
git pull
11.6.3 编译Android Tablet版本(首次编译)
echo "ROCKCHIP_DEVICE_DIR := device/rockchip/rk3588/nanopi6" > .rockchip_device.mk
# export INSTALL_GAPPS_FOR_TESTING=yes  # 是否包含google apps
. setenv.sh
./build.sh -FMu

11.6.4 编译Android TV版本(首次编译)
echo "ROCKCHIP_DEVICE_DIR := device/rockchip/rk3588/nanopi6_box" > .rockchip_device.mk
# export INSTALL_GAPPS_FOR_TESTING=yes  # 是否包含google apps
. setenv.sh
./build.sh -FMu
11.6.5 二次编译
# export INSTALL_GAPPS_FOR_TESTING=yes  # 是否包含google apps
. setenv.sh
make
./build.sh -Mu
11.6.6 安装Android
Android编译完成后,image文件会存放在Android源代码目录的 rockdev/Image-aosp_nanopi3 子目录下。

11.6.6.1 USB线刷
用rockchip的工具刷入如下文件:rockdev/Image-aosp_nanopi3/update.img

11.6.6.2 SD卡烧写
参考以下步骤:
1) 将安装了 eflasher 系统的SD卡插入电脑;
2) 将 rockdev/Image-aosp_nanopi3 子目录下的文件更新到SD卡 FRIENDLYARM 分区里的android12或androidtv目录:
sudo cp -af parameter.txt config.cfg MiniLoaderAll.bin uboot.img \
    dtbo.img vbmeta.img boot.img recovery.img \
    misc.img pcba_small_misc.img pcba_whole_misc.img \
    baseparameter.img super.img /media/$USER/FriendlyARM/android12
3) 将SD卡插入NanoPi-R6C,重新烧写Andorid系统即可;
11.6.7 打包成新的SD Image
git clone https://github.com/friendlyarm/sd-fuse_rk3588.git
SDFUSE=$PWD/sd-fuse_rk3588
mkdir $SDFUSE/android12
 
cd /path/to/rk35xx-android12/rockdev/Image-aosp_nanopi3
cp -af parameter.txt config.cfg MiniLoaderAll.bin uboot.img \
    dtbo.img vbmeta.img boot.img recovery.img \
    misc.img pcba_small_misc.img pcba_whole_misc.img \
    baseparameter.img super.img $SDFUSE/android12
 
cd $SDFUSE/
./mk-sd-image.sh android12
 
tar xvzf /path/to/netdrive/03_Partition\ image\ files/emmc-flasher-images.tgz
./mk-emmc-image.sh android12
更多信息,请参考 #打包新的SD Image


rootroot@rootroot-desktop:~$ time tar --use-compress-program=pigz -xvpf rk35xx-android12-e9ff7ac-20240507.tgz 


rootroot@rootroot-desktop:~/rk35xx-android12$ 
rootroot@rootroot-desktop:~/rk35xx-android12$ ll
total 256128
drwxrwxr-x  37 rootroot rootroot      4096 6月  29 11:34 ./
drwxr-xr-x  34 rootroot rootroot      4096 6月  29 11:38 ../
lrwxrwxrwx   1 rootroot rootroot        19 5月   7 14:21 Android.bp -> build/soong/root.bp
drwxrwxr-x  35 rootroot rootroot      4096 5月   7 14:21 art/
drwxrwxr-x  14 rootroot rootroot      4096 5月   7 14:21 bionic/
drwxrwxr-x   4 rootroot rootroot      4096 5月   7 14:21 bootable/
lrwxrwxrwx   1 rootroot rootroot        26 5月   7 14:21 bootstrap.bash -> build/soong/bootstrap.bash*
drwxrwxr-x   7 rootroot rootroot      4096 5月   7 14:21 build/
lrwxrwxrwx   1 rootroot rootroot        23 5月   7 14:21 BUILD -> build/bazel/bazel.BUILD
-rwxrwxr-x   1 rootroot rootroot      8078 5月   7 14:21 build.sh*
lrwxrwxrwx   1 rootroot rootroot        33 5月   7 14:21 .classpath -> device/rockchip/common/.classpath*
drwxrwxr-x   3 rootroot rootroot      4096 5月   7 14:21 compatibility/
drwxrwxr-x  13 rootroot rootroot      4096 5月   7 14:22 cts/
drwxrwxr-x   7 rootroot rootroot      4096 5月   7 14:22 dalvik/
drwxrwxr-x   5 rootroot rootroot      4096 5月   7 14:22 developers/
drwxrwxr-x  19 rootroot rootroot      4096 5月   7 14:22 development/
drwxrwxr-x  12 rootroot rootroot      4096 5月   7 14:22 device/
drwxrwxr-x 358 rootroot rootroot     12288 5月   7 14:26 external/
drwxrwxr-x  16 rootroot rootroot      4096 5月   7 14:27 frameworks/
drwxrwxr-x   8 rootroot rootroot      4096 5月   7 14:44 .git/
-rw-rw-r--   1 rootroot rootroot       355 5月   7 14:21 .gitignore
drwxrwxr-x  19 rootroot rootroot      4096 5月   7 14:28 hardware/
lrwxrwxrwx   1 rootroot rootroot        33 5月   7 14:28 javaenv.sh -> device/rockchip/common/javaenv.sh
drwxrwxr-x   5 rootroot rootroot      4096 5月   7 14:29 kernel/
drwxrwxr-x   3 rootroot rootroot      4096 5月   7 14:28 kernel-4.19/
drwxrwxr-x  26 rootroot rootroot      4096 5月   7 14:29 kernel-5.10/
-rw-rw-r--   1 rootroot rootroot 243340516 6月  29 11:38 kernel-5.10c.tgz
drwxrwxr-x  19 rootroot rootroot      4096 5月   7 14:29 libcore/
drwxrwxr-x   9 rootroot rootroot      4096 5月   7 14:29 libnativehelper/
-rw-rw-r--   1 rootroot rootroot        92 5月   7 14:21 Makefile
drwxrwxr-x   9 rootroot rootroot      4096 5月   7 14:29 mkcombinedroot/
lrwxrwxrwx   1 rootroot rootroot        38 5月   7 14:29 mkimage.sh -> device/friendlyelec/nanopi3/mkimage.sh*
drwxrwxr-x   9 rootroot rootroot      4096 5月   7 14:30 packages/
drwxrwxr-x   5 rootroot rootroot      4096 5月   7 14:30 pdk/
drwxrwxr-x   9 rootroot rootroot      4096 5月   7 14:30 platform_testing/
drwxrwxr-x  34 rootroot rootroot      4096 5月   7 14:41 prebuilts/
-rwxrwxr-x   1 rootroot rootroot       519 5月   7 14:42 restore_patches.sh*
drwxrwxr-x   9 rootroot rootroot      4096 5月   7 14:42 rkbin/
drwxrwxr-x   4 rootroot rootroot      4096 5月   7 14:21 RKDocs/
drwxrwxr-x   4 rootroot rootroot      4096 5月   7 14:42 rkst/
drwxrwxr-x   5 rootroot rootroot      4096 5月   7 14:21 RKTools/
drwxrwxr-x  21 rootroot rootroot      4096 5月   7 14:42 sdk/
-rwxrwxr-x   1 rootroot rootroot       357 5月   7 14:42 setenv.sh*
drwxrwxr-x  45 rootroot rootroot      4096 5月   7 14:43 system/
drwxrwxr-x  11 rootroot rootroot      4096 5月   7 14:43 test/
drwxrwxr-x   4 rootroot rootroot      4096 5月   7 14:43 toolchain/
drwxrwxr-x  23 rootroot rootroot      4096 5月   7 14:43 tools/
drwxrwxr-x  24 rootroot rootroot      4096 5月   7 14:43 u-boot/
-rw-rw-r--   1 rootroot rootroot  18741214 6月  29 11:33 u-boot1.tgz
drwxrwxr-x   7 rootroot rootroot      4096 5月   7 14:44 vendor/
lrwxrwxrwx   1 rootroot rootroot        27 5月   7 14:21 WORKSPACE -> build/bazel/bazel.WORKSPACE
rootroot@rootroot-desktop:~/rk35xx-android12$ 
rootroot@rootroot-desktop:~/rk35xx-android12$ 
rootroot@rootroot-desktop:~/rk35xx-android12$ ll *.sh
-rwxrwxr-x 1 rootroot rootroot 8078 5月   7 14:21 build.sh*
lrwxrwxrwx 1 rootroot rootroot   33 5月   7 14:28 javaenv.sh -> device/rockchip/common/javaenv.sh
lrwxrwxrwx 1 rootroot rootroot   38 5月   7 14:29 mkimage.sh -> device/friendlyelec/nanopi3/mkimage.sh*
-rwxrwxr-x 1 rootroot rootroot  519 5月   7 14:42 restore_patches.sh*
-rwxrwxr-x 1 rootroot rootroot  357 5月   7 14:42 setenv.sh*
rootroot@rootroot-desktop:~/rk35xx-android12$ 
rootroot@rootroot-desktop:~/rk35xx-android12$ 
rootroot@rootroot-desktop:~/rk35xx-android12$ echo "ROCKCHIP_DEVICE_DIR := device/rockchip/rk3588/nanopi6" > .rockchip_device.mk
rootroot@rootroot-desktop:~/rk35xx-android12$ 
rootroot@rootroot-desktop:~/rk35xx-android12$ ll
total 256132
drwxrwxr-x  37 rootroot rootroot      4096 6月  29 11:44 ./
drwxr-xr-x  34 rootroot rootroot      4096 6月  29 11:38 ../
lrwxrwxrwx   1 rootroot rootroot        19 5月   7 14:21 Android.bp -> build/soong/root.bp
drwxrwxr-x  35 rootroot rootroot      4096 5月   7 14:21 art/
drwxrwxr-x  14 rootroot rootroot      4096 5月   7 14:21 bionic/
drwxrwxr-x   4 rootroot rootroot      4096 5月   7 14:21 bootable/
lrwxrwxrwx   1 rootroot rootroot        26 5月   7 14:21 bootstrap.bash -> build/soong/bootstrap.bash*
drwxrwxr-x   7 rootroot rootroot      4096 5月   7 14:21 build/
lrwxrwxrwx   1 rootroot rootroot        23 5月   7 14:21 BUILD -> build/bazel/bazel.BUILD
-rwxrwxr-x   1 rootroot rootroot      8078 5月   7 14:21 build.sh*
lrwxrwxrwx   1 rootroot rootroot        33 5月   7 14:21 .classpath -> device/rockchip/common/.classpath*
drwxrwxr-x   3 rootroot rootroot      4096 5月   7 14:21 compatibility/
drwxrwxr-x  13 rootroot rootroot      4096 5月   7 14:22 cts/
drwxrwxr-x   7 rootroot rootroot      4096 5月   7 14:22 dalvik/
drwxrwxr-x   5 rootroot rootroot      4096 5月   7 14:22 developers/
drwxrwxr-x  19 rootroot rootroot      4096 5月   7 14:22 development/
drwxrwxr-x  12 rootroot rootroot      4096 5月   7 14:22 device/
drwxrwxr-x 358 rootroot rootroot     12288 5月   7 14:26 external/
drwxrwxr-x  16 rootroot rootroot      4096 5月   7 14:27 frameworks/
drwxrwxr-x   8 rootroot rootroot      4096 5月   7 14:44 .git/
-rw-rw-r--   1 rootroot rootroot       355 5月   7 14:21 .gitignore
drwxrwxr-x  19 rootroot rootroot      4096 5月   7 14:28 hardware/
lrwxrwxrwx   1 rootroot rootroot        33 5月   7 14:28 javaenv.sh -> device/rockchip/common/javaenv.sh
drwxrwxr-x   5 rootroot rootroot      4096 5月   7 14:29 kernel/
drwxrwxr-x   3 rootroot rootroot      4096 5月   7 14:28 kernel-4.19/
drwxrwxr-x  26 rootroot rootroot      4096 5月   7 14:29 kernel-5.10/
-rw-rw-r--   1 rootroot rootroot 243340516 6月  29 11:38 kernel-5.10c.tgz
drwxrwxr-x  19 rootroot rootroot      4096 5月   7 14:29 libcore/
drwxrwxr-x   9 rootroot rootroot      4096 5月   7 14:29 libnativehelper/
-rw-rw-r--   1 rootroot rootroot        92 5月   7 14:21 Makefile
drwxrwxr-x   9 rootroot rootroot      4096 5月   7 14:29 mkcombinedroot/
lrwxrwxrwx   1 rootroot rootroot        38 5月   7 14:29 mkimage.sh -> device/friendlyelec/nanopi3/mkimage.sh*
drwxrwxr-x   9 rootroot rootroot      4096 5月   7 14:30 packages/
drwxrwxr-x   5 rootroot rootroot      4096 5月   7 14:30 pdk/
drwxrwxr-x   9 rootroot rootroot      4096 5月   7 14:30 platform_testing/
drwxrwxr-x  34 rootroot rootroot      4096 5月   7 14:41 prebuilts/
-rwxrwxr-x   1 rootroot rootroot       519 5月   7 14:42 restore_patches.sh*
drwxrwxr-x   9 rootroot rootroot      4096 5月   7 14:42 rkbin/
drwxrwxr-x   4 rootroot rootroot      4096 5月   7 14:21 RKDocs/
drwxrwxr-x   4 rootroot rootroot      4096 5月   7 14:42 rkst/
drwxrwxr-x   5 rootroot rootroot      4096 5月   7 14:21 RKTools/
-rw-rw-r--   1 rootroot rootroot        54 6月  29 11:44 .rockchip_device.mk
drwxrwxr-x  21 rootroot rootroot      4096 5月   7 14:42 sdk/
-rwxrwxr-x   1 rootroot rootroot       357 5月   7 14:42 setenv.sh*
drwxrwxr-x  45 rootroot rootroot      4096 5月   7 14:43 system/
drwxrwxr-x  11 rootroot rootroot      4096 5月   7 14:43 test/
drwxrwxr-x   4 rootroot rootroot      4096 5月   7 14:43 toolchain/
drwxrwxr-x  23 rootroot rootroot      4096 5月   7 14:43 tools/
drwxrwxr-x  24 rootroot rootroot      4096 5月   7 14:43 u-boot/
-rw-rw-r--   1 rootroot rootroot  18741214 6月  29 11:33 u-boot1.tgz
drwxrwxr-x   7 rootroot rootroot      4096 5月   7 14:44 vendor/
lrwxrwxrwx   1 rootroot rootroot        27 5月   7 14:21 WORKSPACE -> build/bazel/bazel.WORKSPACE
rootroot@rootroot-desktop:~/rk35xx-android12$ 
rootroot@rootroot-desktop:~/rk35xx-android12$ 
rootroot@rootroot-desktop:~/rk35xx-android12$ . setenv.sh

============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=12
TARGET_PRODUCT=aosp_nanopi3
TARGET_BUILD_VARIANT=userdebug
TARGET_BUILD_TYPE=release
TARGET_ARCH=arm64
TARGET_ARCH_VARIANT=armv8-a
TARGET_CPU_VARIANT=generic
TARGET_2ND_ARCH=arm
TARGET_2ND_ARCH_VARIANT=armv8-a
TARGET_2ND_CPU_VARIANT=generic
HOST_ARCH=x86_64
HOST_2ND_ARCH=x86
HOST_OS=linux
HOST_OS_EXTRA=Linux-5.15.0-107-generic-x86_64-Ubuntu-20.04.6-LTS
HOST_CROSS_OS=windows
HOST_CROSS_ARCH=x86
HOST_CROSS_2ND_ARCH=x86_64
HOST_BUILD_TYPE=release
BUILD_ID=SQ3A.220705.003.A1
OUT_DIR=out
============================================
rootroot@rootroot-desktop:~/rk35xx-android12$ 
rootroot@rootroot-desktop:~/rk35xx-android12$ ./build.sh -FMu
grep: .config: No such file or directory
## make nanopi6_ab_defconfig -j72
  HOSTCC  scripts/basic/fixdep
  HOSTCC  scripts/kconfig/conf.o
  SHIPPED scripts/kconfig/zconf.tab.c
  SHIPPED scripts/kconfig/zconf.lex.c
  SHIPPED scripts/kconfig/zconf.hash.c
  HOSTCC  scripts/kconfig/zconf.tab.o
In file included from scripts/kconfig/zconf.tab.c:2468:
scripts/kconfig/confdata.c: In function ‘conf_write’:
scripts/kconfig/confdata.c:771:19: warning: ‘%s’ directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
  771 |  sprintf(newname, "%s%s", dirname, basename);
      |                   ^~~~~~
scripts/kconfig/confdata.c:771:19: note: assuming directive output of 7 bytes
In file included from /usr/include/stdio.h:867,
                 from scripts/kconfig/zconf.tab.c:82:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:36:10: note: ‘__builtin___sprintf_chk’ output 1 or more bytes (assuming 4104) into a destination of size 4097
   36 |   return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   37 |       __bos (__s), __fmt, __va_arg_pack ());
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from scripts/kconfig/zconf.tab.c:2468:
scripts/kconfig/confdata.c:774:20: warning: ‘.tmpconfig.’ directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
  774 |   sprintf(tmpname, "%s.tmpconfig.%d", dirname, (int)getpid());
      |                    ^~~~~~~~~~~~~~~~~
In file included from /usr/include/stdio.h:867,
                 from scripts/kconfig/zconf.tab.c:82:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:36:10: note: ‘__builtin___sprintf_chk’ output between 13 and 4119 bytes into a destination of size 4097
   36 |   return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   37 |       __bos (__s), __fmt, __va_arg_pack ());
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  HOSTLD  scripts/kconfig/conf
#
# configuration written to .config
#
scripts/kconfig/conf  --silentoldconfig Kconfig
  CHK     include/config.h
  UPD     include/config.h
  CFG     u-boot.cfg
  GEN     include/autoconf.mk.dep
  CFG     spl/u-boot.cfg
  CFG     tpl/u-boot.cfg
  GEN     tpl/include/autoconf.mk
  GEN     spl/include/autoconf.mk
  GEN     include/autoconf.mk
  CHK     include/config/uboot.release
  CHK     include/generated/timestamp_autogenerated.h
  UPD     include/generated/timestamp_autogenerated.h
  UPD     include/config/uboot.release
  HOSTCC  scripts/dtc/flattree.o
  HOSTCC  scripts/dtc/dtc.o
  HOSTCC  scripts/dtc/fstree.o
  HOSTCC  scripts/dtc/data.o
  HOSTCC  scripts/dtc/livetree.o
  HOSTCC  scripts/dtc/treesource.o
  HOSTCC  scripts/dtc/checks.o
  HOSTCC  scripts/dtc/util.o
  HOSTCC  scripts/dtc/srcpos.o
  SHIPPED scripts/dtc/dtc-parser.tab.c
  SHIPPED scripts/dtc/dtc-lexer.lex.c
  SHIPPED scripts/dtc/dtc-parser.tab.h
  CHK     include/generated/version_autogenerated.h
  HOSTCC  scripts/dtc/dtc-lexer.lex.o
  HOSTCC  scripts/dtc/dtc-parser.tab.o
  UPD     include/generated/version_autogenerated.h
  CC      lib/asm-offsets.s
  CC      arch/arm/lib/asm-offsets.s
  CHK     include/config.h
  CFG     u-boot.cfg
  HOSTLD  scripts/dtc/dtc
  CHK     include/generated/generic-asm-offsets.h
  CHK     include/generated/asm-offsets.h
  UPD     include/generated/generic-asm-offsets.h
  UPD     include/generated/asm-offsets.h
  HOSTCC  tools/gen_eth_addr
  HOSTCC  tools/gen_ethaddr_crc.o
  LDS     u-boot.lds
  WRAP    tools/lib/crc8.c
  HOSTCC  tools/mkenvimage.o
  HOSTCC  tools/os_support.o
  WRAP    tools/lib/crc32.c
  HOSTCC  tools/aisimage.o
  HOSTCC  tools/atmelimage.o
  WRAP    tools/common/bootm.c
  HOSTCC  tools/default_image.o
  WRAP    tools/lib/fdtdec.c
  HOSTCC  tools/fit_common.o
  HOSTCC  tools/fit_image.o
  WRAP    tools/common/image-fit.c
  HOSTCC  tools/image-host.o
  WRAP    tools/lib/fdtdec_common.c
  WRAP    tools/common/image.c
  HOSTCC  tools/imagetool.o
  HOSTCC  tools/imximage.o
  HOSTCC  tools/kwbimage.o
  WRAP    tools/lib/md5.c
  HOSTCC  tools/lpc32xximage.o
  HOSTCC  tools/mxsimage.o
  HOSTCC  tools/omapimage.o
  HOSTCC  tools/pblimage.o
  HOSTCC  tools/pbl_crc32.o
  HOSTCC  tools/vybridimage.o
  WRAP    tools/lib/rc4.c
  HOSTCC  tools/rkcommon.o


frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/policy/DeviceControlsControllerImpl.kt:94:51: warning: 'CONTROLS_ENABLED: String' is deprecated. Deprecated in Java
        if (secureSettings.getInt(Settings.Secure.CONTROLS_ENABLED, 1) == 0) {
                                                  ^
frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/tv/VpnStatusObserver.kt:43:24: warning: 'get(Class<T!>!): T!' is deprecated. Deprecated in Java
            Dependency.get(SecurityController::class.java)
                       ^
frameworks/base/packages/SystemUI/src/com/android/systemui/util/kotlin/nullability.kt:29:1: warning: expected performance impact from inlining is insignificant. Inlining works best for functions with parameters of functional types
inline fun <T> Optional<T>.getOrNull(): T? = orElse(null)
^
[ 99% 136155/136177] //frameworks/base/packages/SystemUI:SystemUI r8 [common]
Warning: Missing class android.compat.annotation.UnsupportedAppUsage (referenced from: void com.android.systemui.people.widget.PeopleBackupHelper.writeNewStateDescription(android.os.ParcelFileDescriptor))
Missing class android.support.annotation.Keep (referenced from: kotlinx.coroutines.android.AndroidExceptionPreHandler)
Missing class org.jetbrains.annotations.NotNull (referenced from: java.util.List com.android.keyguard.FontInterpolator$VarFontKey.sortedAxes and 4934 other contexts)
Missing class org.jetbrains.annotations.Nullable (referenced from: android.graphics.fonts.Font com.android.keyguard.FontInterpolator$InterpKey.l and 1141 other contexts)
[100% 136177/136177] Target super fs image for debug: out/target/product/nanopi3/super.img
2024-06-29 13:59:46 - build_super_image.py - INFO    : Building super image from info dict...
2024-06-29 13:59:46 - sparse_img.py - INFO    : Total of 242323 4096-byte output blocks in 16 input chunks.
2024-06-29 13:59:46 - sparse_img.py - INFO    : Total of 39899 4096-byte output blocks in 6 input chunks.
2024-06-29 13:59:46 - sparse_img.py - INFO    : Total of 72543 4096-byte output blocks in 8 input chunks.
2024-06-29 13:59:47 - sparse_img.py - INFO    : Total of 4246 4096-byte output blocks in 2 input chunks.
2024-06-29 13:59:47 - sparse_img.py - INFO    : Total of 169 4096-byte output blocks in 2 input chunks.
2024-06-29 13:59:47 - sparse_img.py - INFO    : Total of 64 4096-byte output blocks in 4 input chunks.
2024-06-29 13:59:47 - sparse_img.py - INFO    : Total of 61185 4096-byte output blocks in 5 input chunks.
2024-06-29 13:59:57 - build_super_image.py - INFO    : Done writing image out/target/product/nanopi3/super.img

#### build completed successfully (02:10:16 (hh:mm:ss)) ####

TARGET_PRODUCT=aosp_nanopi3
BOARD_AVB_ENABLE=false
BOARD_USES_AB_IMAGE=true
HIGH_RELIABLE_RECOVERY_OTA=
----------------------------------
create dtbo.img...
done.
create rockdev/Image-aosp_nanopi3/resource.img...
done.
create rockdev/Image-aosp_nanopi3/boot.img...
done.
create rockdev/Image-aosp_nanopi3/boot-debug.img...
done.
skip copy images: /home/rootroot/rk35xx-android12/out/target/product/nanopi3/vendor_boot.img
skip copy images: /home/rootroot/rk35xx-android12/out/target/product/nanopi3/vendor_boot-debug.img
skip copy images: /home/rootroot/rk35xx-android12/out/target/product/nanopi3/recovery.img
create rockdev/Image-aosp_nanopi3/super.img...
done.
skip copy images: /home/rootroot/rk35xx-android12/out/target/product/nanopi3/userdata.img
create vbmeta.img...
BOARD_AVB_ENABLE is false, use default vbmeta.img
create misc.img.... done.
create uboot.img...
u-boot/trust.img not fount! Please make it from u-boot first!
create loader...
create config.cfg...
create baseparameter...done.
----------------------------------
IMAGE_PATH: rockdev/Image-aosp_nanopi3

#### make completed successfully (02:23:14 (hh:mm:ss)) ####

generate update.img
packing update.img with Image -RK3588
regenernate package-file-tmp...
start to make update.img...
Android Firmware Package Tool v2.2
------ PACKAGE ------
Add file: ./package-file
package-file,Add file: ./package-file done,offset=0x800,size=0x2e4,userspace=0x1
Add file: ./Image/MiniLoaderAll.bin
bootloader,Add file: ./Image/MiniLoaderAll.bin done,offset=0x1000,size=0x759c0,userspace=0xec
Add file: ./Image/parameter.txt
parameter,Add file: ./Image/parameter.txt done,offset=0x77000,size=0x2ed,userspace=0x1,flash_address=0x00000000
Add file: ./Image/uboot.img
uboot_a,Add file: ./Image/uboot.img done,offset=0x77800,size=0x400000,userspace=0x800,flash_address=0x00004000
uboot_b,Add file: ./Image/uboot.img done,found same item in the previous
Add file: ./Image/misc.img
misc,Add file: ./Image/misc.img done,offset=0x477800,size=0xc000,userspace=0x18,flash_address=0x00008000
Add file: ./Image/dtbo.img
dtbo_a,Add file: ./Image/dtbo.img done,offset=0x483800,size=0x300,userspace=0x1,flash_address=0x0000a000
dtbo_b,Add file: ./Image/dtbo.img done,found same item in the previous
Add file: ./Image/vbmeta.img
vbmeta_a,Add file: ./Image/vbmeta.img done,offset=0x484000,size=0x1000,userspace=0x2,flash_address=0x0000e000
vbmeta_b,Add file: ./Image/vbmeta.img done,found same item in the previous
Add file: ./Image/boot.img
boot_a,Add file: ./Image/boot.img done,offset=0x485000,size=0x33a5000,userspace=0x674a,flash_address=0x00010000
boot_b,Add file: ./Image/boot.img done,found same item in the previous
Add file: ./Image/baseparameter.img
baseparameter,Add file: ./Image/baseparameter.img done,offset=0x382a000,size=0x100000,userspace=0x200,flash_address=0x0011e000
Add file: ./Image/super.img
super,Add file: ./Image/super.img done,offset=0x392a000,size=0x6598e360,userspace=0xcb31d,flash_address=0x00120000
Add CRC...
Make firmware OK!
------ OK ------
********rkImageMaker ver 2.23********
Generating new image, please wait...
Writing head info...
Writing boot file...
Writing firmware...
Generating MD5 data...
MD5 data generated successfully!
New image generated successfully!
Making update.img OK.

#### make completed successfully (02:23:27 (hh:mm:ss)) ####

rootroot@rootroot-desktop:~/rk35xx-android12$ 
rootroot@rootroot-desktop:~/rk35xx-android12$ 
rootroot@rootroot-desktop:~/rk35xx-android12$ cd rockdev/
rootroot@rootroot-desktop:~/rk35xx-android12/rockdev$ 
rootroot@rootroot-desktop:~/rk35xx-android12/rockdev$ ll
total 12
drwxrwxr-x  3 rootroot rootroot 4096 6月  29 14:09 ./
drwxrwxr-x 40 rootroot rootroot 4096 6月  29 14:09 ../
drwxrwxr-x  2 rootroot rootroot 4096 6月  29 14:09 Image-aosp_nanopi3/
rootroot@rootroot-desktop:~/rk35xx-android12/rockdev$ 
rootroot@rootroot-desktop:~/rk35xx-android12/rockdev$ cd Image-aosp_nanopi3/
rootroot@rootroot-desktop:~/rk35xx-android12/rockdev/Image-aosp_nanopi3$ ll
total 3505824
drwxrwxr-x 2 rootroot rootroot       4096 6月  29 14:09 ./
drwxrwxr-x 3 rootroot rootroot       4096 6月  29 14:09 ../
-rw-rw-r-- 1 rootroot rootroot    1048576 5月   7 14:22 baseparameter.img
-rw-rw-r-- 1 rootroot rootroot   54319104 6月  29 13:29 boot-debug.img
-rw-rw-r-- 1 rootroot rootroot   54153216 6月  29 13:29 boot.img
-rw-rw-r-- 1 rootroot rootroot       7959 5月   7 14:22 config.cfg
-rw-rw-r-- 1 rootroot rootroot        768 6月  29 11:56 dtbo.img
-rw-rw-r-- 1 rootroot rootroot     481728 6月  29 11:46 MiniLoaderAll.bin
-rw-rw-r-- 1 rootroot rootroot      49152 5月   7 14:42 misc.img
-rw-rw-r-- 1 rootroot rootroot        737 6月  29 12:44 parameter.txt
-rw-rw-r-- 1 rootroot rootroot      49152 5月   7 14:42 pcba_small_misc.img
-rw-rw-r-- 1 rootroot rootroot      49153 5月   7 14:42 pcba_whole_misc.img
-rw-rw-r-- 1 rootroot rootroot    6273024 6月  29 11:49 resource.img
-rw-r--r-- 1 rootroot rootroot 1704518496 6月  29 13:59 super.img
-rw-rw-r-- 1 rootroot rootroot    4194304 6月  29 11:46 uboot.img
-rw-rw-r-- 1 rootroot rootroot 1764942410 6月  29 14:09 update.img
-rw-rw-r-- 1 rootroot rootroot       4096 5月   7 14:22 vbmeta.img
rootroot@rootroot-desktop:~/rk35xx-android12/rockdev/Image-aosp_nanopi3$ 
rootroot@rootroot-desktop:~/rk35xx-android12/rockdev/Image-aosp_nanopi3$ 

效果图:


预编译的效果图:


参考资料:
百度:友善NanoPi R6C wiki

https://wiki.friendlyelec.com/wiki/index.php/Main_Page
Main Page
4.3 NanoPC/Pi Series
NanoPi R6C


http://wiki.friendlyelec.com/wiki/index.php/NanoPi_R6C/zh#USB.E7.83.A7.E5.86.99.E6.AD.A5.E9.AA.A42:_.E5.B0.86NanoPi-R6C.E4.B8.8E.E7.94.B5.E8.84.91.E8.BF.9E.E6.8E.A5.2C_.E5.B9.B6.E8.BF.9B.E5.85.A5.E5.88.B7.E6.9C.BA.E6.A8.A1.E5.BC.8F
NanoPi R6C/zh

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/763951.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

给小程序接入AI服务之后,我的睡后收入又增加了

自从本人写了《[从零开始三天学会微信小程序开发]》教程以来&#xff0c;不断有人加我&#xff0c;一起交流微信小程序开发的事情&#xff0c;很让人开心。 也有一些人和我说&#xff0c;现在已经是AI时代了&#xff0c;怎么还用这种固定内容的模式呢&#xff1f;确实是的&…

K8S 集群节点缩容

环境说明&#xff1a; 主机名IP地址CPU/内存角色K8S版本Docker版本k8s231192.168.99.2312C4Gmaster1.23.1720.10.24k8s232192.168.99.2322C4Gwoker1.23.1720.10.24k8s233&#xff08;需下线&#xff09;192.168.99.2332C4Gwoker1.23.1720.10.24 1. K8S 集群节点缩容 当集群中有…

ROS2使用Python开发动作通信

1.创建接口节点 cd chapt4_ws/ ros2 pkg create robot_control_interfaces --build-type ament_cmake --destination-directory src --maintainer-name "joe" --maintainer-email "1027038527qq.com" mkdir -p src/robot_control_interfaces/action touch…

【微服务】微服务之Feign 与 Ribbon

文章目录 强烈推荐引言优点Feign示例什么是Ribbon&#xff1f;Ribbon 的优点Netflix Feign 和 Ribbon整合Feign 与 Ribbon 的关系Feign 与 Ribbon 结合使用的示例配置文件&#xff08;application.yml&#xff09;说明&#xff1a; Feign 与 Ribbon 结合使用的应用场景1. 动态服…

XD3C03P1G、XD3C01N3F比例方向控制阀放大板

XD3A01N2G、XD3A03N2G、XD3C03N1F、XD3C03P1G、XD3C01N3F、XD3C03N2F、XD3C01P4G、XD3C03P3G、XD3C03N2F、XD3C03N2G、XDP3A01P1F、XDP3C03N2G、XDP3A03P3G、XDP3C01NAF、XDP3C03P6G、XDP3A03PAG、XDP3A03N3F液压比例方向阀是液压系统中的关键元件&#xff0c;用于实现对流量、…

C#/WPF 自制截图工具

在日常使用电脑办公时&#xff0c;我们经常遇到需要截图然后保存图片&#xff0c;我们往往需要借助安装截图工具才能实现&#xff0c;现在我们通过C#自制截图工具&#xff0c;也能够轻松进行截图。 我们可以通过C#调用WindousAPI来实现截图&#xff0c;实例代码如下&#xff1a…

Three.js 中的光照模型

Three.js 中的光照模型 Three.js 的一个伟大抽象就是统一了所有材质的光照模型, 无论 PBR 或者 Phong。都只用两个函数给全部囊括了。 就是 RE_Direct(直接反射) 和 RE_IndirectDiffuse(间接反射)。真正做到了大一统。下面以Phong为例,具体看一下如何落地。 省流版本: // 直接…

CSF视频文件格式转换WMV格式(2024年可用)

如果大家看过一些高校教学讲解视频的话&#xff0c;很可能见过这样一个难得的格式&#xff0c;".csf "&#xff0c;非常漂亮 。 用暴风影音都可以打开观看&#xff0c;会自动下载解码。 但是一旦我们想要利用或者上传视频的时候就麻烦了&#xff0c;一般网站不认这…

开放式耳机哪个品牌质量最好最耐用?2024热门红榜耳机真实测评

随着人们生活质量的提高&#xff0c;喜爱运动的小伙伴也越来越多了&#xff0c;开放式蓝牙耳机的佩戴舒适度与稳定性这两个优势在很多运动场景中可以为用户带来更好的使用体验。此外&#xff0c;我们的音频使用、通话、游戏等应用场景在不断拓宽&#xff0c;蓝牙耳机的使用时间…

qt可点击的QLabel

需求——问题与思路 使用wpf实现一个可点击的超链接label相当简单&#xff08;如下图&#xff09;&#xff0c;但是qt的QLabel不会响应点击事件&#xff0c;那就从QLabel继承一个类&#xff0c;然后在该类中重写mousePressEvent函数&#xff0c;并在该函数中对左键点击事件做响…

FPGA工程师有前途吗 ?FPGA崛起之路

全球 FPGA 市场规模犹如滚雪球般逐年扩大。 根据Gartner Group预测&#xff0c;2020-2026年全球FPGA市场规模从55.85亿美元增至96.9亿美元&#xff0c;年均复合增长率为9.6%。 众多国际知名科技企业&#xff0c;如赛灵思、Lattice等&#xff0c;纷纷加大在 FPGA 研发和应用方…

linux操作系统数据盘挂载目录home改到www

云服务器开通后安装宝塔面板&#xff0c;数据盘默认挂载在 /home目录&#xff0c;通常这个目录不是我们需要的&#xff0c;数据盘需要挂载更换到/www目录。 如图所示数据盘/dev/mapper/ao-home 挂载到/home目录 但是我们需要它挂载到/www目录 以下操作是将数据盘/dev/mapper/…

希尔排序的实现

引言 排序在我们生活中十分常见&#xff0c;无论是购物软件中的商品推荐还是名次、排名都与排序算法息息相关。希尔排序是排序中较快的一种&#xff0c;而希尔排序实现的基础是插入排序。 排序的实现 插入排序&#xff08;以升序为例&#xff09; 插入排序的原理是从第二个数…

非静压模型SWASH学习(8)——三维孤立波在锥形岛屿上的爬坡过程(Runup of solitary waves on a conical island)

三维孤立波在锥形岛屿上的爬坡过程&#xff08;Runup of solitary waves on a conical island&#xff09; 算例简介模型配置网格及参数设置网格与地形初始条件与边界条件数值求解方法输出设置模拟时间 波浪&#xff08;孤立波&#xff09;入射边界的时间序列.bnd文件模拟结果注…

基于OpenCV与Keras的停车场车位自动识别系统

本项目旨在利用计算机视觉技术和深度学习算法&#xff0c;实现对停车场车位状态的实时自动识别。通过摄像头监控停车场内部&#xff0c;系统能够高效准确地辨认车位是否被占用&#xff0c;为车主提供实时的空闲车位信息&#xff0c;同时为停车场管理者提供智能化的车位管理工具…

Python基础小知识问答系列-记录最后N个元素

1. 问题&#xff1a; 怎么复制变量内容&#xff1f; 进行可迭代的操作过程中&#xff0c;如何记录最后几次操作的内容&#xff1f; 2. 解决方式&#xff1a; 对于非数值类型的变量&#xff0c;复制变量内容时&#xff0c;使用"*"。 记录最后n个元素&#xff…

重大丨深中通道今通车!继港珠澳大桥后,三思再度点亮世界工程

6月30日下午3时&#xff0c;国家重大工程深中通道正式通车试运营&#xff0c;向世界再次展示中国智慧和基建实力。已承接过包括港珠澳大桥海底隧道在内2500多条隧道照明工程的上海三思电子工程有限公司&#xff0c;为这座超级工程提供了LED隧道照明、东西人工岛照明及显示、管理…

【力扣】赎金信

&#x1f525;博客主页&#xff1a; 我要成为C领域大神&#x1f3a5;系列专栏&#xff1a;【C核心编程】 【计算机网络】 【Linux编程】 【操作系统】 ❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ 本博客致力于知识分享&#xff0c;与更多的人进行学习交流 ​ 给你两个字符串…

私有云统一多云管理平台主要服务内容

私有云统一多云管理平台&#xff0c;作为企业IT架构现代化的关键组成部分&#xff0c;旨在为企业提供高效、灵活、安全的云计算资源管理解决方案。这类平台通过整合和优化不同云环境(包括私有云、公有云、混合云)的管理&#xff0c;帮助企业打破云孤岛&#xff0c;实现资源的统…

【MySQL备份】Percona XtraBackup增量备份实战篇

目录 1.前言 2.准备工作 2.1.环境信息 2.2.创建备份目录 2.3.配置/etc/my.cnf文件 2.4.授予root用户BACKUP_ADMIN权限 3.增量备份 3.1.第一步&#xff1a;全量备份 3.2.第二步&#xff1a;增量备份 3.3.第三步&#xff1a;再次增量备份 4.准备备份 4.1.准备全量备…