Package Base Details: xen

Git Clone URL: https://aur.archlinux.org/xen.git (read-only, click to copy)
Keywords: hypervisor virtualization xen
Submitter: sergej
Maintainer: Refutationalist
Last Packager: Refutationalist
Votes: 180
Popularity: 1.30
First Submitted: 2009-11-09 11:22
Last Updated: 2020-11-11 00:38

Packages (2)

Pinned Comments

Refutationalist commented on 2020-07-20 18:55

WANTED: Maintainer or co-maintainer.

I've written a lot of PKGBUILDs for my own purposes, but I'm not that conversant with AUR itself other than using it. I'm also going to be hip deep in work over the next few months and might miss stuff.

Latest Comments

« First ‹ Previous 1 2 3 4 5 6 7 8 9 10 11 ... Next › Last »

CyrIng commented on 2020-04-12 20:29

Just failed to build like that:

makepkg -cCsfir
==> Making package: xen 4.12.1-1 (Sun 12 Apr 2020 10:23:19 PM CEST)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Installing missing dependencies...
resolving dependencies...
looking for conflicting packages...

...

==> Retrieving sources...
  -> Found xen-4.12.1.tar.gz
  -> Found xen-4.12.1.tar.gz.sig
  -> Found ipxe-git.tar.gz
  -> Found grub-mkconfig-helper
  -> Found efi-xen.cfg
  -> Found grub.conf
  -> Found xen.conf
  -> Found tmpfiles.conf
==> Validating source files with sha256sums...
    xen-4.12.1.tar.gz ... Passed
    xen-4.12.1.tar.gz.sig ... Skipped
    ipxe-git.tar.gz ... Passed
    grub-mkconfig-helper ... Passed
    efi-xen.cfg ... Passed
    grub.conf ... Passed
    xen.conf ... Passed
    tmpfiles.conf ... Passed
==> Verifying source file signatures with gpg...
    xen-4.12.1.tar.gz ... Passed
==> Removing existing $srcdir/ directory...
==> Extracting sources...
  -> Extracting xen-4.12.1.tar.gz with bsdtar
==> Starting prepare()...
  -> Copying downloaded files...
  -> Applying XSA patches...
  -> Applying tools patches (qemu-xen-traditional)...
  -> Applying tools patches (qemu-xen)...
  -> Applying misc compile fixes...
  -> Fixing installation paths...
==> Sources are ready.
==> Removing installed dependencies...
checking dependencies...
:: brltty optionally requires ocaml: OCaml support
:: graphviz optionally requires ocaml: ocaml bindings

...

 CC       xentoollog_stubs.o
xentoollog_stubs.c: In function 'stub_xtl_ocaml_vmessage':
xentoollog_stubs.c:93:16: error: initialization discards 'const' qualifier from pointer target type [-Werror=discarded-qualifiers]
   93 |  value *func = caml_named_value(xtl->vmessage_cb) ;
      |                ^~~~~~~~~~~~~~~~
xentoollog_stubs.c: In function 'stub_xtl_ocaml_progress':
xentoollog_stubs.c:123:16: error: initialization discards 'const' qualifier from pointer target type [-Werror=discarded-qualifiers]
  123 |  value *func = caml_named_value(xtl->progress_cb) ;
      |                ^~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
...
==> ERROR: A failure occurred in build().
    Aborting...
...

JohnTh commented on 2020-04-04 23:08

Not sure if we not need to install the xen /boot/xen-$version.config, we do not have a Arch linux /boot/config-vmlinuz, which is where one GRUB 20_linux_xen issue comes from: GRUB upstream bug: 20_linux_xen does not work if no kernel config file

xen-$version.efi may still be wanted by some, and GRUB should not add this as a multiboot2 option: GRUB upstream bug: 20_linux_xen also creates garbage entries for xenconfig and xenefi

FFY00 commented on 2020-04-04 22:20

Xen installs the /usr/lib/modules-load.d/xen.conf file. It also contains (historic) module names that do not exist in our distribution. systemd-modules-load.service will exit with failure for these nonexistant modules, but boot does continue. see:pacman -Ql linux | grep -E 'xen-' https://aur.archlinux.org/pkgbase/xen/?O=0&PP=100#comment-622244

Ah, thanks.

My second GRUB patch null config filename we could workaround by installing: /boot/config-${linux pkgbase} with CONFIG_XEN_DOM0=y in a pacman hook? But this is only appropriate to booting Xen with GRUB on Arch. I will open bug upstream and pursue it there as well.

Thanks! Please post a link when you do :)

JohnTh commented on 2020-04-04 19:20

Hey FF,

Great to see progress.

modules-load.d/xen.conf

Xen installs the /usr/lib/modules-load.d/xen.conf file. It also contains (historic) module names that do not exist in our distribution. systemd-modules-load.service will exit with failure for these nonexistant modules, but boot does continue. see:pacman -Ql linux | grep -E 'xen-' https://aur.archlinux.org/pkgbase/xen/?O=0&PP=100#comment-622244

GRUB helper fixes upstream

Yes, will try for GRUB helper upstream changes.

Should not need my first GRUB patch -vmlinuz-*, +vmlinuz anymore, as it looks like mkinitcpio installs kernel as vmlinuz-${pkgbase} now I use dracut, so I cannot check this on system. https://git.archlinux.org/mkinitcpio.git/tree/libalpm/scripts/mkinitcpio-install

My second GRUB patch null config filename we could workaround by installing: /boot/config-${linux pkgbase} with CONFIG_XEN_DOM0=y in a pacman hook? But this is only appropriate to booting Xen with GRUB on Arch I will open bug upstream and pursue it there as well.

Cheers

FFY00 commented on 2020-04-04 17:09

I think we should work on fixing the issue in the upstream (so, grub) and backport the patch to the grub package. Do you want to do it? Since you wrote the patches.

The two last patches that is. For the first we should open a bug report for grub package.

FFY00 commented on 2020-04-04 17:08

Hey, sorry for the delay catching up.

ovmf typo in your PKGBUILD optdepends and Xen configure option Package has /etc/init.d/ files

Fixed (locally).

Maybe some sort of install message about: - booting Xen & enabling services? (Xen gets booted before linux dom0) - fixing dom0 memory in the bootloader Xen hypervisor config

Will add before moving to the repos.

Worth cleanup of usr/lib/modules-load.d/xen.conf to avoid modules load errors: I used this in prepare(). find tools -iname 'configure*' -exec sed -i -E -e '/^LINUX_BACKEND_MODULES="$/,/^"$/{/"/b;/^xen-/!d;s/scsibk/scsiback/;};' {} \;

Can you explain exactly what is the issue here?

GRUB helper for loading the Xen dom0: It might be better to fix the Arch grub package with a patch so that 20_linux_xen works for arch kernel? My old changes linked. Need retesting. - vmlinuz- - don't fail on no /boot/config file - ignore xen files grub cannot boot

I think we should work on fixing the issue in the upstream (so, grub) and backport the patch to the grub package.

Do you want to do it? Since you wrote the patches.

JohnTh commented on 2020-03-10 11:15

Hey FF,

Have not yet had a chance to install and test, but looking over it again:

Cheers

FFY00 commented on 2020-03-10 08:59

I think I fixed everything in the PKGBUILD[1]. Both the updated xen package and a qemu package built with --enable-xen are available in my repo[2]. Could you guys please try it and let me know if there are still are any issues?

Regarding the bootloader, the pvgrub helper is packaged but it is broken. This is an upstream issue, I am going to contact them. Basically, in Python 3.8 the descriptor flags for native modules are checked when the module is imported, as opposed to when a certain method is called. This causes the xen.lowlevel.xc to fail to import. This should be a quick fix from the upstream, I had a look but couldn't find the culprit (the python error message could be a little more verbose :P).

Also, if you want UEFI support you will need the ovfm package from [testing].

[1] https://paste.xinu.at/mbZ/ [2] https://pkgbuild.com/~ffy00/repo/

JohnTh commented on 2020-03-08 07:56

Hi FF, With my own built and installed Xen git master:

The OVMF package in Arch [testing] now includes OVMF.fd, and that boots for me. I tested a boot to EFI BIOS & linux had populated /sys/firmware/efi/efivars/

Tested with: domU.cfg options

bios = "ovmf"
bios_path_override = "/usr/share/ovmf/x64/OVMF.fd"

I cannot use the current Arch system QEMU:

tail /var/log/xen/qemu-dm-*.log
qemu-system-x86_64: -xen-domid 11: Option not supported for this target

Tested with: domU.cfg options

device_model_version = "qemu-xen"
device_model_override = "/usr/bin/qemu-system-x86_64"

To use Arch system QEMU would require some changes in the Arch qemu package. At least makedep xen for the header files, and compiled with --enable-xen, and possibly --enable-xen-pci-passthrough Then check qemu still functions without the xen headers, or split these headers from the xen package and depend on them in qemu? https://packages.debian.org/sid/amd64/libxen-dev/filelist

If you want to move this packaging planning somewhere else, let us know.

Cheers

tony_42 commented on 2020-03-06 11:04

Hi FFY00,

Other things that could be improved in your PKGBUILD, you can use Arch Linux's SeaBIOS, with:

./configure --with-system-seabios=/usr/share/qemu/bios-256k.bin

For backup=(), this is probably the list of configuration file:

etc/default/xencommons
etc/default/xendomains
etc/xen/cpupool
etc/xen/xl.conf
etc/xen/scripts/*

Cheers.