support arm64 for RPI4 and QEMU VM
Description
Details
- Version
- 1.4-rolling
- Is it a breaking change?
- Unspecified (possibly destroys the router)
Event Timeline
@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:
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.
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):
Moving to 1.5 for now. If we are confident about the solution, we can backport it to 1.4 later. New architectures certainly should be introduced in development releases first.