Build the Quattro Limine stack on aarch64 - #222
Conversation
|
Native ARM64 validation: the cleaned package stack built successfully in the combined PR integration run. The run failed only in the later repository-database publishing step owned by #223, after all three requested packages had been produced. Build evidence: https://github.com/birkskyum/omarchy-pkgs/actions/runs/33118509188 |
|
I think one piece of the shim this branch retires is still needed. Zesko !64 lets If your Yoga test ran with the shim still installed from the integration branch, that would explain it working. Two fixes I can see. Keep the shim here with its retirement note, or have this patch also point mkinitcpio at |
Arch Linux ARM's kernel packages install the kernel as /boot/Image and ship
no usr/lib/modules/<ver>/{pkgbase,vmlinuz}, which is how mkinitcpio and
limine-entry-tool find kernels. One pacman hook, ordered 85- so it runs
before 90-mkinitcpio-install, writes both files into every package-owned
modules directory that lacks pkgbase; the usual hook then builds the UKI and
writes the Limine entry. It also covers kernels already present when the
shim itself is installed, cleans up the leftover directories of removed
kernels, and never touches a directory that has pkgbase, so it retires by
removal once archlinuxarm/PKGBUILDs#2215 (or its successor) lands.
Added to the aarch64 workflow's ISO package set.
…he 90 hook is masked omarchy-iso's installer points 90-mkinitcpio-install.hook at /dev/null in the target during the chroot phase and runs limine-update itself afterwards. When the shim is installed in that phase it writes pkgbase and vmlinuz and would otherwise start a UKI build that finalize_limine_boot throws away.
The aarch64 repo build only rebuilds packages whose version moved, so the previous script fix never reached the repository.
|
Good catch. Confirmed: MR 64 discovers the module directory but mkinitcpio still cannot find Arch Linux ARM's /boot/Image. I restored your three shim commits with authorship intact and added an ownership compatibility patch after MR 64, because the shim-written pkgbase is not package-owned. The PR is back in draft until the corrected exact stack passes a native ARM build. |
|
Corrected native ARM validation passed, including linux-aarch64-pkgbase-shim 1-3, limine-mkinitcpio-hook 1.37.1-4, repository database creation, verification, and artifact upload: https://github.com/birkskyum/omarchy-pkgs/actions/runs/33122253609 |
Summary
Provenance
This is the reduced modern version of the Limine and package work proven in JimmayVV/omarchy-pkgs@snapdragon. Jimmy Van Veen identified and implemented the working aarch64 packaging path. His three shim commits are preserved with their original authorship. The two upstream source patches are the exact changes merged in Zesko/limine-entry-tool MRs 63 and 64. Birk removed fork pins and diagnostic packages, and adapted Jimmy's pkgbase ownership check to apply after MR 64.
Why patches remain after upstream merge
Both source fixes merged upstream on August 25 and 27, but omarchy-pkgs is pinned to limine-entry-tool 1.37.1, released before them. Drop those two patches when a release containing both merged changes is available.
The additional accept-shim-pkgbase patch and linux-aarch64-pkgbase-shim remain necessary because MR 64 discovers a kernel without pkgbase but does not provide the kernel image path. mkinitcpio does not find Arch Linux ARM's /boot/Image by itself. Retire the shim and its compatibility patch only when Arch Linux ARM ships both pkgbase and vmlinuz in the module directory, or Limine passes /boot/Image explicitly.
Validation
This complements the reusable native ARM workflow in #223 and package architecture PRs #195 and #197.