VIM3 安卓P源代码编译失败

在网盘https://pan.baidu.com/s/1_XbFongE6i7JNueJ-b-oXA下载代码后,解压,再执行
$repo init -u https://github.com/khadas/android_manifest.git -b khadas-vims-pie
$repo sync -j40
$repo start khadas-vims-pie --all
$cd khadas
$source build/envsetup.sh
$lunch 9
$make -j32 otapackage
之后提示:
[940/953] including vendor/amlogic/common/gpu-lib/Android.mk …
"the value of BOARD_INSTALL_VULKAN is "
TARGET_PRODUCT is kvim3
[945/953] including vendor/amlogic/common/prebuilt/Android.mk …
“no bootaccelerate source code, add prebuilts”
“no exoplayer source code, add prebuilts”
[951/953] including vendor/amlogic/common/tv/tvserver/Android.mk …
“have hardware/amlogic/media”
“have hardware/amlogic/media”
[953/953] including vendor/widevine/Android.mk …
device/khadas/kvim3/Kernel.mk:174: warning: overriding commands for target out/target/product/kvim3/obj/lib_vendor/mali.ko' vendor/amlogic/common//gpu/gpu-v2.mk:23: warning: ignoring old commands for target out/target/product/kvim3/obj/lib_vendor/mali.ko’
build/make/core/base_rules.mk:412: warning: overriding commands for target out/target/product/kvim3/system/usr/icu/icudt60l.dat' build/make/core/base_rules.mk:412: warning: ignoring old commands for target out/target/product/kvim3/system/usr/icu/icudt60l.dat’
build/make/core/base_rules.mk:412: warning: overriding commands for target out/host/linux-x86/usr/icu/icudt60l.dat' build/make/core/base_rules.mk:412: warning: ignoring old commands for target out/host/linux-x86/usr/icu/icudt60l.dat’
build/make/core/Makefile:28: warning: overriding commands for target out/target/product/kvim3/obj/lib_vendor/ddr_window_64.ko' device/khadas/kvim3/Kernel.mk:174: warning: ignoring old commands for target out/target/product/kvim3/obj/lib_vendor/ddr_window_64.ko’
build/make/core/Makefile:28: warning: overriding commands for target out/target/product/kvim3/vendor/etc/init/android.hardware.wifi@1.0-service.rc' build/make/core/base_rules.mk:426: warning: ignoring old commands for target out/target/product/kvim3/vendor/etc/init/android.hardware.wifi@1.0-service.rc’
ninja: error: ‘device/khadas/kvim3/bootloader.img’, needed by ‘out/target/product/kvim3/bootloader.img’, missing and no known rule to make it
17:22:11 ninja failed with: exit status 1

failed to build some targets (02:06 (mm:ss))

你这个需要先编译uboot代码后再编译整个android代码,具体编译可以看我们的docs文档

你好,我不太清楚./mk TARGET的TARGET应该是什么,我只是单纯想编译个系统跑在VIM3上

你好,我不太清楚命令./mk TARGET的TARGET应该是什么,我只是单纯想编译个系统跑在VIM3上

我尝试
wangzheshi@ubuntudhsb:~/khadas/khadas/bootloader/uboot$ ./mk kvim3
之后报错:

Clean up
make[1]: /opt/toolchains/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux/bin/aarch64-none-elf-gcc: Command not found
/bin/sh: 1: /opt/toolchains/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux/bin/aarch64-none-elf-gcc: not found
dirname: missing operand
Try ‘dirname --help’ for more information.
CLEAN scripts/basic
select bl33:
Compile config: kvim3
make[1]: /opt/toolchains/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux/bin/aarch64-none-elf-gcc: Command not found
/bin/sh: 1: /opt/toolchains/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux/bin/aarch64-none-elf-gcc: not found
dirname: missing operand
Try ‘dirname --help’ for more information.
HOSTCC scripts/basic/fixdep
GEN ./Makefile
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
HOSTLD scripts/kconfig/conf

configuration written to .config

Compile tools
parse build done
export CONFIG_SYSTEM_AS_ROOT
Build uboot…Please Wait…systemroot…null…
make[1]: /opt/toolchains/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux/bin/aarch64-none-elf-gcc: Command not found
/bin/sh: 1: /opt/toolchains/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux/bin/aarch64-none-elf-gcc: not found
dirname: missing operand
Try ‘dirname --help’ for more information.
GEN ./Makefile
scripts/kconfig/conf --silentoldconfig Kconfig
CHK include/config.h
UPD include/config.h
GEN include/autoconf.mk
/bin/sh: 1: /opt/toolchains/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux/bin/aarch64-none-elf-gcc: not found
GEN include/autoconf.mk.dep
/bin/sh: 1: /opt/toolchains/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux/bin/aarch64-none-elf-gcc: not found
make[3]: *** [include/autoconf.mk] Error 1
make[3]: *** Waiting for unfinished jobs…
make[3]: *** [include/autoconf.mk.dep] Error 1
make[2]: *** [silentoldconfig] Error 1
make[1]: *** No rule to make target include/config/auto.conf', needed by include/config/uboot.release’. Stop.
make: *** [sub-make] Error 2
Error: U-boot build failed… abort

https://docs.khadas.com/zh-cn/vim3/InstallToolchains.html

我使用的是公司的服务器,没有sudo权限,安装sudo apt-get install gcc-arm-none-eabi提示没有权限,请问有其他途径安装吗

你好,我已经获得sudo权限,并且安装了Amlogic平台交叉编译器的uboot、linux交叉编译器
我做了以下操作:
$make clean
$cd bootloader/uboot
$./mk kvim3
$cd …/…/
$source build/envsetup.sh
$lunch 9
$make -j64 otapackage
但是仍出现编译错误:

OBJCOPY arch/arm/boot/zImage
Kernel: arch/arm/boot/zImage is ready
UIMAGE arch/arm/boot/uImage
“mkimage” command not found - U-Boot images will not be built
make[2]: *** [arch/arm/boot/uImage] Error 1
make[1]: *** [uImage] Error 2
make[1]: Leaving directory /data2/home/wangzheshi/khadas/khadas/out/target/product/kvim3/obj/KERNEL_OBJ' make: *** [sub-make] Error 2 make: Leaving directory /data2/home/wangzheshi/khadas/khadas/common’
[ 56% 40942/71970] //external/llvm/lib/Target/ARM/Disassembler:libLLVMARMDisassembler clang++ ARMDisassembler.cpp
ninja: build stopped: subcommand failed.
10:23:17 ninja failed with: exit status 1

failed to build some targets (06:36 (mm:ss))

sudo apt-get install u-boot-tools
sudo apt-get install uboot-mkimage

你好,在你的帮助下,我编译成功了。

wangzheshi@ubuntudhsb:~/khadas/khadas/out/target/product/kvim3$ ls *img -al
-rw-rw-r-- 1 wangzheshi wangzheshi 10158080 Oct 10 10:36 boot.img
-rw-rw-r-- 1 wangzheshi wangzheshi 1581424 Oct 10 10:18 bootloader.img
-rw-rw-r-- 1 wangzheshi wangzheshi 73876 Oct 10 10:35 cache.img
-rw-rw-r-- 1 wangzheshi wangzheshi 438 Oct 10 10:21 dtbo.img
-rw-rw-r-- 1 wangzheshi wangzheshi 91804 Oct 10 10:21 dt.img
-rw-rw-r-- 1 wangzheshi wangzheshi 544844 Oct 10 10:51 odm.img
-rw-rw-r-- 1 wangzheshi wangzheshi 14610508 Oct 10 10:50 product.img
-rw-rw-r-- 1 wangzheshi wangzheshi 1488076 Oct 10 10:42 ramdisk.img
-rw-rw-r-- 1 wangzheshi wangzheshi 6688863 Oct 10 10:42 ramdisk-recovery.img
-rw-rw-r-- 1 wangzheshi wangzheshi 16850944 Oct 10 10:42 recovery.img
-rw-rw-r-- 1 wangzheshi wangzheshi 707707124 Oct 10 10:51 system.img
-rw-rw-r-- 1 wangzheshi wangzheshi 980726300 Oct 10 10:51 update.img
-rw-rw-r-- 1 wangzheshi wangzheshi 479452 Oct 10 10:42 userdata.img
-rw-rw-r-- 1 wangzheshi wangzheshi 4096 Oct 10 10:20 vbmeta.img
-rw-rw-r-- 1 wangzheshi wangzheshi 219918460 Oct 10 10:50 vendor.img

现在我想把编译的文件烧写进板子里,请问要参考哪篇文章,还有update.img该如何使用

https://docs.khadas.com/zh-cn/vim3/HowtoBootIntoUpgradeMode.html
https://docs.khadas.com/zh-cn/vim3/UpgradeViaUSBCable.html

打开升级工具 USB_Burning_Tool_v2.x.x.exe ,点击”File–>Import image”选择要升级的固件。
请问是只选择update.img就可以了吗

是的,。。。。。。。。。。。。。。。。。。。。。。。。

你好,我编译make bootimage能通过,但是我在代码目录下的kernel看不到linux内核代码,请问它的路径是放在其他地方吗,或者说我还需要下载linux内核
image

common目录为linux代码。。。。。。。

十分感谢,已经找到 :blush: :blush: