From a7236977f31d417116ee39915c92ca9b461f95ba Mon Sep 17 00:00:00 2001
From: Elliu <elliu@hashi.re>
Date: Sun, 14 Nov 2021 18:49:49 +0100
Subject: [PATCH] Add script to patch an ubuntu iso (should work with debian I
 guess)

---
 .gitignore  |  1 +
 patchIso.sh | 45 +++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 46 insertions(+)
 create mode 100644 .gitignore
 create mode 100755 patchIso.sh

diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..6267c43
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+*.iso
diff --git a/patchIso.sh b/patchIso.sh
new file mode 100755
index 0000000..e79fbd6
--- /dev/null
+++ b/patchIso.sh
@@ -0,0 +1,45 @@
+#!/bin/bash
+
+# Usage: ./patchIso.sh ubuntu.iso casper/filesystem.squasfs tmpPatch arise
+
+set -e
+
+baseIso="${1}"
+squashFs="${2}"
+workingDir="${3}"
+plymouthThemeDir="${4}"
+
+mkdir -p "${workingDir}/mnt"
+sudo mount -o loop "${baseIso}" "${workingDir}/mnt"
+
+cd "${workingDir}"
+mkdir extract-cd
+sudo rsync --exclude="${squashFs}" -a mnt/ extract-cd
+
+sudo unsquashfs "mnt/${squashFs}"
+sudo mv squashfs-root edit
+sudo umount mnt
+
+sudo mount --bind /dev/ edit/dev
+sudo chroot edit mount -t proc none /proc
+sudo chroot edit mount -t sysfs none /sys
+sudo chroot edit mount -t devpts none /dev/pts
+
+sudo cp -r "../${plymouthThemeDir}" "edit/usr/share/plymouth/themes/"
+echo "update-alternatives --install "/usr/share/plymouth/themes/default.plymouth" default.plymouth /usr/share/plymouth/themes/${plymouthThemeDir}/`basename ${plymouthThemeDir}`.plymouth 100" | sudo chroot edit bash -s
+echo "update-alternatives --set default.plymouth /usr/share/plymouth/themes/${plymouthThemeDir}/`basename ${plymouthThemeDir}`.plymouth" | sudo chroot edit bash -s
+
+sudo umount edit/dev/pts
+sudo umount edit/sys
+sudo umount edit/proc
+sudo umount edit/dev
+
+sudo mksquashfs edit "extract-cd/${squashFs}"
+
+echo "printf $(sudo du -sx --block-size=1 edit | cut -f1) > extract-cd/`dirname ${squashFs}``basename -s .squashfs ${squashFs}`.size" | sudo su -c bash
+
+cd extract-cd
+sudo rm md5sum.txt
+find -type f -print0 | sudo xargs -0 md5sum | grep -v isolinux/boot.cat | sudo tee md5sum.txt
+
+sudo mkisofs -D -r -V "ubuntu_arise" -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o ../../ubuntu-arise.iso .
-- 
GitLab