summaryrefslogtreecommitdiffstats
path: root/make_slackware_live.sh
diff options
context:
space:
mode:
author Eric Hameleers <alien@slackware.com>2022-08-15 20:42:11 +0200
committer Eric Hameleers <alien@slackware.com>2022-08-15 20:42:11 +0200
commitdd0327d77f2741474245ecd3026cf66e55581733 (patch)
treebd9c4682e21ddf13789c33db3dc5046d2bda9d1c /make_slackware_live.sh
parentfea7b0264016240fd1b5c06b26a70a7f7f219546 (diff)
downloadliveslak-dd0327d77f2741474245ecd3026cf66e55581733.tar.gz
liveslak-dd0327d77f2741474245ecd3026cf66e55581733.tar.xz
Full support for Ventoy; encrypted OS persistence/homedirectory for ISO boot
New features: Ventoy is now fully supported. Liveslak implements the "Ventoy-compatible" guideline. There is nothing you have to do, this works out of the box. When you are booting from an ISO file (whether via Ventoy, or through your own hand-crafted Grub menu entry, or Windows BCD), Operating System persistence and an encrypted homedirectory are now supported, as well as the ability to load additional live modules (as 'addons' or 'optional') that are not part of the ISO. All of this is possible without the need for any modification to the ISO image. The configuration is stored in a file next to the ISO. A new script, "isocomp.sh" aka the ISO Companion script, has been added. Like with all of my scripts, it accepts a "--help" parameter which will show you how to use it. This script allows you to: - create encrypted containers for OS persistence and a persistent homedirectory (actually not just for /home but you can create as many containers as fit on the disk and mount them wherever you want) - size extension of existing encrypted containers if they threaten to run out of space - creating a secondary liveslak root on the disk partition where you can add more (optional/add-on) live modules that you need in the Live OS but are not contained in the ISO The configuration of these new features is stored in a file with the same name and full path as the ISO file but with a ".cfg" file extension instead of ".iso". The "isocomp.sh" script manages this configuration file for you, but you can safely edit and modify it manually if you want to. The "isocomp.sh" script will leave your customizations alone. Here is an example of such a configuration file; it is copied from my own Ventoy disk, for a Slackware LEAN Live ISO image: LIVESLAKROOT=/liveslak LUKSVOL=/liveslak/myhome.icc:/home ISOPERSISTENCE=/liveslak/persistence.icc TZ=Europe/Amsterdam LIVE_HOSTNAME=zelazny I added the variables "TZ" and "LIVE_HOSTNAME" manually by opening the configuration file in an editor. The following variables are supported in the isocomp configuration file, but not managed by "isocomp.sh"; they all correspond to liveslak boot parameters by the way: BLACKLIST, KEYMAP, LIVE_HOSTNAME, LOAD, LOCALE, NOLOAD, RUNLEVEL, TWEAKS, TZ and XKB. The value of the "LUKSVOL" variable can hold multiple "containerfile:mountpoint" definitions, separated by commas. The variable "LIVESLAKROOT" defines the root of a secondary liveslak directory tree on your disk.
Diffstat (limited to 'make_slackware_live.sh')
-rwxr-xr-xmake_slackware_live.sh5
1 files changed, 4 insertions, 1 deletions
diff --git a/make_slackware_live.sh b/make_slackware_live.sh
index a97ea33..3428ca6 100755
--- a/make_slackware_live.sh
+++ b/make_slackware_live.sh
@@ -2092,7 +2092,7 @@ EOSL
# Add our scripts to the Live OS:
mkdir -p ${LIVE_ROOTDIR}/usr/local/sbin
-install -m0755 ${LIVE_TOOLDIR}/makemod ${LIVE_TOOLDIR}/iso2usb.sh ${LIVE_TOOLDIR}/upslak.sh ${LIVE_ROOTDIR}/usr/local/sbin/
+install -m0755 ${LIVE_TOOLDIR}/makemod ${LIVE_TOOLDIR}/iso2usb.sh ${LIVE_TOOLDIR}/isocomp.sh ${LIVE_TOOLDIR}/upslak.sh ${LIVE_ROOTDIR}/usr/local/sbin/
# Add PXE Server infrastructure:
mkdir -p ${LIVE_ROOTDIR}/var/lib/tftpboot/pxelinux.cfg
@@ -3497,6 +3497,9 @@ fi
# verbatim into the overlay root):
mkdir -p ${LIVE_STAGING}/${LIVEMAIN}/rootcopy
+# Mark our ISO as 'ventoy-compatible':
+echo "This ISO is compatible with Ventoy. See https://www.ventoy.net/en/compatible.html" >${LIVE_STAGING}/ventoy.dat
+
# Create an ISO file from the directories found below ${LIVE_STAGING}:
create_iso ${LIVE_STAGING}