• 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!' 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 Optional.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

  • 相关阅读:
    mybatis和mybatiplus中Error attempting to get column ‘xx‘ from result set
    web网页设计—— 指环王:护戒使者(13页) 电影网页设计 在线电影制作 个人设计web前端大作业
    常用函数式接口:Consumer、Predicate、Function的方法说明解练习
    dart系列之:集合使用最佳实践
    【小沐学前端】Node.js实现基于Protobuf协议的WebSocket通信
    行所当行@背包扔过墙
    stm32 HSUSB
    【EMC】第七届电磁兼容与电路保护研讨会笔记
    亚马逊卖家转独立站行动指南
    redux的概念介绍和基础使用
  • 原文地址:https://blog.csdn.net/wb4916/article/details/140101420