I have been working on creating Arch Linux ARM AMI for use on EC2 ARM (Graviton) - very similar to how I already provide same for x86_64 - https://wiki.archlinux.org/title/Arch_L ... b_Services
At this stage its pretty much working and the AMIs are booting nicely.
However there is one challenge, the default kernel package "linux-aarch64" can not be used and I'm currently compiling my own. This "disables" the "rolling update" nature for the kernel.
The primary reason, for not being able to use "linux-aarch64" is, that "CONFIG_ENA_ETHERNET is not set" it should be "CONFIG_ENA_ETHERNET=m".
Believe this could easily be fixed by creating a pull request and adding this to the Linux config file?
I'm aware, that for use on AWS EC2, the config file could be modified even more and a ton of modules compiled, could be thrown out (like all the wireless net drivers). But for now I would like to create/use a package that is basically the same Standard kernel that is the basis for all generic Arch Linux ARM builds.
There is a second challenge, which is the PKGBUILD. I had to make some differences in the build() function and in the package() function compared to the PKGBUILD in "linux-aarch64".
My first question would be to understand, what is the difference between "make Image Image.gz modules" and "make vmlinux modules" ? Or is it the same file just using different naming?
What is the best approach for PKGBUILD to priovide a kernel compatible with AWS EC2?
Should I create a complete new kernel package (say linux-aarch64-ec2) or would it be possible to merge it into "linux-aarch64" (which would be preferred in keeping with the standard default/package).
I can see it looks like some special kernel package for chromebooks is merged into the linix-aarch64 PKGBUILD already so that does not seem to be out of question?
Some best practice advice/pointers would be appreciated. Happy to share PKGBUILD and linux.preset files.