# dump config variables into file, for script access {{{
CONFIGDUMP=$(mktemp)
-set | egrep \
+set | grep -E \
'^(GRML_NAME|RELEASENAME|DATE|VERSION|SUITE|ARCH|DISTRI_NAME|USERNAME|HOSTNAME|APT_PROXY)=' \
> ${CONFIGDUMP}
# }}}
fi
if [ -z "$FAI_DEBOOTSTRAP_OPTS" ] ; then
- FAI_DEBOOTSTRAP_OPTS="--exclude=info,tasksel,tasksel-data --include=aptitude --arch $ARCH --no-merged-usr"
+ FAI_DEBOOTSTRAP_OPTS="--exclude=info,tasksel,tasksel-data,isc-dhcp-client,isc-dhcp-common --include=aptitude --arch $ARCH"
fi
# create backup of old (not yet automatically generated) config file
BOOTX32="/boot/bootia32.efi"
EFI_IMG="/boot/efi.img"
+ local efi_size
+ if [[ "${SECURE_BOOT:-}" == "disable" ]] || [[ "${ARCH:-}" == "i386" ]] ; then
+ efi_size='4M'
+ else
+ # e.g. templates/EFI/debian for Secure Boot has >4MB and needs more space
+ efi_size='8M'
+ fi
+
if [[ "$ARCH" == "amd64" ]] ; then
# important: this depends on execution of ${GRML_FAI_CONFIG}/config/scripts/GRMLBASE/45-grub-images
if ! [ -r "${CHROOT_OUTPUT}/${BOOTX64}" ] ; then
bailout 50
fi
- dd if=/dev/zero of="${CHROOT_OUTPUT}/${EFI_IMG}" bs=4M count=1 2>/dev/null || bailout 50
+ dd if=/dev/zero of="${CHROOT_OUTPUT}/${EFI_IMG}" bs="${efi_size}" count=1 2>/dev/null || bailout 50
mkfs.vfat -n GRML "${CHROOT_OUTPUT}/${EFI_IMG}" >/dev/null || bailout 51
mmd -i "${CHROOT_OUTPUT}/${EFI_IMG}" ::EFI || bailout 52
mmd -i "${CHROOT_OUTPUT}/${EFI_IMG}" ::EFI/BOOT || bailout 52
bailout 50
fi
- dd if=/dev/zero of="${CHROOT_OUTPUT}/${EFI_IMG}" bs=4M count=1 2>/dev/null || bailout 50
+ dd if=/dev/zero of="${CHROOT_OUTPUT}/${EFI_IMG}" bs="${efi_size}" count=1 2>/dev/null || bailout 50
mkfs.vfat -n GRML "${CHROOT_OUTPUT}/${EFI_IMG}" >/dev/null || bailout 51
mmd -i "${CHROOT_OUTPUT}/${EFI_IMG}" ::EFI || bailout 52
mmd -i "${CHROOT_OUTPUT}/${EFI_IMG}" ::EFI/BOOT || bailout 52
copy_addon_file ipxe.lkrn /usr/lib/ipxe addons
copy_addon_file ipxe.efi /usr/lib/ipxe addons
copy_addon_file pci.ids /usr/share/misc addons
+
+ # memtest86+ <=5.01-3.1
copy_addon_file memtest86+.bin /boot addons
+ # make memtest filename FAT16/8.3 compatible
+ if [ -r "${BUILD_OUTPUT}/boot/addons/memtest86+.bin" ] ; then
+ mv "${BUILD_OUTPUT}/boot/addons/memtest86+.bin" \
+ "${BUILD_OUTPUT}/boot/addons/memtest"
+ fi
+
+ # memtest86+ >=6.00-1
+ copy_addon_file memtest86+x32.bin /boot addons
+ copy_addon_file memtest86+x32.efi /boot addons
+ copy_addon_file memtest86+x64.bin /boot addons
+ copy_addon_file memtest86+x64.efi /boot addons
+
+ # provide memtest86+ >=6.00-1 files as "memtest" file
+ # for BIOS boot in isolinux/syslinux
+ if ! [ -r "${BUILD_OUTPUT}/boot/addons/memtest" ] ; then
+ if [[ "$ARCH" == "amd64" ]] ; then
+ copy_addon_file memtest86+x64.bin /boot addons
+ mv "${BUILD_OUTPUT}/boot/addons/memtest86+x64.bin" \
+ "${BUILD_OUTPUT}/boot/addons/memtest"
+ elif [[ "$ARCH" == "i386" ]] ; then
+ copy_addon_file memtest86+x32.bin /boot addons
+ mv "${BUILD_OUTPUT}/boot/addons/memtest86+x32.bin" \
+ "${BUILD_OUTPUT}/boot/addons/memtest"
+ fi
+ fi
# since syslinux(-common) v3:6.03~pre1+dfsg-4 the files are in a
# different directory :(
copy_addon_file memdisk /usr/lib/syslinux addons
- eend 0
-
- # make memtest filename FAT16/8.3 compatible
- mv "${BUILD_OUTPUT}/boot/addons/memtest86+.bin" \
- "${BUILD_OUTPUT}/boot/addons/memtest"
-
# copy only files so we can handle bsd4grml on its own
for file in ${TEMPLATE_DIRECTORY}/boot/addons/* ; do
test -f $file && cp $file "$BUILD_OUTPUT"/boot/addons/
done
+ eend 0
+
if [ -n "$NO_ADDONS_BSD4GRML" ] ; then
log "Skipping installation of bsd4grml as requested via \$NO_ADDONS_BSD4GRML."
einfo "Skipping installation of bsd4grml as requested via \$NO_ADDONS_BSD4GRML."; eend 0