Firefly-RK3399 编译Android7.1 Industry遇到的问题

板子型号:Firefly-RK3399
系统环境:ubuntu-14.04.6-server
已成功安装环境:
√ sudo apt-get install openjdk-8-jdk
√ sudo apt-get install git-core gnupg flex bison gperf libsdl1.2-dev
libesd0-dev libwxgtk2.8-dev squashfs-tools build-essential zip curl
libncurses5-dev zlib1g-dev pngcrush schedtool libxml2 libxml2-utils
xsltproc lzop libc6-dev schedtool g+±multilib lib32z1-dev lib32ncurses5-dev
lib32readline-gplv2-dev gcc-multilib libswitch-perl
libssl1.0.0 libssl-dev

源码下载地址:http://www.t-firefly.com/doc/download/page/id/3.html#other_369
下载完成文件:
rk3399-firefly-industry-71-20190926.7z.001
rk3399-firefly-industry-71-20190926.7z.001.md5sum
rk3399-firefly-industry-71-20190926.7z.002
rk3399-firefly-industry-71-20190926.7z.002.md5sum
rk3399-industry-nougat-bundle.7z
文件md5校验正确
afb279a7d2966908bcf53ce2c2c05edc rk3399-firefly-industry-71-20190926.7z.001
2bc5a41fd1056f1d1ab1f7e84f666bee rk3399-firefly-industry-71-20190926.7z.002

解压完毕:
mkdir -p ~/proj/firefly-rk3399-Industry
cd ~/proj/firefly-rk3399-Industry
7z x /path/to/rk3399-firefly-industry-71-20190926.7z.001 -r -o.
git reset --hard

解压bundle完毕:
7z x rk3399-industry-nougat-bundle.7z -r -o. && mv rk3399-industry-nougat-bundle/ .bundle/

完整路径:
/root/proj/firefly-rk3399-Industry

目录结构:
drwxr-xr-x 37 root root 4096 1▒▒ 28 13:15 ./
drwxr-xr-x 3 root root 4096 1▒▒ 28 13:20 ../
drwxr-xr-x 3 root root 4096 1▒▒ 28 12:40 abi/
lrwxrwxrwx 1 root root 19 1▒▒ 28 12:40 Android.bp → build/soong/root.bp
drwxr-xr-x 20 root root 4096 1▒▒ 28 12:40 art/
drwxr-xr-x 11 root root 4096 1▒▒ 28 12:40 bionic/
drwxr-xr-x 3 root root 4096 1▒▒ 28 12:40 bootable/
lrwxrwxrwx 1 root root 26 1▒▒ 28 12:40 bootstrap.bash → build/soong/bootstrap.bash*
drwxr-xr-x 9 root root 4096 1▒▒ 28 12:40 build/
-rwxr-xr-x 1 root root 5350 1▒▒ 28 12:40 build-rk3399-all.sh*
-rwxr-xr-x 1 root root 4171 1▒▒ 28 12:40 buildspec.mk*
drwxr-xr-x 3 root root 4096 12▒▒ 30 17:39 .bundle/
-rwxr-xr-x 1 root root 14109 1▒▒ 28 12:40 .classpath*
drwxr-xr-x 3 root root 4096 1▒▒ 28 12:40 compatibility/
drwxr-xr-x 11 root root 4096 1▒▒ 28 12:40 cts/
drwxr-xr-x 9 root root 4096 1▒▒ 28 12:40 dalvik/
drwxr-xr-x 5 root root 4096 1▒▒ 28 12:40 developers/
drwxr-xr-x 20 root root 4096 1▒▒ 28 12:41 development/
drwxr-xr-x 4 root root 4096 1▒▒ 28 12:41 device/
drwxr-xr-x 3 root root 4096 1▒▒ 28 12:41 docs/
drwxr-xr-x 260 root root 12288 1▒▒ 28 12:42 external/
drwxr-xr-x 4 root root 4096 1▒▒ 28 12:40 FFTools/
drwxr-xr-x 17 root root 4096 1▒▒ 28 12:43 frameworks/
drwxr-xr-x 8 root root 4096 1▒▒ 28 13:23 .git/
-rw-r–r-- 1 root root 328 1▒▒ 28 12:40 .gitignore
drwxr-xr-x 16 root root 4096 1▒▒ 28 12:43 hardware/
-rw-r–r-- 1 root root 162 1▒▒ 28 12:43 javaenv.sh
drwxr-xr-x 26 root root 4096 1▒▒ 28 13:19 kernel/
drwxr-xr-x 17 root root 4096 1▒▒ 28 12:43 libcore/
drwxr-xr-x 4 root root 4096 1▒▒ 28 12:43 libnativehelper/
-rw-r–r-- 1 root root 87 1▒▒ 28 12:40 Makefile
-rwxr-xr-x 1 root root 10116 1▒▒ 28 12:43 mkimage.sh*
drwxr-xr-x 7 root root 4096 1▒▒ 28 12:43 ndk/
drwxr-xr-x 9 root root 4096 1▒▒ 28 12:43 packages/
drwxr-xr-x 5 root root 4096 1▒▒ 28 12:43 pdk/
drwxr-xr-x 6 root root 4096 1▒▒ 28 12:43 platform_testing/
drwxr-xr-x 20 root root 4096 1▒▒ 28 12:47 prebuilts/
drwxr-xr-x 6 root root 4096 1▒▒ 28 12:48 rkbin/
drwxr-xr-x 4 root root 4096 1▒▒ 28 12:48 rkst/
drwxr-xr-x 4 root root 4096 1▒▒ 28 12:40 RKTools/
drwxr-xr-x 24 root root 4096 1▒▒ 28 12:48 sdk/
drwxr-xr-x 21 root root 4096 1▒▒ 28 12:48 system/
drwxr-xr-x 3 root root 4096 1▒▒ 28 12:48 toolchain/
drwxr-xr-x 4 root root 4096 1▒▒ 28 12:48 tools/
drwxr-xr-x 21 root root 4096 1▒▒ 28 13:58 u-boot/
drwxr-xr-x 5 root root 4096 1▒▒ 28 12:48 vendor/

执行 .bundle/update 遇到问题:

执行 git rebase FETCH_HEAD 遇到问题

HDMI+DP 显示编译 遇到问题

后续编译皆有问题!

上面图片看不到了 补充一些图片:
执行 .bundle/update 遇到问题:


执行 git rebase FETCH_HEAD 遇到问题

HDMI+DP 显示编译 遇到问题

本帖最后由 jpchen 于 2021-1-28 15:22 编辑

helloyys 发表于 2021-1-28 14:47
上面图片看不到了 补充一些图片:
执行 .bundle/update 遇到问题:
可能当前gitlab的网络有问题,请在进行同步一下验证

jpchen 发表于 2021-1-28 15:04
可能当前gitlab的网络有问题,请在进行同步一下验证

你好 gitlab网络测试是ok的,同步一下验证是指什么操作?

jpchen 发表于 2021-1-28 15:04
可能当前gitlab的网络有问题,请在进行同步一下验证

执行 .bundle/update 会下载一些东西 说明网络是ok的 下载完成之后 就会出刚才那个截图的 仓库中缺少必备提交的错误 !!

helloyys 发表于 2021-1-28 16:46
执行 .bundle/update 会下载一些东西 说明网络是ok的 下载完成之后 就会出刚才那个截图的 仓库中缺少 …

你可以查看当前.bundle 目录下是否有10 个bundle文件,如果没有可重新下载如下bundle。
同时在bundle目录下使用git log看一下当前提交是多少

链接:https://pan.baidu.com/s/1XWnvoIo_rDg1bj-Q-M87nw
提取码:1svq

jpchen 发表于 2021-1-28 17:39
你可以查看当前.bundle 目录下是否有10 个bundle文件,如果没有可重新下载如下bundle。
同时在bundle目 …

commit 8856fe97fafb4e0d7094104d0463f3a149109007
Author: zjy <service@t-firefly.com>
Date: Thu Aug 1 16:43:51 2019 +0800

1.update OpenAilib.apk ,bootanimation 2.update driver:led backlight wifi tp wiegand camera 3.update product AIOC-AI

commit 08ada8868b3e2daa246b396f016e4b1b4007aa48
Author: Firefly <service@t-firefly.com>
Date: Sat Oct 27 11:24:27 2018 +0800

Android7.1 Industry SDK init, support FaceX1 and AIO-3399C-AI

jpchen 发表于 2021-1-28 17:39
你可以查看当前.bundle 目录下是否有10 个bundle文件,如果没有可重新下载如下bundle。
同时在bundle目 …

重新下载还是不行! 如果代码不更新 能直接编译吗?
现在编译会报错
/root/proj/firefly-rk3399-Industry/u-boot/../prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/bin/aarch64-linux-android-gcc: 3: /root/proj/firefly-rk3399-Industry/u-boot/../prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/bin/aarch64-linux-android-gcc: Syntax error: “)” unexpected
/root/proj/firefly-rk3399-Industry/u-boot/../prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/bin/aarch64-linux-android-gcc: 3: /root/proj/firefly-rk3399-Industry/u-boot/../prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/bin/aarch64-linux-android-gcc: Syntax error: “)” unexpected
/root/proj/firefly-rk3399-Industry/u-boot/scripts/Makefile.autoconf:64: recipe for target ‘include/autoconf.mk’ failed
make[2]: *** [include/autoconf.mk] Error 1
make[2]: *** 正在等待未完成的任务…
/root/proj/firefly-rk3399-Industry/u-boot/scripts/Makefile.autoconf:40: recipe for target ‘include/autoconf.mk.dep’ failed
make[2]: *** [include/autoconf.mk.dep] Error 1
/root/proj/firefly-rk3399-Industry/u-boot/Makefile:496: recipe for target ‘silentoldconfig’ failed
make[1]: *** [silentoldconfig] Error 1
make: *** No rule to make target ‘include/config/auto.conf’, needed by ‘include/config/uboot.release’。 停止。

helloyys 发表于 2021-2-1 11:18
重新下载还是不行! 如果代码不更新 能直接编译吗?
现在编译会报错
/root/proj/firefly-rk3399-Indust …

必须更新,同步到最新,bundle的路径不能放错。

helloyys 发表于 2021-2-1 11:18
重新下载还是不行! 如果代码不更新 能直接编译吗?
现在编译会报错
/root/proj/firefly-rk3399-Indust …

发现了一个问题,你需要在普通权限下解压sdk和bundle ,你现在是超级用户权限。

jpchen 发表于 2021-2-1 16:01
发现了一个问题,你需要在普通权限下解压sdk和bundle ,你现在是超级用户权限。

确实是这样 用非root用户 解压是ok的 现在可以执行了
HDMI+DP 显示编译
编译kernel
编译uboot
编译android
都编译过了
但是执行 打包成统一固件 update.img
执行 :./FFTools/mkupdate/mkupdate.sh -l update 时候报错
Invalid lunch combo: update

helloyys 发表于 2021-2-3 10:10
确实是这样 用非root用户 解压是ok的 现在可以执行了
HDMI+DP 显示编译
编译kernel

@jpchen 帮忙看一下 谢谢

helloyys 发表于 2021-2-3 10:12
@jpchen 帮忙看一下 谢谢

编译的wiki 已经说的很清楚
./FFTools/mkupdate/mkupdate.sh -l rk3399_firefly-userdebug

jpchen 发表于 2021-2-3 11:17
编译的wiki 已经说的很清楚
./FFTools/mkupdate/mkupdate.sh -l rk3399_firefly-userdebug

1.使用命令直接生成统一固件 ./FFTools/mkupdate/mkupdate.sh -l rk3399_firefly-userdebug

2.执行命令./FFTools/mkupdate/mkupdate.sh -l update 会出现什么错误,可以发log看一下

jpchen 发表于 2021-2-3 11:34
1.使用命令直接生成统一固件 ./FFTools/mkupdate/mkupdate.sh -l rk3399_firefly-userdebug

2.执行命令. …

我也遇到了同样的问题。我想问一下,这两个是二选一的执行,还是要先执行1后执行2?

jpchen 发表于 2021-2-3 11:34
1.使用命令直接生成统一固件 ./FFTools/mkupdate/mkupdate.sh -l rk3399_firefly-userdebug

2.执行命令. …

l@l-H81-D3:~/proj/rk3399-Industry$ ./FFTools/mkupdate/mkupdate.sh -l update

Invalid lunch combo: update

jpchen 发表于 2021-2-3 11:34
1.使用命令直接生成统一固件 ./FFTools/mkupdate/mkupdate.sh -l rk3399_firefly-userdebug

2.执行命令. …

执行 ./FFTools/mkupdate/mkupdate.sh -l rk3399_firefly-userdebug 是ok的 会编译出
Firefly-RK3399_Industry7.1.2_HDMI_210203.img

执行命令./FFTools/mkupdate/mkupdate.sh -l update 会报错
Invalid lunch combo: update

helloyys 发表于 2021-2-3 11:50
执行 ./FFTools/mkupdate/mkupdate.sh -l rk3399_firefly-userdebug 是ok的 会编译出
Firefly-RK3399_I …

昨天我按第一种方式编译了,但是生成的镜像导入到板子上,没有界面,而且adb也找不到了。

使用该命令./FFTools/mkupdate/mkupdate.sh -l rk3399_firefly-userdebug

第二种方式wiki有误需要更正