Il 12/03/25 12:25, Sam Mulvey ha scritto:
Hello all!
I (try to) maintain the Xen stuff in AUR.
As background:
There are multiple ways to boot a VM inside of Xen. For full hardware
emulation, I can use SeaBIOS or edk2-ovmf as appropriate. For
paravirtualization there is the newer PVH method, and the older PV
method. Both are supported methods. If I want to boot a kernel
installed inside the VM using those methods I need a specifically
compiled copy of grub for that method.
I use PVH almost exclusively, and I have a package in AUR called xen-
pvhgrub. Previously, someone else was maintaining a PV grub but that
seems to be gone.
What I am asking:
I would like to replace xen-pvhgrub with a split package called xen-grub
which then creates:
- xen-grub-pvh: for booting PVH
- xen-grub-pv32: for booting 32bit PV
- xen-grub-pv64: for booting 64bit PV
What is the best method for accomplishing this? Thanks!
-Sam
Hi, seems you already have xen-grub and the 3 splitted xen-grub-pv*
packages
from
https://aur.archlinux.org/cgit/aur.git/commit/?h=xen-grub&id=f87ab3f6914722d3ac4382d75e3bf3494a291374
+pkgbase = xen-grub
+pkgname = xen-grub-pvh
+pkgname = xen-grub-pv32
+pkgname = xen-grub-pv64
Your pkgbuild have stuff like
+_build_pvh=${build_pvh:-true}
+_build_pv32=${build_pv32:-true}
+_build_pv64=${build_pv64:-true}
+pkgname=()
+[ "${_build_pvh}" == "true" ] && pkgname+=("xen-grub-pvh")
+[ "${_build_pv32}" == "true" ] && pkgname+=("xen-grub-pv32")
+[ "${_build_pv64}" == "true" ] && pkgname+=("xen-grub-pv64")
Which I guess you would replace with:
pkgname=(xen-grub-pvh xen-grub-pv32 xen-grub-pv64)
btw you don't have to use pkgver() when git cloning a tag
pkgver=2.12.r0.g5ca9db2 for a stable release would be inconvenient
on repology.org