diff --git a/archlinux/PKGBUILD.in b/archlinux/PKGBUILD.in index 27e6dcb8..8e9b78ca 100644 --- a/archlinux/PKGBUILD.in +++ b/archlinux/PKGBUILD.in @@ -90,8 +90,8 @@ package_qubes-vm-core() { cd "${_pkgnvr}" - install -D -m 0644 -- "boot/grub.qubes" "${pkgdir}/etc/default/grub.qubes" # shellcheck disable=SC2154 + make -C boot DESTDIR="$pkgdir" install make install-corevm DESTDIR="$pkgdir" SBINDIR=/usr/bin LIBDIR=/usr/lib SYSLIBDIR=/usr/lib SYSTEM_DROPIN_DIR=/usr/lib/systemd/system USER_DROPIN_DIR=/usr/lib/systemd/user DIST=archlinux make -C app-menu install DESTDIR="$pkgdir" install LIBDIR=/usr/lib SYSLIBDIR=/usr/lib make -C misc install DESTDIR="$pkgdir" install LIBDIR=/usr/lib SYSLIBDIR=/usr/lib diff --git a/boot/Makefile b/boot/Makefile index 7cb97ff5..c9b4123f 100644 --- a/boot/Makefile +++ b/boot/Makefile @@ -1,10 +1,11 @@ LIBDIR ?= /usr/lib SYSCONFDIR ?= /etc -GRUBCONFDIR ?= $(SYSCONFDIR)/grub.d +GRUBCONFDIR ?= $(SYSCONFDIR)/default DRACUTCONFDIR ?= $(LIBDIR)/dracut/dracut.conf.d +GRUBCFGNAME ?= grub.qubes .PHONY: install install: - install -D -m 0644 grub.qubes $(DESTDIR)$(GRUBCONFDIR)/30_qubes + install -D -m 0644 grub.qubes $(DESTDIR)$(GRUBCONFDIR)/$(GRUBCFGNAME) install -D -m 0644 dracut-qubes.conf $(DESTDIR)$(DRACUTCONFDIR)/30-qubes.conf diff --git a/boot/dracut-qubes.conf b/boot/dracut-qubes.conf index 9f65bbea..ea6d6b69 100644 --- a/boot/dracut-qubes.conf +++ b/boot/dracut-qubes.conf @@ -14,3 +14,10 @@ omit_dracutmodules+=" ifcfg qemu-net i18n resume mdraid terminfo crypt lunmask n # confidential computing is not a Qubes feature). This saves about 5MB (20%) of # initramfs size. omit_dracutmodules+=" tpm2-tss " + +# Exclude plymouth, as it pulls in a lot of graphical stack, including GPU +# drivers, and none of the boot screen is visible in a qube anyway +omit_dracutmodules+=" plymouth " + +# Exclude microcode, as VM cannot load it anyway, saves over 10MB of space +early_microcode="no" diff --git a/debian/qubes-core-agent.install b/debian/qubes-core-agent.install index fecac009..3015aa9f 100644 --- a/debian/qubes-core-agent.install +++ b/debian/qubes-core-agent.install @@ -138,6 +138,7 @@ usr/bin/qvm-run-vm usr/bin/qvm-connect-tcp usr/bin/qvm-sync-clock usr/lib/environment.d/60-gnome-software-fix.conf +usr/lib/dracut/dracut.conf.d/30-qubes.conf usr/lib/python3/dist-packages/qubesagent-*.egg-info/* usr/lib/python3/dist-packages/qubesagent/* usr/lib/qubes-bind-dirs.d/30_cron.conf diff --git a/debian/rules b/debian/rules index 01ac851b..63eb1dc5 100755 --- a/debian/rules +++ b/debian/rules @@ -30,7 +30,7 @@ override_dh_auto_install: make -C qubes-rpc/kde install make -C qubes-rpc/nautilus install make -C qubes-rpc/thunar install - install -D -m 0644 boot/grub.qubes $(DESTDIR)/etc/default/grub.d/30-qubes.cfg + make -C boot install GRUBCFGNAME=grub.d/30-qubes.cfg override_dh_fixperms: dh_fixperms -a -Xqfile-unpacker diff --git a/rpm_spec/core-agent.spec.in b/rpm_spec/core-agent.spec.in index 6fa3a0e3..143dc02f 100644 --- a/rpm_spec/core-agent.spec.in +++ b/rpm_spec/core-agent.spec.in @@ -487,6 +487,7 @@ usermod -L root make install-vm PYTHON=%{__python3} "DESTDIR=$RPM_BUILD_ROOT" SYSTEM_DROPIN_DIR=%{_unitdir} SYSLIBDIR=/usr/lib ENABLE_SELINUX=%with_selinux make -C app-menu DESTDIR=$RPM_BUILD_ROOT install +make -C boot DESTDIR=$RPM_BUILD_ROOT install make -C boot/redhat DESTDIR=$RPM_BUILD_ROOT install make -C config-overrides DESTDIR=$RPM_BUILD_ROOT install make -C filesystem DESTDIR=$RPM_BUILD_ROOT install @@ -520,9 +521,6 @@ sed -i \ $RPM_BUILD_ROOT/etc/yum.repos.d/qubes-*.repo %endif -install -D -m 0644 boot/dracut-qubes.conf $RPM_BUILD_ROOT/usr/lib/dracut/dracut.conf.d/30-qubes.conf -install -D -m 0644 boot/grub.qubes $RPM_BUILD_ROOT/etc/default/grub.qubes - %if ! %with_sysvinit rm -rf $RPM_BUILD_ROOT/etc/init.d/qubes-* $RPM_BUILD_ROOT/etc/sysconfig/modules/qubes-core.modules %endif