livecd-rootfs/live-build/xubuntu/hooks/03-initramfs-enforcement.chroot
2026-04-15 16:09:14 +12:00

35 lines
1012 B
Bash
Executable File

#!/bin/bash -e
# vi: ts=4 noexpandtab
# In a kernel layer, we need a freshly updated initrd (to ensure it
# has been casperized with an appropriate config). A binary hook will
# pull this out to be a separate build artifact to eventually end up
# in /casper on the generated ISO.
# In all lower layers, having an initrd just wastes space, as curtin
# will always call update-initramfs after the layer has been copied to
# the target system.
# The netboot "layers" are not made into squashfses so there's no need
# to do anything in those.
. /root/config/common
. /root/config/functions
set -x
if ! is_live_layer "${PASS}"; then
rm -f /boot/initrd.img-*
exit 0
fi
cat <<EOF > /etc/initramfs-tools/conf.d/casperize.conf
export CASPER_GENERATE_UUID=1
EOF
cat <<EOF > /etc/initramfs-tools/conf.d/default-layer.conf
LAYERFS_PATH=${PASS}.squashfs
EOF
# As this hook has deleted the initrds from lower layers we need to
# pass -c -k all to update-initramfs here (-u will do nothing)
update-initramfs -c -k all