Package Details: xen-pvhgrub 2.12.rc1.r36.gdb1faed-1

Git Clone URL: https://aur.archlinux.org/xen-pvhgrub.git (read-only, click to copy)
Package Base: xen-pvhgrub
Description: a version of GRUB2 for booting Xen PVH domUs
Upstream URL: https://www.gnu.org/software/grub/
Licenses: GPL3
Submitter: Refutationalist
Maintainer: Refutationalist
Last Packager: Refutationalist
Votes: 0
Popularity: 0.000000
First Submitted: 2022-11-16 00:11 (UTC)
Last Updated: 2023-09-25 16:22 (UTC)

Latest Comments

Refutationalist commented on 2024-12-06 01:40 (UTC)

Working with @ArthurBorsboom's scripts, I've come up with a xen-grub package that builds a pvhgrub as well as 32 and 64 pvgrub. I'm doing wider testing of Xen and needed a regular way of building these.

The changes are available now in the xen-bootwork branch of my PKGBUILD repo: https://github.com/refutationalist/saur/tree/xen-bootwork

There are some changes coming to Xen, this is one of them. Unless I hear problems, I intend to implement this change sooner rather than later.

ArthurBorsboom commented on 2024-05-23 07:02 (UTC) (edited on 2024-05-23 07:04 (UTC) by ArthurBorsboom)

I rarely build grub-xenpvh manually (if it ain't broken...), so my memory might fail me. :-)

I use 3 script files.

Build the grub software

[arthur@xen1 grub-xenpvh]$ cat build-grub.sh 
#/bin/bash

rm -rf grub
git clone https://git.savannah.gnu.org/git/grub.git
cd grub
./bootstrap
./configure --prefix=/opt/grub --with-platform=xen_pvh && \
make && \
sudo make install
cd ..

Then I run separate script files to create images for different VMs.

Create image for Arch Linux

[arthur@xen1 grub-xenpvh]$ cat make-image-arch.sh 
#/bin/bash

sudo /opt/grub/bin/grub-mkimage \
-O i386-xen_pvh \
-c grub-arch.cfg \
-o /opt/grub/lib/pvhgrub-arch.bin \
-p /boot/grub \
-v /opt/grub/lib/grub/i386-xen_pvh/*.mod

Create image for Fedora (Oracle Linux)

[arthur@xen1 grub-xenpvh]$ cat make-image-fedora.sh 
#/bin/bash

sudo /opt/grub/bin/grub-mkimage \
-O i386-xen_pvh \
-c grub-fedora.cfg \
-o /opt/grub/lib/pvhgrub-fedora.bin \
-p /boot/grub \
-v /opt/grub/lib/grub/i386-xen_pvh/*.mod

This is the grub boot cfg file for Arch Linux

[arthur@xen1 grub-xenpvh]$ cat grub-arch.cfg 
search -s root -f /boot/grub/grub.cfg
configfile /boot/grub/grub.cfg

This is the grub boot cfg file for Fedora

[arthur@xen1 grub-xenpvh]$ cat grub-fedora.cfg 
search -s root -f /grub2/grub.cfg
configfile /grub2/grub.cfg

I am not sure if this can be combined all in this Arch Linux package. I am not sure if it is even useful to you. But hey, you asked for comments, so maybe this gives some idea's. :)

What do you think?

Refutationalist commented on 2024-05-22 22:10 (UTC)

I'm working on an update package that also builds a simplified copy of pvgrub{32,64} in my private repo which may replace this one. Comments are encouraged.

Refutationalist commented on 2023-07-11 22:04 (UTC)

Updated package to include most of @ArthurBorsboom 's changes.

ArthurBorsboom commented on 2022-11-29 09:22 (UTC)

First of all, thanks for creating this package. I build grub for xenpvh manually, but I prefer when the package is a maintained. :)

Unfortunately, this package doesn't work for me yet. It builds and installs, but if I start a VM with this binary, it stalls. Reverting to my previous binary makes the VM start again.

I do notice several differences in building the package, but I can't figure out what makes it work with my binary and what makes it break with the binary of this package.

This is how I build the grub for xenpvh.

git clone https://git.savannah.gnu.org/git/grub.git
cd grub
./bootstrap
./configure --prefix=/opt/grub --with-platform=xen_pvh && \
make && \
sudo make install && \
sudo /opt/grub/bin/grub-mkimage \
-O i386-xen_pvh \
-c /opt/grub/etc/grub-bootstrap.cfg \
-m /opt/grub/share/memdisk.tar \
-o /opt/grub/lib/pvhgrub.bin \
-p /boot/grub \
-v /opt/grub/lib/grub/i386-xen_pvh/*.mod

Any suggestions?