啊这,我换 ubuntu 20.04 试试
18.04 和 20.04 也有同样的错误,我觉得问题似乎不在于 ubuntu 版本
啊这,我换 ubuntu 20.04 试试
18.04 和 20.04 也有同样的错误,我觉得问题似乎不在于 ubuntu 版本
@yteraa 在 v853 sdk 编译失败:undefined reference to `sunxi_challenge` 中说:
buildroot不支持 ubuntu:22.04,只有 openwrt支持,buildroot最高支持ubuntu18.04
啊这,我换 ubuntu 20.04 试试
不过 openwrt 也会报 sunxi_challenge
的问题……
2022-08-11 UPDATE:
官方 SDK 使用的 openwrt 版本略旧,无法使用 ubuntu 22.04 进行编译。降级为 ubuntu 20.04 补足依赖后成功编译,并未再遇到此错误。
buildroot 无法通过编译,可能也与版本有关,之后再研究吧
目前的docker:https://github.com/duskmoon314/dev-env
我在尝试搭建一个 docker image 用于编译 sdk
日常使用 mac,最近配置了一个 manjaro 用于开发,目标在这上面使用
docker image 基于 ubuntu:22.04,安装依赖如下:
apt install -y --no-install-recommends \
git \
ssh \
ca-certificates \
build-essential \
iproute2 \
iputils-ping \
curl \
wget \
neovim \
subversion \
libncurses5-dev \
zlib1g-dev \
gawk \
flex \
quilt \
libssl-dev \
xsltproc \
libxml-parser-perl \
mercurial \
bzr \
ecj \
cvs \
unzip \
lib32z1 \
lib32z1-dev \
lib32stdc++6 \
libstdc++6 \
python3 \
python-is-python3 \
xxd \
# end of list
将容器运行并绑定 tina-v853-open
目录后,按照 buildroot
步骤进行编译:
duskmoon@devenv-container:/host$ ./build.sh config
========ACTION List: mk_config ;========
options :
All available platform:
0. android
1. linux
Choice [linux]:
All available linux_dev:
0. bsp
1. buildroot
2. tinyos
3. openwrt
Choice [buildroot]:
All available ic:
0. v853
Choice [v853]:
All available board:
0. vision
Choice [vision]:
All available flash:
0. default
1. nor
Choice [default]:
INFO: Prepare toolchain ...
INFO: kernel defconfig: generate /host/kernel/linux-4.9/.config by /host/device/config/chips/v853/configs/vision/linux-4.9/config-4.9
INFO: Prepare toolchain ...
make: Entering directory '/host/kernel/linux-4.9'
*** Default configuration is based on '../../../../../device/config/chips/v853/configs/vision/linux-4.9/config-4.9'
#
# configuration written to .config
#
make: Leaving directory '/host/kernel/linux-4.9'
make: Entering directory '/host/buildroot/buildroot-201902'
GEN /host/out/v853/vision/buildroot/buildroot/Makefile
Config.in.legacy:1769:warning: choice value used outside its choice group
/host/buildroot/buildroot-201902/configs/sun8iw21p1_longan_defconfig:33:warning: override: reassigning to symbol BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV
/host/buildroot/buildroot-201902/configs/sun8iw21p1_longan_defconfig:33:warning: override: BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV changes choice state
/host/buildroot/buildroot-201902/configs/sun8iw21p1_longan_defconfig:34:warning: override: reassigning to symbol BR2_SYSTEM_BIN_SH_BASH
/host/buildroot/buildroot-201902/configs/sun8iw21p1_longan_defconfig:34:warning: override: BR2_SYSTEM_BIN_SH_BASH changes choice state
/host/buildroot/buildroot-201902/configs/sun8iw21p1_longan_defconfig:35:warning: override: reassigning to symbol BR2_TARGET_GENERIC_GETTY_PORT
/host/buildroot/buildroot-201902/configs/sun8iw21p1_longan_defconfig:36:warning: override: reassigning to symbol BR2_TARGET_GENERIC_GETTY_BAUDRATE_115200
/host/buildroot/buildroot-201902/configs/sun8iw21p1_longan_defconfig:36:warning: override: BR2_TARGET_GENERIC_GETTY_BAUDRATE_115200 changes choice state
/host/buildroot/buildroot-201902/configs/sun8iw21p1_longan_defconfig:37:warning: override: reassigning to symbol BR2_ROOTFS_POST_BUILD_SCRIPT
/host/buildroot/buildroot-201902/configs/sun8iw21p1_longan_defconfig:38:warning: override: reassigning to symbol BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
#
# configuration written to /host/out/v853/vision/buildroot/buildroot/.config
#
make: Leaving directory '/host/buildroot/buildroot-201902'
INFO: buildroot defconfig is sun8iw21p1_longan_defconfig
INFO: clean buildserver
Usage:
kill [options] <pid> [...]
Options:
<pid> [...] send signal to every <pid> listed
-<signal>, -s, --signal <signal>
specify the <signal> to be sent
-q, --queue <value> integer value to be sent with the signal
-l, --list=[<signal>] list all signal names, or convert one to a name
-L, --table list all signal names in a nice table
-h, --help display this help and exit
-V, --version output version information and exit
For more details see kill(1).
INFO: prepare_buildserver
duskmoon@devenv-container:/host$ ./build.sh
========ACTION List: build_linuxdev;========
options :
INFO: ----------------------------------------
INFO: build linuxdev ...
INFO: chip: sun8iw21p1
INFO: platform: linux
INFO: kernel: linux-4.9
INFO: board: vision
INFO: output: /host/out/v853/vision/buildroot
INFO: ----------------------------------------
INFO: don't build dtbo ...
INFO: build arisc
INFO: build_bootloader: brandy_path= /host/brandy/brandy-2.0
grep: /host/brandy/brandy-2.0/spl/Makefile: No such file or directory
build for sun8iw21p1_defconfig ...
...
arch/arm/cpu/armv7/spare_head.o:(.data.uboot_spare_head+0x508): undefined reference to `sunxi_challenge'
make: *** [Makefile:1480: u-boot] Error 1
ERROR: build brandy Failed
INFO: build_bootloader failed
执行命令都不是 root 用户,映射到系统的可以 sudo 的用户的
openwrt 也是类似的错误
希望有人帮忙看看我漏了什么 orz