From 3b11e02f93cd4dcdd36ed2d4ca4172ec2f8f787a Mon Sep 17 00:00:00 2001 From: Christopher Spinrath <christopher.spinrath@rwth-aachen.de> Date: Thu, 4 Sep 2014 22:11:41 +0200 Subject: [PATCH] =?UTF-8?q?Patches=20f=C3=BCr=20rootfs/iso/initrd=20im=20O?= =?UTF-8?q?rdner=20patches=20abgelegt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- patches/initrd/unionstackmount1310.patch | 90 +++++++++++++++++++++ patches/iso/ubiquity-keep-installed.patch | 8 ++ patches/rootfs/ubiquity-apt-clone-fix.patch | 12 +++ 3 files changed, 110 insertions(+) create mode 100644 patches/initrd/unionstackmount1310.patch create mode 100644 patches/iso/ubiquity-keep-installed.patch create mode 100644 patches/rootfs/ubiquity-apt-clone-fix.patch diff --git a/patches/initrd/unionstackmount1310.patch b/patches/initrd/unionstackmount1310.patch new file mode 100644 index 0000000..b9a4cc8 --- /dev/null +++ b/patches/initrd/unionstackmount1310.patch @@ -0,0 +1,90 @@ +--- a/scripts/casper 2014-03-13 20:35:34.293226677 +0100 ++++ b/scripts/casper 2014-03-13 20:28:39.978460056 +0100 +@@ -43,6 +43,8 @@ + export PERSISTENT_PATH="${x#persistent-path=}" ;; + union=*) + export UNIONFS="${x#union=}";; ++ unionstack=*) ++ export UNIONSTACK="${x#unionstack=}";; + ip=*) + STATICIP=${x#ip=} + if [ "${STATICIP}" = "" ]; then +@@ -426,6 +428,13 @@ + continue + fi + ++ if [ -n "$UNIONSTACK" ]; then ++ if [ "$(echo $UNIONSTACK | sed "s/$imagename//";)" == "$UNIONSTACK" ]; then ++ log_warning_msg "Filesystem image $imagename not in UNIONSTACK. Ignored." ++ continue ++ fi ++ fi ++ + if [ -d "${image}" ]; then + # it is a plain directory: do nothing + rofsstring="${image}=${roopt}:${rofsstring}" +@@ -461,6 +470,10 @@ + fi + + mount -t ${cow_fstype} -o ${cow_mountopt} ${cowdevice} /cow || panic "Can not mount $cowdevice on /cow" ++ ++ overlay_mount_dir=/overlay ++ mkdir -p "$overlay_mount_dir" ++ + + case ${UNIONFS} in + unionfs-fuse) +@@ -475,7 +488,9 @@ + # Mount the layers pairwise from the bottom onto rootmnt, + # for the second and later layers rootmnt forms the lower layer. + mounts="" +- for mount in /cow $rofslist ++ ++ #overlay all readonly file systems first ++ for mount in $rofslist + do + mounts="$mount $mounts" + done +@@ -487,9 +502,13 @@ + continue + fi + mount -t overlayfs -o "upperdir=$mount,lowerdir=$lower" \ +- "$mount" "$rootmnt" +- lower="$rootmnt" ++ "$mount" "$overlay_mount_dir" ++ lower="$overlay_mount_dir" + done ++ ++ mount -t overlayfs -o "upperdir=/cow,lowerdir=$lower" \ ++ "$mount" "$rootmnt" ++ + ;; + esac + +@@ -530,15 +549,17 @@ + fi + + # move the first mount; no head in busybox-initramfs +- for d in $(mount -t squashfs | cut -d\ -f 3); do +- mkdir -p "${rootmnt}/rofs" +- if [ "${UNIONFS}" = unionfs-fuse ]; then +- mount -o bind "${d}" "${rootmnt}/rofs" +- else +- mount -o move "${d}" "${rootmnt}/rofs" +- fi +- break +- done ++ #for d in $(mount -t squashfs | cut -d\ -f 3); do ++ # mkdir -p "${rootmnt}/rofs" ++ # if [ "${UNIONFS}" = unionfs-fuse ]; then ++ # mount -o bind "${d}" "${rootmnt}/rofs" ++ # else ++ # mount -o move "${d}" "${rootmnt}/rofs" ++ # fi ++ # break ++ #done ++ mkdir -p "${rootmnt}/rofs" ++ mount -o move "$lower" "${rootmnt}/rofs" + } + + check_dev () diff --git a/patches/iso/ubiquity-keep-installed.patch b/patches/iso/ubiquity-keep-installed.patch new file mode 100644 index 0000000..e5b4cad --- /dev/null +++ b/patches/iso/ubiquity-keep-installed.patch @@ -0,0 +1,8 @@ +--- a/preseed/kubuntu.seed 2013-10-16 22:13:07.000000000 +0200 ++++ b/preseed/kubuntu.seed 2014-03-13 20:02:16.991868107 +0100 +@@ -10,4 +10,4 @@ + # application packages pulled in by language packs. Given that we clearly + # have the space to include them on the DVD, they're useful and we might as + # well keep them installed. +-ubiquity ubiquity/keep-installed string icedtea6-plugin openoffice.org ++ubiquity ubiquity/keep-installed string icedtea6-plugin openoffice.org gparted kpartx kpartx-boot libgtkmm apt-clone cryptsetup dpkg-repack gir1.2-json-1.0 gir1.2-xkl-1.0 gir1.2-timezonemap-1.0 keyutils libnss3-1d python-pyicu realpath diff --git a/patches/rootfs/ubiquity-apt-clone-fix.patch b/patches/rootfs/ubiquity-apt-clone-fix.patch new file mode 100644 index 0000000..94c0ff2 --- /dev/null +++ b/patches/rootfs/ubiquity-apt-clone-fix.patch @@ -0,0 +1,12 @@ +--- a/lib/partman/finish.d/01apt_clone_save 2013-01-12 03:31:22.000000000 +0000 ++++ b/lib/partman/finish.d/01apt_clone_save 2013-04-06 16:23:16.103678237 +0000 +@@ -39,6 +39,9 @@ + close_dialog + done + ++#lip patch to prevent the apt-clone save call ++root="" ++ + if [ -z "$root" ]; then + # The partition is going to be formatted; there's nothing to preserve. + exit 0 -- GitLab