From f1b979a651ca1af8a44362ef0958893818964d50 Mon Sep 17 00:00:00 2001
From: zraktvor <zraktvor@protonmail.com>
Date: Sat, 18 Jun 2022 01:38:00 +0200
Subject: [PATCH] update to kubuntu 22.04

This puts the preseed into the iso, instead of having it outside the iso on the lipstick.
There seems to be a problem with kubuntu 22.04 that prevents our seed from loading otherwise.

Also, python2 is no longer supported, so `bpython3` has become only `bpython`, and thunderbird is installed by default.
---
 assemble_image.sh | 18 ++++++++----------
 grub_template.cfg |  4 ++--
 packages          |  4 ++--
 3 files changed, 12 insertions(+), 14 deletions(-)

diff --git a/assemble_image.sh b/assemble_image.sh
index 5521e19..1456ce6 100755
--- a/assemble_image.sh
+++ b/assemble_image.sh
@@ -3,17 +3,15 @@
 set -e
 set -x
 
-image_size="6600M"
-img1="kubuntu-20.04.3-desktop-amd64.iso"
-img2="kubuntu-21.10-desktop-amd64.iso"
+image_size="3600M"
+img1="kubuntu-22.04-desktop-amd64.iso"
 bootimg="$img1"
 : ${workspace:="/workspace"}
 : ${USE_OFFLINE_REPO:=0}
 if [[ "$USE_OFFLINE_REPO" -eq 1 ]]
 then
-    offlinerepo1='archives-focal'
-    offlinerepo2='archives-impish'
-    image_size='13G'
+    offlinerepo1='archives-jammy'
+    image_size='10G'
 fi
 
 # mtools, ddrescure, fdisk, grub, 7z
@@ -33,20 +31,20 @@ rsync -av /usr/share/grub/unicode.pf2 "$workspace/part_files"/grub/fonts/
 mv "$workspace/part_files"/grub/* "$workspace/part_files"/boot/grub/
 rm -rf "$workspace/part_files"/grub
 
-rsync --copy-links --size-only --checksum "$img1" "$workspace/part_files/"
-rsync --copy-links --size-only --checksum "$img2" "$workspace/part_files/"
+7z x "$img1" /preseed/kubuntu.seed -o"$workspace/part_files"
+cat "$workspace/part_files/preseed/lip.seed" >> "$workspace/part_files/preseed/kubuntu.seed"
+mv -f "$workspace/part_files/preseed/kubuntu.seed" "$workspace/part_files/preseed/lip.seed"
+xorriso -indev "$img1" -outdev "$workspace/part_files/$img1" -map "$workspace/part_files/preseed" /preseed -rm /preseed/kubuntu.seed -- -chown_r 0 /preseed -- -chgrp_r 0 /preseed -- -chmod_r a+rwx /preseed
 
 source ./grub_config.sh # functions to fill grub_template.cfg
 cp grub_template.cfg "$workspace/part_files/boot/grub/grub.cfg"
 fill_grub_config_template "$img1" "$workspace/part_files/boot/grub/grub.cfg"
-fill_grub_config_template "$img2" "$workspace/part_files/boot/grub/grub.cfg"
 
 if [[ "$USE_OFFLINE_REPO" -eq 1 ]]
 then
     # Note: in practice you might still want to create the offline repo separately and just copy or move the directories here.
     # Creating the offline repo requires root privileges and can be quite slow.
     ./create_offlinerepo.sh "$workspace/part_files/$offlinerepo1" "$img1" $(grep '^[^#]' packages | cut -d'|' -f 2)
-    ./create_offlinerepo.sh "$workspace/part_files/$offlinerepo2" "$img2" $(grep '^[^#]' packages | cut -d'|' -f 2)
 fi
 
 cp packages "$workspace/part_files/packages"
diff --git a/grub_template.cfg b/grub_template.cfg
index 74afa51..158aecf 100644
--- a/grub_template.cfg
+++ b/grub_template.cfg
@@ -19,7 +19,7 @@ function loadCasper {
     set initrd="$3"
     loopback loop ($root)/${isoname}
     echo    "Loading kernel"
-    linux   (loop)${kernel} boot=casper file=/isodevice/preseed/lip.seed ${cmdline} iso-scan/filename=/${isoname} sysrq_always_enabled pstore.pstore_disable nosplash verbose --
+    linux   (loop)${kernel}  boot=casper file=/cdrom/preseed/lip.seed ${cmdline} iso-scan/filename=/${isoname} sysrq_always_enabled pstore.pstore_disable nosplash verbose --
     echo    "Loading initrd"
     initrd  (loop)${initrd}
     echo    "Starting kernel"
@@ -29,7 +29,7 @@ function loadCasper {
 function img_menu {
     set release="$1"
     menuentry "Empfohlen: ${release} (deutsch)" "$2" "$3" "$4" {
-        set cmdline="debian-installer/language=de keyboard-configuration/layoutcode?=de"
+        set cmdline="debian-installer/locale=de_DE keyboard-configuration/layoutcode?=de"
         loadCasper "$2" "$3" "$4"
     }
 
diff --git a/packages b/packages
index 8a59238..cff4d20 100644
--- a/packages
+++ b/packages
@@ -24,7 +24,7 @@
    P |python3-seaborn|Seaborn: Schönes Plotten mit Python
    p |python3-sympy|sympy: Python-Bibliothek für symbolische Rechnungen
    P |ipython3|ipython: Interaktiver Python Interpreter mit Tab-Vervollständgung
-   P |bpython3|bpython: Ein weiterer interaktiver Python Interpreter
+   P |bpython|bpython: Ein weiterer interaktiver Python Interpreter
    P |gnuplot|gnuplot: Programm um Funktions- und Datenplots anzufertigen
    P |wxmaxima|wxmaxima: Graphische Benutzeroberfläche für das Maxima Computer Algebra System
    p |liblapack-dev|LAPACK: Eine Standard-Numerik-Bibliothek für Physiker und Numeriker
@@ -42,7 +42,7 @@
 L    |ubiquity|
 
 #Desktop stuff for Kubuntu
- C   |thunderbird|Thunderbird: E-Mail-Client
+ D   |thunderbird|Thunderbird: E-Mail-Client
  C   |texstudio|texstudio: Graphischer LaTeX-Editor
  c   |kile|kile: Alternativer graphischer LaTeX-Editor
  D   |ffmpeg|
-- 
GitLab