From 66eaa697dddcdecf2779e4b57094858175870b43 Mon Sep 17 00:00:00 2001 From: Olivier MEDOC Date: Sat, 19 Dec 2015 11:07:21 +0100 Subject: [PATCH] archlinux: add an install file specifically for vm-kernel-support --- archlinux/PKGBUILD | 7 +++-- .../PKGBUILD-qubes-vm-kernel-support.install | 28 +++++++++++++++++++ 2 files changed, 32 insertions(+), 3 deletions(-) create mode 100644 archlinux/PKGBUILD-qubes-vm-kernel-support.install diff --git a/archlinux/PKGBUILD b/archlinux/PKGBUILD index 16ac594..0af59ec 100644 --- a/archlinux/PKGBUILD +++ b/archlinux/PKGBUILD @@ -13,7 +13,6 @@ arch=("x86_64") url="http://qubes-os.org/" license=('GPL') groups=() -depends=(qubes-libvchan imagemagick python2-cairo) makedepends=(gcc make pkgconfig 'qubes-libvchan') checkdepends=() optdepends=() @@ -22,7 +21,6 @@ conflicts=() replaces=() backup=() options=('staticlibs') -install=PKGBUILD-qubes-vm-utils.install changelog= source=(PKGBUILD-initcpio-hook.sh PKGBUILD-initcpio-install.sh PKGBUILD-qubes-prepare-vm-kernel.sh) @@ -42,13 +40,16 @@ make all } package_qubes-vm-utils() { +depends=(qubes-libvchan imagemagick python2-cairo) +install=PKGBUILD-qubes-vm-utils.install make install DESTDIR=$pkgdir LIBDIR=/usr/lib SYSLIBDIR=/usr/lib SBINDIR=/usr/bin } package_qubes-vm-kernel-support() { -depends=(mkinitcpio dkms) +depends=(qubes-libvchan mkinitcpio dkms grub) +install=PKGBUILD-qubes-vm-kernel-support.install mkdir -p ${pkgdir}/usr/lib/initcpio/install/ mkdir -p ${pkgdir}/usr/lib/initcpio/hooks/ diff --git a/archlinux/PKGBUILD-qubes-vm-kernel-support.install b/archlinux/PKGBUILD-qubes-vm-kernel-support.install new file mode 100644 index 0000000..523efdd --- /dev/null +++ b/archlinux/PKGBUILD-qubes-vm-kernel-support.install @@ -0,0 +1,28 @@ + +help() { + echo "Before using pvgrub, the kernel you want to use needs to be regenerated with Qubes kernel modules in the TemplateVM:" + echo "1/ Ensure that your kernel and kernel sources are installed (ex: pacman -S linux-lts linux-lts-headers)" + echo "2/ Ensure that grub config file has been generated for your kernel (ex: grub-mkconfig > /boot/grub/grub.cfg) + echo "3/ Run qubes-prepare-vm-kernel helper to compile Qubes-OS kernel modules and rebuild the initcpio" + echo " Usage: qubes-prepare-vm-kernel [your kernel version (found in /usr/lib/modules)] [your kernel name (ex: "linux" for vanilla kernel "linux-lts" for long term support kernel)]" + echo " Manual generation of initcpio:" + echo " dkms install u2mfn/[u2mfn_version (found in /usr/src/)] -k [kernel_version] --no-initrd" + echo " mkinitcpio -k [kernel_version] -p [kernel_name]" +} + +## arg 1: the new package version +post_install() { + echo "Adding qubes required hooks to mkinitcpio.conf" + sed 's/^HOOKS="base/HOOKS="lvm2 qubes base/' -i /etc/mkinitcpio.conf +} + +post_upgrade() { + echo "Adding qubes required hooks to mkinitcpio.conf" + sed 's/^HOOKS="base/HOOKS="lvm2 qubes base/' -i /etc/mkinitcpio.conf +} + +post_remove() { + echo "Removing qubes required hooks to mkinitcpio.conf" + sed 's/^HOOKS="lvm2 qubes base/HOOKS="base/' -i /etc/mkinitcpio.conf +} +