diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..6267c4339669cbecac3c4b9e19c838725dbf2d55 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +*.iso diff --git a/patchIso.sh b/patchIso.sh new file mode 100755 index 0000000000000000000000000000000000000000..e79fbd6c116e23cc0cacfd801f9b3889e3d7ca2d --- /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 .