hadis
1
FAILED: ninja: ‘device/khadas/kvim3-kernel/4.9/kvim3.dtb’, needed by ‘out/target/product/kvim3/dt.img’, missing and no known rule to make it
你好,我在编译的过程中遇到了该问题,我们查看了您的git仓库,发现并没有提交kvim3-kernel相关的内容,仅有kvim3l-kernel的内容。我们使用khadas-vim3-r-32bit Branch进行编译,在 **android_device_khadas**仓库中并未找到相关内容。 非常着急
kvim3-kernel这个是编译kernel生成的
你将out目录删除,新建build.sh脚本内容如下
#!/bin/bash
PROJECT_PATH=`pwd`
echo $PROJECT_PATH
#build uboot
if [ "$1" == 'u' ] || [ "$1" == 'n' ]; then
echo "build uboot"
cd bootloader/uboot
if [ "$2" == 'n' ] || [ "$1" == 'n' ]; then
#make distclean
#make clean
echo "build uboot n"
fi
./mk kvim3 --vab 2>&1 | tee ../../build_vim3_11_uboot.log
cp build/u-boot.bin ../../device/khadas/kvim3/bootloader.img
cp build/u-boot.bin.sd.bin ../../device/khadas/kvim3/upgrade/
cp build/u-boot.bin.usb.* ../../device/khadas/kvim3/upgrade/
cd -
fi
#build kernel
if [ "$1" == 'k' ] || [ "$1" == 'n' ]; then
echo "build kernel"
if [ "$2" == 'n' ] || [ "$1" == 'n' ]; then
make distclean
#make clean
fi
./mk kvim3 -v 4.9 -j50 2>&1 | tee build_vim3_11_kernel.log
fi
#build android
if [ "$1" == 'a' ] || [ "$1" == 'n' ]; then
echo "build android"
cd ${PROJECT_PATH}
if [ "$2" == 'n' ] || [ "$1" == 'n' ]; then
#make clean
#rm -rf out/
cd common
make clean
make mrproper
make distclean
cd -
fi
#export ALLOW_MISSING_DEPENDENCIES=true
export BOARD_COMPILE_ATV=false
export BOARD_COMPILE_CTS=false
. build/envsetup.sh
lunch kvim3-userdebug
make installclean
make -j80 2>&1 | tee build_vim3_11_android.log
#make otapackage -j80 2>&1 | tee build_vim3_11_ota.log
#xz -zk out/target/product/kvim3/aml_upgrade_package.img
fi
使用./build.sh,编译失败的话将生成build_vim3_11_uboot.log,build_vim3_11_kernel.log,build_vim3_11_android.log上传给我看看
hadis
4
build_vim3_11_kernel.log中的错误
/bin/sh: 1: bc: not found
/home/aosp/vendor/amlogic/common/kernel/common/./Kbuild:42: recipe for target ‘include/generated/timeconst.h’ failed
make[3]: *** [include/generated/timeconst.h] Error 127
/home/aosp/vendor/amlogic/common/kernel/common/Makefile:1168: recipe for target ‘prepare0’ failed
make[2]: *** [prepare0] Error 2
make[2]: *** Waiting for unfinished jobs…
HOSTCC scripts/dtc/util.o
SHIPPED scripts/dtc/dtc-lexer.lex.c
SHIPPED scripts/dtc/dtc-parser.tab.h
SHIPPED scripts/dtc/dtc-parser.tab.c
HOSTCC scripts/dtc/dtc-lexer.lex.o
HOSTCC scripts/dtc/dtc-parser.tab.o
HOSTLD scripts/genksyms/genksyms
HOSTLD scripts/dtc/dtc
HOSTLD scripts/mod/modpost
Makefile:152: recipe for target ‘sub-make’ failed
make[1]: *** [sub-make] Error 2
Makefile:24: recipe for target ‘__sub-make’ failed
make: *** [__sub-make] Error 2
build kernel error
/bin/sh: 1: bc: not found
/home/aosp/vendor/amlogic/common/kernel/common/./Kbuild:42: recipe for target ‘include/generated/timeconst.h’ failed
make[3]: *** [include/generated/timeconst.h] Error 127
/home/aosp/vendor/amlogic/common/kernel/common/Makefile:1168: recipe for target ‘prepare0’ failed
make[2]: *** [prepare0] Error 2
make[2]: *** Waiting for unfinished jobs…
HOSTCC scripts/dtc/util.o
SHIPPED scripts/dtc/dtc-lexer.lex.c
SHIPPED scripts/dtc/dtc-parser.tab.h
SHIPPED scripts/dtc/dtc-parser.tab.c
HOSTCC scripts/dtc/dtc-lexer.lex.o
HOSTCC scripts/dtc/dtc-parser.tab.o
HOSTLD scripts/genksyms/genksyms
HOSTLD scripts/dtc/dtc
HOSTLD scripts/mod/modpost
Makefile:152: recipe for target ‘sub-make’ failed
make[1]: *** [sub-make] Error 2
Makefile:24: recipe for target ‘__sub-make’ failed
make: *** [__sub-make] Error 2
build kernel error
hadis
5
小哥,我检查了下Log,还是应为缺少一些必要的库,如bc、rsync,当前kernel已经顺利编译成功了。谢谢,幸苦。