nilmbuntu/customize.sh

55 lines
1.8 KiB
Bash
Executable File

#!/bin/bash
. config || exit 0
set -e
set -x
# Customize the outer ISO image
sed -i -s -e \
"s/DISKNAME.*/DISKNAME NILMbuntu $VERSION/" \
${ISO}/README.diskdefines
# The .disk/info file is important -- it's used by ubiquity to extract
# out the distro name in dialogs, and I think casper might use it too
echo "NILMbuntu $VERSION" > ${ISO}/.disk/info
# Set up preseed file by appending preseed.cfg to the Xubuntu
# default one
cat ${ISO}/preseed/xubuntu.seed files/preseed.cfg > ${ISO}/preseed/nilmbuntu.seed
# Set up isolinux how we want by editing its config
TRY="Boot ^NILMbuntu ${VERSION}"
cp files/splash.png ${ISO}/isolinux/splash.png
perl -n -i \
-e '$n=1 if /^label/; $n=2 if /^label live-install/; next if $n==2;' \
-e "s/menu label.*Try Xubuntu without installing/menu label $TRY/g;" \
-e "s,preseed/.*[.]seed,preseed/nilmbuntu.seed,g;" \
-e "s/ quiet splash//g;" \
-e "print;" \
${ISO}/isolinux/txt.cfg
sed -i -s -e "s/^menu margin .*/menu margin 2/g;" ${ISO}/isolinux/menu.cfg
sed -i -s -e "s/^ui gfxboot/# ui gfxboot/g;" ${ISO}/isolinux/isolinux.cfg
# Set up grub similarly
TRY="Boot NILMbuntu ${VERSION}"
perl -n -i \
-e "next if /menuentry \"Install/../^}$/;" \
-e "next if /menuentry \"OEM install/../^}$/;" \
-e "s/Try Xubuntu without installing/${TRY}/g;" \
-e "s,preseed/.*[.]seed,preseed/nilmbuntu.seed,g;" \
-e "s/ quiet splash//g;" \
-e "print;" \
${ISO}/boot/grub/{grub,loopback}.cfg
# Prevent some packages from being removed after install
perl -n -i -e 'print unless /gparted/' ${ISO}/casper/filesystem.manifest-remove
sudo install -D -m 0644 files/fallback_dns.conf ${FS}/etc/systemd/resolved.conf.d/fallback_dns.conf
if ! [ "$1" == "skip" ] ; then
# Run the customize-inner.sh script inside the chroot
./enter.sh "cd /root ; files/customize-inner.sh"
fi