Firefly开源社区

标题: Linux版块--编译Ubuntu固件出错,请帮忙看看问题,非常感谢! [打印本页]

作者: Bill18998086949    时间: 2021-12-29 16:41
标题: Linux版块--编译Ubuntu固件出错,请帮忙看看问题,非常感谢!
行业主板:AIO-3399J  下载资料:Linux-SDK源码包(仅支持RK3399)
按照https://wiki.t-firefly.com/zh_CN/AIO-3399J/linux_compile_gpt.html#这个步骤一步一步操作,最终编译出错。
1、成功安装要求的依赖包;
2、下载完成后先验证一下 MD5 码;

3、解压 Firefly_Linux_SDK 分卷压缩包

依次执行完以下三步
.repo/repo/repo sync -l.repo/repo/repo sync -c --no-tags.repo/repo/repo start firefly --all
4、更新 Firefly_Linux_SDK

5、编译SDK前配置
下载文件找不到rk3399_ubuntu18.04_LXDE.img.tgz这个,使用下载文件中ubuntu_20.04_RK3399_ext4_v2.10-51-g7ecad547_20210907-0918_DESKTOP.img替代
在SDK根目录下创建ubunturootfs文件夹,使用FileZilla软件将ubuntu_20.04_RK3399_ext4_v2.10-51-g7ecad547_20210907-0918_DESKTOP.img发送到ubunturootfs文件夹。

修改device/rockchip/RK3399/aio-3399j-ubuntu.mk文件如下:

全自动编译,结果如下:

不知道问题出在哪,请帮忙看下,谢谢!



作者: Bill18998086949    时间: 2021-12-29 16:59
============Start building uboot============
TARGET_UBOOT_CONFIG=rk3399
=========================================
## make rk3399_defconfig -j8
#
# configuration written to .config
#
scripts/kconfig/conf  --silentoldconfig Kconfig
  CHK     include/config.h
  CFG     u-boot.cfg
  GEN     include/autoconf.mk.dep
  CFG     spl/u-boot.cfg
  CFG     tpl/u-boot.cfg
  GEN     include/autoconf.mk
  GEN     tpl/include/autoconf.mk
  GEN     spl/include/autoconf.mk
  CHK     include/config/uboot.release
  CHK     include/generated/timestamp_autogenerated.h
  UPD     include/generated/timestamp_autogenerated.h
  HOSTLD  scripts/dtc/dtc
/usr/bin/ld: scripts/dtc/dtc-parser.tab.o:(.bss+0x10): multiple definition of `yylloc'; scripts/dtc/dtc-lexer.lex.o:(.bss+0x0): first defined here
collect2: error: ld returned 1 exit status
make[2]: *** [scripts/Makefile.host:108:scripts/dtc/dtc] 错误 1
make[1]: *** [scripts/Makefile.build:425:scripts/dtc] 错误 2
make: *** [Makefile:491: scripts] Error 2
make: *** Waiting for unfinished jobs....
  CHK     include/config.h
  CFG     u-boot.cfg
ERROR: Running build_uboot failed!
ERROR: exit code 2 from line 454:
    ./make.sh $RK_UBOOT_DEFCONFIG $UBOOT_COMPILE_COMMANDS
每一步我都截图了,但是不知道为啥编辑时显示,提交后就不显示,现在补粘贴编译结果如上。
作者: 895816513    时间: 2021-12-30 09:44
我们的uboot使用的是firefly-rk3399_defconfig,你这个不对呀
作者: Bill18998086949    时间: 2021-12-30 09:59
我将aio-3399j-ubuntu.mk中的内容改为了如下:
#!/bin/bash
  2
  3 CMD=`realpath $BASH_SOURCE`
  4 CUR_DIR=`dirname $CMD`
  5
  6 source $CUR_DIR/firefly-rk3399-ubuntu.mk
  7
  8 # uboot defconfig
  9 export RK_UBOOT_DEFCONFIG=firefly-rk3399_defconfig
10
11 # kernel defconfig
12 export LINUX_KERNEL_DEFCONFI=firefly_linux_defconfig
13
14 # kernel dts
15 export RK_KERNEL_DTS=rk3399-firefly-aio
16
17 # parameter for GPT table
18 export RK_PARAMETER=parameter-ubuntu.txt
19
20 # packagefile for make update image
21 export RK_PACKAGE_FILE=rk3399-ubuntu-package-file
22
23 # rootfs image path
24 export RK_ROOTFS_IMG=ubunturootfs/ubuntu_20.04_RK3399_ext4_v2.10-51-g7ecad547_20210907-0918_DESKTOP.img
25
然后运行./build.sh aio-3399j-ubuntu.mk,结果如下:
processing option: aio-3399j-ubuntu.mk
switching to board: /home/bill/ubuntu/rk3399_linux_release_v2.5.1_20210301/device/rockchip/rk3399/aio-3399j-ubuntu.mk
然后运行./build.sh,结果还是有问题:
processing option: allff
============================================
TARGET_ARCH=arm64
TARGET_PLATFORM=rk3399
TARGET_UBOOT_CONFIG=firefly-rk3399_defconfig
TARGET_SPL_CONFIG=
TARGET_KERNEL_CONFIG=firefly_linux_defconfig
TARGET_KERNEL_DTS=rk3399-firefly-aio
TARGET_TOOLCHAIN_CONFIG=
TARGET_BUILDROOT_CONFIG=
TARGET_RECOVERY_CONFIG=
TARGET_PCBA_CONFIG=rockchip_rk3399_pcba
TARGET_RAMBOOT_CONFIG=
============================================
============Start building uboot============
TARGET_UBOOT_CONFIG=firefly-rk3399_defconfig
=========================================

configs/CS-R1_main-rk3399-JD4_defconfig
configs/android6.0-rk3399_defconfig
configs/dserve_dsrv9703c_defconfig
configs/evb-aarch32-rk3308_defconfig
configs/evb-px30_defconfig
configs/evb-rk3036_defconfig
configs/evb-rk3066_defconfig
configs/evb-rk3128_defconfig
configs/evb-rk3229_defconfig
configs/evb-rk3288-rk1608_defconfig
configs/evb-rk3288_defconfig
configs/evb-rk3308_defconfig
configs/evb-rk3326_defconfig
configs/evb-rk3328_defconfig
configs/evb-rk3399_defconfig
configs/evb-rv1108_defconfig
configs/fennec-rk3288_defconfig
configs/firefly-rk3288_defconfig
configs/firefly-rk3328_defconfig
configs/firefly-rk3399_defconfig
configs/gva-rk3229_defconfig
configs/kylin-rk3036_defconfig
configs/lion-rk3368_defconfig
configs/miqi-rk3288_defconfig
configs/nokia_rx51_defconfig
configs/phycore-rk3288_defconfig
configs/popmetal-rk3288_defconfig
configs/puma-rk3399_defconfig
configs/px30_defconfig
configs/rk1806_defconfig
configs/rk1808_defconfig
configs/rk3036_defconfig
configs/rk3126_defconfig
configs/rk3128_defconfig
configs/rk3128x_defconfig
configs/rk322x_defconfig
configs/rk3288_defconfig
configs/rk3308-aarch32_defconfig
configs/rk3308_defconfig
configs/rk3326-aarch32_defconfig
configs/rk3326_defconfig
configs/rk3328_defconfig
configs/rk3368_defconfig
configs/rk3399_defconfig
configs/rk3399pro_defconfig
configs/roc-rk3399-pc-plus_defconfig
configs/roc-rk3399-pc_defconfig
configs/rv1126-mini-template_defconfig
configs/rv1126_defconfig
configs/sheep-rk3368_defconfig
configs/tinker-rk3288_defconfig
configs/vyasa-rk3288_defconfig

ERROR: No configs/firefly-rk3399_defconfig_defconfig
ERROR: Running build_uboot failed!
ERROR: exit code 1 from line 454:
    ./make.sh $RK_UBOOT_DEFCONFIG $UBOOT_COMPILE_COMMANDS
作者: Bill18998086949    时间: 2021-12-30 10:37
processing option: allff
============================================
TARGET_ARCH=arm64
TARGET_PLATFORM=rk3399
TARGET_UBOOT_CONFIG=firefly-rk3399
TARGET_SPL_CONFIG=
TARGET_KERNEL_CONFIG=firefly_linux_defconfig
TARGET_KERNEL_DTS=rk3399-firefly-aio
TARGET_TOOLCHAIN_CONFIG=
TARGET_BUILDROOT_CONFIG=
TARGET_RECOVERY_CONFIG=
TARGET_PCBA_CONFIG=rockchip_rk3399_pcba
TARGET_RAMBOOT_CONFIG=
============================================
============Start building uboot============
TARGET_UBOOT_CONFIG=firefly-rk3399
=========================================
## make firefly-rk3399_defconfig -j8
#
# configuration written to .config
#
scripts/kconfig/conf  --silentoldconfig Kconfig
  CHK     include/config.h
  CFG     u-boot.cfg
  GEN     include/autoconf.mk.dep
  CFG     spl/u-boot.cfg
  CFG     tpl/u-boot.cfg
  GEN     include/autoconf.mk
  GEN     spl/include/autoconf.mk
  GEN     tpl/include/autoconf.mk
  CHK     include/config/uboot.release
  CHK     include/generated/timestamp_autogenerated.h
  UPD     include/generated/timestamp_autogenerated.h
  HOSTLD  scripts/dtc/dtc
/usr/bin/ld: scripts/dtc/dtc-parser.tab.o:(.bss+0x10): multiple definition of `yylloc'; scripts/dtc/dtc-lexer.lex.o:(.bss+0x0): first defined here
  UPD     include/config/uboot.release
  CHK     include/generated/version_autogenerated.h
collect2: error: ld returned 1 exit status
make[2]: *** [scripts/Makefile.host:108:scripts/dtc/dtc] 错误 1
make[1]: *** [scripts/Makefile.build:425:scripts/dtc] 错误 2
make: *** [Makefile:491: scripts] Error 2
make: *** Waiting for unfinished jobs....
  UPD     include/generated/version_autogenerated.h
  CHK     include/config.h
  CFG     u-boot.cfg
ERROR: Running build_uboot failed!
ERROR: exit code 2 from line 454:
    ./make.sh $RK_UBOOT_DEFCONFIG $UBOOT_COMPILE_COMMANDS

作者: 895816513    时间: 2021-12-30 14:13
你不修改文件能成功吗
作者: 895816513    时间: 2021-12-30 14:16
你是不是修改了uboot的dts了

作者: Bill18998086949    时间: 2021-12-30 16:02
除了aio-3399j-ubuntu.mk之外,我没有修改任何文件,我是想等编译成功之后,再做其他事情的
作者: Bill18998086949    时间: 2021-12-30 16:06
第一遍没有修改aio-3399j-ubuntu.mk,也没成功,后面删掉全部的,重新又按照文档步骤重新解压等操作,编译还是这样的问题
作者: 895816513    时间: 2021-12-30 17:04
Bill18998086949 发表于 2021-12-30 16:06
第一遍没有修改aio-3399j-ubuntu.mk,也没成功,后面删掉全部的,重新又按照文档步骤重新解压等操作,编译 ...

你直接下一楼层回复我是没有收到消息提醒的,你要像我这样回复。

你是PC是什么操作系统
作者: Bill18998086949    时间: 2021-12-30 17:10
895816513 发表于 2021-12-30 17:04
你直接下一楼层回复我是没有收到消息提醒的,你要像我这样回复。

你是PC是什么操作系统

我的电脑是win10的,win10上装的虚拟机,虚拟机里面的系统是ubuntu 21.04,我是在ubuntu 21.04上编译的。
作者: 895816513    时间: 2021-12-30 17:32
Bill18998086949 发表于 2021-12-30 17:10
我的电脑是win10的,win10上装的虚拟机,虚拟机里面的系统是ubuntu 21.04,我是在ubuntu 21.04上编译的。

怪不得,建议你装18.04吧,再高版本的ubuntu包不完善,会造成编译错误
作者: Bill18998086949    时间: 2021-12-30 17:33
895816513 发表于 2021-12-30 17:04
你直接下一楼层回复我是没有收到消息提醒的,你要像我这样回复。

你是PC是什么操作系统

你好,我是在win10系统所装的虚拟机里面的ubuntu 21.04里面编译的
作者: Bill18998086949    时间: 2021-12-30 17:36
895816513 发表于 2021-12-30 17:32
怪不得,建议你装18.04吧,再高版本的ubuntu包不完善,会造成编译错误

好的,那我装18.04试一下,谢谢!
作者: tiger3981    时间: 2022-4-22 23:46
895816513 发表于 2021-12-30 17:32
怪不得,建议你装18.04吧,再高版本的ubuntu包不完善,会造成编译错误

您好,我修改了parameter.txt的分区,把userdata干掉,剩下的内存都给了rootfs。编译通过了,但build.sh updateimage 打包的时候没有打包文件系统。请问这是什么情况呢
作者: 895816513    时间: 2022-4-24 14:27
tiger3981 发表于 2022-4-22 23:46
您好,我修改了parameter.txt的分区,把userdata干掉,剩下的内存都给了rootfs。编译通过了,但build.sh  ...

这里定义了package文件:
  1. SDK/device/rockchip/rk3399/firefly-rk3399-ubuntu.mk:export RK_PACKAGE_FILE=rk3399-ubuntu-package-file
复制代码


你看看SDK下tools目录是不事有连接过去
  1. ll tools/linux/Linux_Pack_Firmware/rockdev/package-file
复制代码


原因很多,你调试脚本就能解决
作者: tiger3981    时间: 2022-4-24 15:11
895816513 发表于 2022-4-24 14:27
这里定义了package文件:

file:///home/sy/Documents/test.png

您好,这个文件和我的配置是对的上的
作者: tiger3981    时间: 2022-4-24 15:15
895816513 发表于 2022-4-24 14:27
这里定义了package文件:

能否提供一个没有userdata,并扩容rootfs的aio3399c-uubntu镜像版本呢?几个月了始终调试不出能用的。




欢迎光临 Firefly开源社区 (https://dev.t-firefly.com/) Powered by Discuz! X3.1