Page MenuHomeVyOS Platform

initial arm64 support for RPI4 and QEMU VM
In progress, NormalPublicBUG

Description

support arm64 for RPI4 and QEMU VM

Details

Difficulty level
Unknown (require assessment)
Version
1.4-rolling
Why the issue appeared?
Will be filled on close
Is it a breaking change?
Unspecified (possibly destroys the router)
Issue type
Improvement (missing useful functionality)

Event Timeline

Viacheslav changed the task status from Open to In progress.Aug 23 2023, 2:28 PM
Viacheslav assigned this task to tjjh89017.

@tjjh89017 This will need to be re-evaluated. The build from your PR was taking in excess of 8 hours on the build server - the defconfig likely needs to be brought down to only the minimum required modules/drivers for successful builds on target devices.

@sdev I saw c-po revert the merge.
and I didn't expect that it will cost lots of time also.
It's better to revert it.
Currently, I will maintain kernel configs in my own branch.

It's not easy to check the arm/arm64 kernel configs that VyOS or machine level requires.
It will be great if we have a feature list that used by VyOS or machines.

Thanks a lot

A baseline could be to look at the linux kernel config used by Alpine Linux for their RPI-builds:

The base is at:

https://gitlab.alpinelinux.org/alpine/aports/-/tree/master/main/linux-lts

with diffs found in:

https://gitlab.alpinelinux.org/alpine/aports/-/tree/master/main/linux-rpi

And then diff it to what VyOS uses found at:

https://github.com/vyos/vyos-build/blob/current/packages/linux-kernel/arch/x86/configs/vyos_defconfig

Should at least bring down the list of drivers needed to get compiled.

Edit: There is also this patch available that diffs from mainline LTS kernel (alter the version number for the kernel needed):

https://dev.alpinelinux.org/archive/rpi-patches/rpi-6.1.46-alpine.patch

@Apachez thanks to you.
Let me check it.

Maybe VyOS could avoid qemu emu build for kernel.
and use cross-compile method to build and pack kernel.
It might be faster than qemu way.

Viacheslav changed the task status from In progress to Needs testing.Sep 5 2023, 12:57 PM

Regarding testing of arm-builds, hopefully this article might come handy (how to use qemu-system-aarch64 (on x86) part of the qemu-system-arm package):

https://isc.sans.edu/diary/30216

Viacheslav changed the task status from Needs testing to In progress.Jan 20 2024, 1:10 PM
Viacheslav triaged this task as Normal priority.