Build for arm64

Hi developers,

I tried to build VyOs for arm64,
Here is my steps

docker pull vyos/vyos-build:current-arm64 
docker run --rm -it \
        -v "$(pwd)":/vyos \
        -w /vyos --privileged --sysctl net.ipv6.conf.lo.disable_ipv6=0 \
        -e GOSU_UID=$(id -u) -e GOSU_GID=$(id -g) \
        vyos/vyos-build:current-arm64 bash

VYOS_BUILD_FLAVOR=data/generic-arm64.json ./configure --architecture arm64 

sudo make iso

The build process stop :


I: Validating liblzma5 5.2.5-2
I: Validating zlib1g 1:1.2.11.dfsg-2
P: If the following stage fails, the most likely cause of the problem is with your mirror configuration or a caching proxy.
P: Running debootstrap...
/usr/share/debootstrap/functions: line 1578: /vyos/build/chroot/test-dev-null: Permission denied
E: Cannot install into target '/vyos/build/chroot' mounted with noexec or nodev
E: An unexpected failure occurred, exiting...
make: *** [Makefile:32: iso] Error 1
vyos_bld@a4ab95cb476b:/vyos$

I checked “/usr/share/debootstrap/functions” line 1578 in docker.
It failed cause Permission denied to “echo test > test-dev-null”

Any step I did wrong or any configuration need to fix ?
Thank you.

I resolved this issue by command in docker:

sudo mount -i -o remount,exec,dev /vyos

Check /vyos mount option mount | grep vyos
Before: /dev/sdb on /vyos type ext4 (rw,nosuid,nodev,relatime)
After: /dev/sdb on /vyos type ext4 (rw,nosuid,relatime)

So that mknod could create null node success.

This could be fixed by docker mount / -v options. I have not find a working options yet.

BTW, my docker version 20.10.7, build 20.10.7-0ubuntu5~20.04.2

1 Like