diff options
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 |
commit | dd0327d77f2741474245ecd3026cf66e55581733 (patch) | |
tree | bd9c4682e21ddf13789c33db3dc5046d2bda9d1c /make_slackware_live.sh | |
parent | fea7b0264016240fd1b5c06b26a70a7f7f219546 (diff) | |
download | liveslak-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-x | make_slackware_live.sh | 5 |
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} |