From a37770b4291dae134827084a339fbd9aaf15099f Mon Sep 17 00:00:00 2001 From: Steve McIntyre <93sam@debian.org> Date: Mon, 13 Aug 2012 13:06:04 +0000 Subject: [PATCH] Update the boot-load-size parameter for all ElTorito booting arches --- debian/changelog | 3 ++- tools/boot/wheezy/boot-hurd | 4 +++- tools/boot/wheezy/boot-ia64 | 4 ++-- tools/boot/wheezy/boot-kfreebsd | 4 +++- tools/boot/wheezy/boot-x86 | 4 +++- tools/boot/wheezy/common.sh | 7 +++++++ 6 files changed, 20 insertions(+), 6 deletions(-) diff --git a/debian/changelog b/debian/changelog index a135515f..03989983 100644 --- a/debian/changelog +++ b/debian/changelog @@ -17,7 +17,8 @@ debian-cd (3.1.10) UNRELEASED; urgency=low * Tweak powerpc boot options, using 32/64 bit detection in yaboot at boot time. Thanks to Milan Kupcevic for the patch. Closes: #678066 * Tweak boot-load-size for ia64 to make CDs boot again. Closes: #678883. - Thanks to Stephan Schreiber for the patch. + Thanks to Stephan Schreiber for the patch. Tweak all the other + ElTorito-booting arches in a similar fashion. [ Joey Hess ] * Clean up forcd1, removing twm, wmaker, wmakerconf, pump, diff --git a/tools/boot/wheezy/boot-hurd b/tools/boot/wheezy/boot-hurd index 83480ec6..c3e32c40 100644 --- a/tools/boot/wheezy/boot-hurd +++ b/tools/boot/wheezy/boot-hurd @@ -69,7 +69,9 @@ add_mkisofs_opt $CDDIR/../$N.mkisofs_opts "-J -joliet-long" add_mkisofs_opt $CDDIR/../$N.mkisofs_opts "-b boot/grub/grub_eltorito" add_mkisofs_opt $CDDIR/../$N.mkisofs_opts "-c boot/boot.cat" add_mkisofs_opt $CDDIR/../$N.mkisofs_opts "-no-emul-boot" -add_mkisofs_opt $CDDIR/../$N.mkisofs_opts "-boot-load-size 4" + +bls=$(calc_boot_size "boot$N/boot/grub/grub_eltorito") +add_mkisofs_opt $CDDIR/../$N.mkisofs_opts "-boot-load-size $bls" add_mkisofs_opt $CDDIR/../$N.mkisofs_opts "-boot-info-table" add_mkisofs_opt $CDDIR/../$N.mkisofs_opts "-cache-inodes" add_mkisofs_opt $CDDIR/../$N.mkisofs_dirs "boot$N" diff --git a/tools/boot/wheezy/boot-ia64 b/tools/boot/wheezy/boot-ia64 index 4de9f61b..bd6a5ec6 100755 --- a/tools/boot/wheezy/boot-ia64 +++ b/tools/boot/wheezy/boot-ia64 @@ -51,13 +51,13 @@ install_languages $CDDIR mkdir -p boot$N/boot cp -f boot.img boot$N/boot/ - add_mkisofs_opt $CDDIR/../$N.mkisofs_opts "-J -joliet-long" add_mkisofs_opt $CDDIR/../$N.mkisofs_opts "-no-emul-boot" add_mkisofs_opt $CDDIR/../$N.mkisofs_opts "-b boot/boot.img" add_mkisofs_opt $CDDIR/../$N.mkisofs_opts "-c boot/boot.catalog" -add_mkisofs_opt $CDDIR/../$N.mkisofs_opts "-boot-load-size $[($(stat -c%s "boot$N/boot/boot.img")+2047)/2048]" +bls=$(calc_boot_size "boot$N/boot/boot.img") +add_mkisofs_opt $CDDIR/../$N.mkisofs_opts "-boot-load-size $bls" add_mkisofs_opt $CDDIR/../$N.mkisofs_dirs "boot$N" # done diff --git a/tools/boot/wheezy/boot-kfreebsd b/tools/boot/wheezy/boot-kfreebsd index 846bcad4..39dffd35 100644 --- a/tools/boot/wheezy/boot-kfreebsd +++ b/tools/boot/wheezy/boot-kfreebsd @@ -81,7 +81,9 @@ add_mkisofs_opt $CDDIR/../$N.mkisofs_opts "-J -joliet-long" add_mkisofs_opt $CDDIR/../$N.mkisofs_opts "-b boot/grub/grub_eltorito" add_mkisofs_opt $CDDIR/../$N.mkisofs_opts "-c boot/boot.cat" add_mkisofs_opt $CDDIR/../$N.mkisofs_opts "-no-emul-boot" -add_mkisofs_opt $CDDIR/../$N.mkisofs_opts "-boot-load-size 4" + +bls=$(calc_boot_size "boot$N/boot/grub/grub_eltorito") +add_mkisofs_opt $CDDIR/../$N.mkisofs_opts "-boot-load-size $bls" add_mkisofs_opt $CDDIR/../$N.mkisofs_opts "-boot-info-table" add_mkisofs_opt $CDDIR/../$N.mkisofs_opts "-cache-inodes" add_mkisofs_opt $CDDIR/../$N.mkisofs_dirs "boot$N" diff --git a/tools/boot/wheezy/boot-x86 b/tools/boot/wheezy/boot-x86 index 2cc090be..7b194831 100644 --- a/tools/boot/wheezy/boot-x86 +++ b/tools/boot/wheezy/boot-x86 @@ -200,7 +200,9 @@ add_mkisofs_opt $CDDIR/../$N.mkisofs_opts "-cache-inodes" add_mkisofs_opt $CDDIR/../$N.mkisofs_opts "-b isolinux/isolinux.bin" add_mkisofs_opt $CDDIR/../$N.mkisofs_opts "-c isolinux/boot.cat" add_mkisofs_opt $CDDIR/../$N.mkisofs_opts "-no-emul-boot" -add_mkisofs_opt $CDDIR/../$N.mkisofs_opts "-boot-load-size 4" + +bls=$(calc_boot_size "boot$N/isolinux/isolinux.bin") +add_mkisofs_opt $CDDIR/../$N.mkisofs_opts "-boot-load-size $bls" add_mkisofs_opt $CDDIR/../$N.mkisofs_opts "-boot-info-table" add_mkisofs_opt $CDDIR/../$N.mkisofs_dirs "boot$N" diff --git a/tools/boot/wheezy/common.sh b/tools/boot/wheezy/common.sh index e0cc5755..e6e11f5b 100644 --- a/tools/boot/wheezy/common.sh +++ b/tools/boot/wheezy/common.sh @@ -69,3 +69,10 @@ find_pkg_file() { echo $pkgfile } +# Work out the right boot load size for a specified file +calc_boot_size() { + FILE=$1 + + size=$[($(stat -c%s "$FILE")+2047)/2048] + echo $size +}