svn commit: r293425 - head/sys/boot/efi/boot1
Ed Maste
emaste at FreeBSD.org
Fri Jan 8 16:37:24 UTC 2016
Author: emaste
Date: Fri Jan 8 16:37:22 2016
New Revision: 293425
URL: https://svnweb.freebsd.org/changeset/base/293425
Log:
Add safety belt for boot1.efi file size
Reviewed by: smh
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D4833
Modified:
head/sys/boot/efi/boot1/Makefile
head/sys/boot/efi/boot1/generate-fat.sh
Modified: head/sys/boot/efi/boot1/Makefile
==============================================================================
--- head/sys/boot/efi/boot1/Makefile Fri Jan 8 16:25:11 2016 (r293424)
+++ head/sys/boot/efi/boot1/Makefile Fri Jan 8 16:37:22 2016 (r293425)
@@ -79,8 +79,15 @@ boot1.o: ${.CURDIR}/../../common/ufsread
# created by generate-fat.sh
.include "${.CURDIR}/Makefile.fat"
+BOOT1_MAXSIZE?= 131072
boot1.efifat: boot1.efi
+ @set -- `ls -l boot1.efi`; \
+ x=$$(($$5-${BOOT1_MAXSIZE})); \
+ if [ $$x -ge 0 ]; then \
+ echo "boot1 $$x bytes too large; regenerate FAT templates?" >&2 ;\
+ exit 1; \
+ fi
echo ${.OBJDIR}
uudecode ${.CURDIR}/fat-${MACHINE}.tmpl.bz2.uu
mv fat-${MACHINE}.tmpl.bz2 ${.TARGET}.bz2
Modified: head/sys/boot/efi/boot1/generate-fat.sh
==============================================================================
--- head/sys/boot/efi/boot1/generate-fat.sh Fri Jan 8 16:25:11 2016 (r293424)
+++ head/sys/boot/efi/boot1/generate-fat.sh Fri Jan 8 16:37:22 2016 (r293425)
@@ -55,9 +55,20 @@ BOOT1_OFFSET=$(hd $OUTPUT_FILE | grep 'B
# Convert to number of blocks
BOOT1_OFFSET=$(echo 0x$BOOT1_OFFSET | awk '{printf("%x\n",$1/512);}')
+# Record maximum boot1 size in bytes
+case $BOOT1_SIZE in
+*k)
+ BOOT1_MAXSIZE=$(expr ${BOOT1_SIZE%k} '*' 1024)
+ ;;
+*)
+ BOOT1_MAXSIZE=$BOOT1_SIZE
+ ;;
+esac
+
echo '# This file autogenerated by generate-fat.sh - DO NOT EDIT' > Makefile.fat
echo '# $FreeBSD$' >> Makefile.fat
echo "BOOT1_OFFSET=0x$BOOT1_OFFSET" >> Makefile.fat
+echo "BOOT1_MAXSIZE=$BOOT1_MAXSIZE" >> Makefile.fat
bzip2 $OUTPUT_FILE
echo 'FAT template boot filesystem created by generate-fat.sh' > $OUTPUT_FILE.bz2.uu
More information about the svn-src-head
mailing list