#!/bin/bash -ex # vi: ts=4 noexpandtab # # Generate a squashfs root and manifest set -x echo "032-installer-squashfs.binary" case $IMAGE_TARGETS in ""|*squashfs*) ;; *) echo "Skipping squashfs build" exit 0 ;; esac if [ -n "$SUBARCH" ]; then echo "Skipping rootfs build for subarch flavor build" exit 0 fi . config/functions . config/common BOTTOM_ROOT=binary/boot/squashfs.dir SQUASH_ROOT=binary/boot/squashfs-installer.dir OVERLAY_ROOT=binary/overlay-installer mkdir -p "$SQUASH_ROOT" mkdir -p "$OVERLAY_ROOT" # Create an installer squashfs layer mount_overlay "$BOTTOM_ROOT/" "$OVERLAY_ROOT/" "$SQUASH_ROOT/" setup_mountpoint $SQUASH_ROOT # Override JobRunningTimeoutSec to 0s on the .device unit that # subiquity_config.mount depends on to avoid a 5s delay on switching # to a new VT when there is no device there (LP: #1750117). # It would be better to have this in ../includes.binary/overlay but # you can't have backslashes in filenames in bzr branches! DEVICE_UNIT_NAME='dev-disk-by\x2duuid-00c629d6\x2d06ab\x2d4dfd\x2db21e\x2dc3186f34105d.device' mkdir -p "$SQUASH_ROOT/etc/systemd/system/$DEVICE_UNIT_NAME.d" cat > "$SQUASH_ROOT/etc/systemd/system/$DEVICE_UNIT_NAME.d/override.conf" < /var/lib/snapd/seed/seed.yaml snaps: - name: core channel: stable file: ${CORE_SNAP} - name: subiquity channel: stable classic: true file: ${SUBIQUITY_SNAP} EOF ' teardown_mountpoint "$SQUASH_ROOT" # Then unmount the overlay umount "$SQUASH_ROOT" squashfs_f="${PWD}/livecd.${PROJECT}.installer.squashfs" (cd "$OVERLAY_ROOT/" && mksquashfs . ${squashfs_f} \ -no-progress -xattrs -comp xz )