To install Qubes OS 4.0 on laptops with integrated Intel and Nvidia GPUs that do not support the nouveau driver we need to binary edit the installer ISO. By default the installer will try to use the nouveau driver and will be unable to enter the setup until we change the kernel boot parameters.
Note: we can not tab to enter the kernel boot parameters with the Qubes OS 4.0 installer ISO.
Prerequisites:
gvim (MS-DOS and MS-Windows)
To ignore the nouveau driver we need to add the kernel boot parameter: modprobe.blacklist=nouveau
Note: We can not change the size of the installer ISO or this will cause it to break and not boot.
To add the boot parameter: modprobe.blacklist=nouveau we can replace the boot parameter: i915.alpha_support=1
The problem with this is that the parameter to blacklist the nouveau driver is 6 characters longer that the parameter to enable Intel GPU alpha support. To combat this we need to lose 6 characters from somewhere else in the binary.
To edit the Installer ISO open it in gvim.
Note: You will have to be patient as the contents of the ISO (4.26GB) has to be loaded into memory.
Original Installer ISO:
default=qubes-verbose
[qubes-check]options=console=nonekernel=vmlinuz inst.stage2=hd:LABEL=Qubes-R4.0-x86_64 i915.alpha_support=1 quiet rhgb rd.live.checkramdisk=initrd.img
[qubes]options=console=nonekernel=vmlinuz inst.stage2=hd:LABEL=Qubes-R4.0-x86_64 i915.alpha_support=1 quiet rhgbramdisk=initrd.img
[qubes-verbose]options=console=vga efi=attr=ucnoexitboot=1mapbs=1kernel=vmlinuz inst.stage2=hd:LABEL=Qubes-R4.0-x86_64 i915.alpha_support=1ramdisk=initrd.img
Edited Installer ISO:
default=qubes-verb
[qubes-check]options=console=nonekernel=vmlinuz inst.stage2=hd:LABEL=Qubes-R4.0-x86_64 i915.alpha_support=1 quiet rhgb rd.live.checkramdisk=initrd.img
[qubes]options=console=nonekernel=vmlinuz inst.stage2=hd:LABEL=Qubes-R4.0-x86_64 i915.alpha_support=1 quiet rhgbramdisk=initrd.img
[qubes-verb]options=console=vga efi=attr=ucnoexitboot=1mapbs=1kernel=vmlinuz inst.stage2=hd:LABEL=Qubes-R4.0-x86_64 modprobe.blacklist=nouveauramdisk=initrd.img
Original Installer ISO:
label linux menu label ^Install Qubes R4.0 kernel mboot.c32 append xen.gz console=none --- vmlinuz inst.stage2=hd:LABEL=Qubes-R4.0-x86_64 i915.alpha_support=1 quiet rhgb --- initrd.imglabel check menu label Test this ^media & install Qubes R4.0 menu default kernel mboot.c32 append xen.gz console=none --- vmlinuz inst.stage2=hd:LABEL=Qubes-R4.0-x86_64 i915.alpha_support=1 quiet rhgb rd.live.check --- initrd.img
Edited Installer ISO:
label linux menu label ^Install Qubes R4.0 kernel mboot.c32 append xen.gz console=none --- vmlinuz inst.stage2=hd:LABEL=Qubes-R4.0-x86_64 modprobe.blacklist=nouveau rhgb --- initrd.imglabel check menu label Test this ^media & install Qubes R4.0 menu default kernel mboot.c32 append xen.gz console=none --- vmlinuz inst.stage2=hd:LABEL=Qubes-R4.0-x86_64 modprobe.blacklist=nouveau rhgb rd.live.check --- initrd.img
Once both edits have been made install the Edited Installer ISO on a USB stick using Rufus in DD mode to ensure it is bootable.
Qubes OS 4.0 Setup:


