Docker环境下编译fenix报错问题

参考:编译Ubuntu/Debian固件 | Khadas Documentation

采用已有的Docker镜像环境,编译Fenix:

docker run -it --name fenix -v $(pwd):/home/khadas/fenix -v $HOME/.ccache:/home/khadas/.ccache --privileged --device=/dev/loop-control:/dev/loop-control --device=/dev/loop0:/dev/loop0 --cap-add SYS_ADMIN numbqq/fenix

编译fenix:
1、进入fenix目录,开始编译完整固件

    cd fenix
    source env/setenv.sh

2、选择对应的配置(注意选择编译uboot版本为 uboot-mainline)

    选择VIM3-> uboot-mainline -> Ubuntu -> focal -> gnome-> EMMC-> Compress image? N
    或者
    source env/setenv.sh -q -s  KHADAS_BOARD=VIM3 LINUX=mainline UBOOT=mainline DISTRIBUTION=Ubuntu DISTRIB_RELEASE=focal DISTRIB_TYPE=gnome DISTRIB_ARCH=arm64 INSTALL_TYPE=SD-USB COMPRESS_IMAGE=no

3、执行命令:

    NO_GIT_UPDATE=1 DOWNLOAD_MIRROR=china make

4、过程需要确认选项以及输入几次密码。

    在build/images目录下生成有rootfs.img镜像文件

按照如上配置完成之后,在Docker里面刚开始编译就报错:

khadas@fccc520cc664:~/fenix/ubuntu/fenix$ NO_GIT_UPDATE=1 DOWNLOAD_MIRROR=china make
[i] FENIX (scripts/create_image.sh) BUILD: /home/khadas/fenix/ubuntu/fenix/build | DL: /home/khadas/fenix/ubuntu/fenix/downloads | sudo: sudo -E

BUILD_TYPE : develop
DOWNLOAD_MIRROR : china
NO_CCACHE : no
COMPRESS_IMAGE : yes
INSTALL_TYPE_RAW : no
CLONE_FULL_COMMIT_LOG : no
FORCE_BUILD_KERNEL_DEB : no
SKIP_ROOTFS_CACHE_DOWNLOAD : no
FORCE_CREATE_ROOTFS_CACHE : no
CREATE_ROOTFS_CACHE_ONLY : no

PARAMETERS*
Fenix Version: 1.0.10
Khadas Board: VIM3
Uboot Version: mainline
Uboot Configuration: khadas-vim3_defconfig
Uboot Branch: master
Linux Version: mainline
Linux Configuration: defconfig
Linux DTB: arch/arm64/boot/dts/amlogic/meson-g12b-a311d-khadas-vim3.dtb
Linux Branch: master
Distribution: Ubuntu
Distribution Release: focal
Distribution Type: gnome
Distribution Arch: arm64
Install Type: SD-USB
Final Image: VIM3_Ubuntu-gnome-focal_Linux-5.16-rc2_arm64_SD-USB_V1.0.10-220221-develop.img
Compressed Image: VIM3_Ubuntu-gnome-focal_Linux-5.16-rc2_arm64_SD-USB_V1.0.10-220221-develop.img.xz


Info: Check active build session /home/khadas/fenix/ubuntu/fenix/build/build.pid [2130]
Info: Start new build session /home/khadas/fenix/ubuntu/fenix/build/build.pid [2130]
Info: Cleanup old build session
Info: Build host: focal target: focal
Info: Running in container: docker
Info: apt-cacher is disabled in containers.
update-binfmts: warning: unable to close /proc/sys/fs/binfmt_misc/register: Invalid argument
update-binfmts: exiting due to previous errors
make: *** [Makefile:2: all] Error 2
khadas@fccc520cc664:~/fenix/ubuntu/fenix$

麻烦帮忙看看是什么问题?

你的主机环境是什么系统?

还有你没有完全参考我们的文档来吧?如果是参考我们的文档来的进入docker后应该是:khadas@7420a59d3471:~/fenix$

我的宿主机系统环境是centos 7;基本都是按照文档来操作的。
docker exec -ti fenix bash
进入之后是khadas@7420a59d3471:~/fenix$ 没错,我是在这个目录下又新建了目录然后下载git的代码进行编译。

看上面的报错似乎是与主机环境有关的,我这边没有centos 7的环境,所以无法验证这个问题。建议使用Ubuntu试试。