Package: live-boot
Version: 4.0.2-1
Severity: wishlist
Tags: patch
Dear Maintainer,
There are a few features I have come to love in other live systems that are not
available in the current live-boot system. I have attached a patch that adds
these features and think it maybe valuable upstream.
1. rootcopy: This allows for one or more folders on the boot medium that
contain a folder structure relative to /. before init, these files are copied
to the rootfs. This feature allows users to make small changes to their
environment (like wallpaper changes or dekstop icons) without needing to
remaster or have a persistent volume.
2. modularized filesystems: This allows for the use of a file, *.module, that
contains newlibe seperated squashfs filenames to be loaded in order. This is a
change from the default behavior of coping all squashfs files and mounting them
in alphabetical order.
3. packge installer: This allows for a user to include a small apt repo in the
live media. By creating a *.package file, a user can tell the system to
install these packages from the repo on boot before init. This is helpful for
testing packages without having to remaster.
I have been using these for quite some time and found them to be critical in my
use. I would like inclusion upstream so I don't have to continually patch as
new versions are released.
-- Package-specific info:
-- System Information:
Debian Release: 8.7
APT prefers stable-updates
APT policy: (500, 'stable-updates'), (500, 'stable')
Architecture: amd64 (x86_64)
Kernel: Linux 3.16.0-4-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_US.utf8, LC_CTYPE=en_US.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
Versions of packages live-boot depends on:
ii live-boot-initramfs-tools [live-boot-backend] 4.0.2-1
Versions of packages live-boot recommends:
pn live-boot-doc
pn live-tools
ii rsync 3.1.1-3
pn uuid-runtime
Versions of packages live-boot suggests:
ii cryptsetup2:1.7.3-3
pn curlftpfs
pn httpfs2
pn unionfs-fuse
ii wget 1.16-1+deb8u1
-- debconf information:
Unescaped left brace in regex is deprecated, passed through in regex; marked by
<-- HERE in m/^(.*?)(\\)?\${ <-- HERE ([^{}]+)}(.*)$/ at
/usr/share/perl5/Debconf/Question.pm line 72.
Unescaped left brace in regex is deprecated, passed through in regex; marked by
<-- HERE in m/\${ <-- HERE ([^}]+)}/ at /usr/share/perl5/Debconf/Config.pm line
30.
diff -ruN lib/live/boot/9990-cleanup.sh /lib/live/boot/9990-cleanup.sh
--- lib/live/boot/9990-cleanup.sh 1970-01-01 00:00:00.0 +
+++ /lib/live/boot/9990-cleanup.sh 2017-05-15 15:59:13.0 +
@@ -0,0 +1,24 @@
+#!/bin/sh
+
+#set -e
+
+
+
+Cleanup ()
+{
+ . /bin/live-boot
+ . /scripts/functions
+ log_begin_msg "Cleaning up your mess..."
+ # Unmount boot media if we did a rootcopy or module install
+ ([ -n ${ROOTCOPY} ] || [ -n ${MODULES} ]) && umount /root/lib/live/mount/medium
+ #[ -n ${MODULES} ] && umount /root/lib/live/mount/medium
+
+ # Copy through initrd versions of live-boot scripts
+ cp -af /lib/live/boot/* /root/lib/live/boot/
+ cp -af /scripts/live /root/usr/share/initramfs-tools/scripts/live
+
+ # Remove duplicate /live/overlay
+ umount /root/lib/live/mount/overlay
+maybe_break cleanup
+ log_end_msg
+}
diff -ruN lib/live/boot/9990-cmdline-old /lib/live/boot/9990-cmdline-old
--- lib/live/boot/9990-cmdline-old 2014-12-10 09:37:04.0 +
+++ /lib/live/boot/9990-cmdline-old 2017-05-26 03:45:29.229477053 +
@@ -208,7 +208,8 @@
toram)
TORAM="true"
-export TORAM
+MODULETORAM="filesystem.squashfs"
+export TORAM MODULETORAM
;;
toram=*)
@@ -241,6 +242,31 @@
UNIONTYPE="${_PARAMETER#union=}"
export UNIONTYPE
;;
+
+ rootcopy)
+ROOTCOPY="true"
+export ROOTCOPY
+;;
+
+ rootcopy=*)
+ROOTCOPY="${_PARAMETER#rootcopy=}"
+export ROOTCOPY
+;;
+
+ packagesdir=*)
+PACKAGESDIR="${_PARAMETER#packagesdir=}"
+export PACKAGESDIR
+;;
+
+ packages=*)
+PACKAGES="${_PARAMETER#packages=}"
+export PACKAGES
+;;
+
+ repodir=*)
+REPODIR="${_PARAMETER#repodir=}"
+export REPODIR
+;;
esac
done
diff -ruN lib/live/boot/9990-main.sh /lib/live/boot/9990-main.sh
--- lib/live/boot/9990-main.sh 2014-12-10 09:37:04.0 +
+++ /lib/live/boot/9990-main.sh 2017-05-26 03:12:30.501381288 +
@@ -211,4 +211,17 @@
exec 2>&7 7>&-
kill ${tailpid}
[ -w "${rootmnt}/var/log/" ] && mkdir -p "${rootmnt}/var/log/live" && cp boot.log "${rootmnt}/var/log/live" 2>/dev/null
+
+ # install user modules
+ Packages
+
+ # Clone Root mods
+ Rootcopy
+
+ # Cleanup
+ Cleanup
+
+ # Copy through initrd versions of live-boot scripts
+ cp -af /lib/live/boot/* /root/lib/live/boot/
+ cp -af /scripts/live /root/usr/share/initramfs-tools/scripts/live
}
diff -ruN lib/live/boot/9990-misc-helpers.sh /lib/live/boot/9990-misc-helpers.sh
---