From d9fffaa7104489f021f72b83dd3f359a520db2bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Filip=20Go=C5=82a=C5=9B?= Date: Thu, 30 Oct 2025 18:31:09 +0100 Subject: [PATCH] qubesos: try R4.3.0-rc3 --- qubesos/create_image.sh | 4 +- qubesos/grub-efi.cfg | 6 +-- qubesos/ks.cfg | 88 +++++++++++------------------------------ 3 files changed, 27 insertions(+), 71 deletions(-) diff --git a/qubesos/create_image.sh b/qubesos/create_image.sh index c7be6a4..3b08101 100755 --- a/qubesos/create_image.sh +++ b/qubesos/create_image.sh @@ -1,10 +1,10 @@ #!/usr/bin/env bash set -euo pipefail -QUBES_VERSION="R4.2.4" +QUBES_VERSION="R4.3.0-rc3" ISO_DOWNLOAD_LINK="https://mirrors.edge.kernel.org/qubes/iso/Qubes-${QUBES_VERSION}-x86_64.iso" OUTPUT_ISO="qubesos-auto-${QUBES_VERSION}.iso" -ISO_PATH="${ISO_PATH:-qubesos.iso}" +ISO_PATH="${ISO_PATH:-qubesos_${QUBES_VERSION}.iso}" while getopts "hi:o" arg; do case "${arg}" in diff --git a/qubesos/grub-efi.cfg b/qubesos/grub-efi.cfg index ef6f3ba..756a7f1 100644 --- a/qubesos/grub-efi.cfg +++ b/qubesos/grub-efi.cfg @@ -19,11 +19,11 @@ insmod chain set timeout=60 ### END /etc/grub.d/00_header ### -search --no-floppy --set=root -l 'QUBES-R4-2-4-X86-64' +search --no-floppy --set=root -l 'QUBES-R4-3-0-RC3-X86-64' ### BEGIN /etc/grub.d/10_linux ### menuentry '3mdeb QubesOS preseed' --class qubes --class gnu-linux --class gnu --class os { multiboot2 /images/pxeboot/xen.gz console=none - module2 /images/pxeboot/vmlinuz-6.12.11-1.qubes.fc37 inst.repo=hd:LABEL=QUBES-R4-2-4-X86-64 plymouth.ignore-serial-consoles quiet inst.ks=https://raw.githubusercontent.com/Dasharo/preseeds/refs/heads/qubesos-preseed/qubesos/ks.cfg - module2 /images/pxeboot/initrd-6.12.11-1.qubes.fc37.img + module2 /images/pxeboot/vmlinuz inst.repo=hd:LABEL=QUBES-R4-3-0-RC3-X86-64 plymouth.ignore-serial-consoles quiet inst.ks=https://raw.githubusercontent.com/Dasharo/preseeds/refs/heads/qubesos-preseed/qubesos/ks.cfg + module2 /images/pxeboot/initrd.img } \ No newline at end of file diff --git a/qubesos/ks.cfg b/qubesos/ks.cfg index 6c7d3b8..9276ac7 100644 --- a/qubesos/ks.cfg +++ b/qubesos/ks.cfg @@ -1,64 +1,16 @@ -%pre --interpreter=/bin/bash -DISK="/dev/nvme0n1" -REQUIRED_SIZE=61440 - -PART_COUNT=$(lsblk -nrpo NAME,TYPE,MOUNTPOINT $DISK | grep 'part' | wc -l) - -if [ "$PART_COUNT" -eq 0 ]; then - echo "autopart" > /tmp/part-include - exit 0 -fi - -# disk size minus size of partitions -FREE_SPACE=$(lsblk -bno NAME,TYPE,SIZE $DISK | awk ' - $2=="disk"{disk=$3/1024/1024} - $2=="part"{used+=$3/1024/1024} - END{print int(disk-used)} -') - -if [ "$FREE_SPACE" -lt "$REQUIRED_SIZE" ]; then - echo "Error: insufficient free space ($FREE_SPACE MiB available, $REQUIRED_SIZE MiB required)" > /dev/tty1 - exit 1 -fi - -# EFI partition GUID hardcoded, cant use mountpoint as its not mounted -EFI_PART=$(lsblk -nrpo NAME,PARTTYPE $DISK | awk ' -/c12a7328-f81f-11d2-ba4b-00a0c93ec93b/ {print $1; exit} -') -if [ -z "$EFI_PART" ]; then - EFI_PART=$(lsblk -nrpo NAME,MOUNTPOINT $DISK | awk '/boot/ {print $1; exit}') -fi - -# disk configuration -echo "ignoredisk --only-use=$DISK" > /tmp/part-include -echo "reqpart" >> /tmp/part-include - -if [ -z "$EFI_PART" ]; then - echo "part /boot/efi --fstype=efi --size=512" >> /tmp/part-include -fi - -# Create bounded LVM partition -echo "part pv.01 --fstype=lvm --size=$REQUIRED_SIZE --maxsize=$REQUIRED_SIZE --grow" >> /tmp/part-include -echo "volgroup qubes_dom0 pv.01" >> /tmp/part-include -echo "logvol / --vgname=qubes_dom0 --name=root --fstype=ext4 --size=30000" >> /tmp/part-include -echo "logvol swap --vgname=qubes_dom0 --name=swap --recommended" >> /tmp/part-include - -%end -#%include /tmp/part-include -ignoredisk --only-use=nvme0n1 -bootloader --location=mbr --boot-drive=nvme0n1 -autopart --type thinp - -graphical -keyboard --vckeymap=pl --xlayouts='pl' -lang en_US.UTF-8 -timezone Europe/Warsaw - -# create user -user --name=qubesos --groups=wheel --password="qubesos" --plaintext --gecos="qubesos" -sshpw --username root --plaintext qubesos - firstboot --enable +harddrive --dir= --partition=LABEL=QUBES-R4-3-0-RC3-X86-64 +ignoredisk --only-use=nvme0n1 +bootloader --location=none +clearpart --none --initlabel + +part pv.429 --fstype="lvmpv" --ondisk=nvme0n1 --size=76805 +part /boot/efi --fstype=efi --ondisk=nvme0n1 --size=600 --fsoptions="umask=0077,shortname=winnt" +part /boot --fstype="ext4" --ondisk=nvme0n1 --size=1024 +volgroup qubes_dom0 --pesize=4096 pv.429 +logvol none --size=20480 --thinpool --metadatasize=40 --chunksize=64 --name=root-pool --vgname=qubes_dom0 +logvol swap --fstype="swap" --size=4020 --name=swap --vgname=qubes_dom0 +logvol / --fstype="ext4" --size=20480 --thin --poolname=root-pool --name=root --vgname=qubes_dom0 # https://github.com/QubesOS/qubes-anaconda-addon %addon org_qubes_os_initial_setup @@ -79,15 +31,19 @@ default_template fedora-xfce templates_to_install debian-xfce fedora-xfce whonix-gateway whonix-workstation %end +graphical +keyboard --vckeymap=pl --xlayouts='pl' +lang en_US.UTF-8 +timezone Europe/Warsaw --utc +network --hostname=dom0 + +# create user +user --name=qubesos --groups=wheel,qubes --password="qubesos" --plaintext --gecos="qubesos" +sshpw --username root --plaintext qubesos + # reboot after installation reboot -%packages -@^qubes-xfce -@qubes-ui -kernel-latest -kernel-latest-qubes-vm -%end %post # enable SSH