Fix booting from help files and isolinux.cfg overwriting

This commit is contained in:
Didier Raboud 2015-08-21 15:10:59 +02:00
parent 5365734804
commit 3e2382d4ad
3 changed files with 16 additions and 28 deletions

3
debian/changelog vendored
View File

@ -20,7 +20,8 @@ debian-cd (3.1.18) UNRELEASED; urgency=medium
[ Didier Raboud ]
* For stretch, swap amd64 and i386 to let the first be the norm, and the
latter be the special case, this copes with the similar change in d-i
* Add management of arch detection from d-i in isolinux
* Add management of arch detection from d-i in isolinux, fix booting from
help files and isolinux.cfg overwriting
-- Steve McIntyre <93sam@debian.org> Mon, 20 Apr 2015 12:36:57 +0100

View File

@ -298,7 +298,11 @@ if [ "$BOOT_BIOS" = 1 ] ; then
if [ ! -z "$MULTIARCH" ]; then
# Mandatory for 64bits capability detection
cp -f $CDDIR/../syslinux/usr/lib/syslinux/modules/bios/ifcpu64.c32 boot$N/isolinux/
if [ -f $CDDIR/../syslinux/usr/lib/syslinux/modules/bios/ifcpu64.c32 ] ; then
cp -f $CDDIR/../syslinux/usr/lib/syslinux/modules/bios/ifcpu64.c32 boot$N/isolinux/
else
cp -f $CDDIR/../syslinux/usr/lib/syslinux/ifcpu64.c32 boot$N/isolinux/
fi
fi
# If we don't have grub stuff from d-i, tell xorriso to add a
@ -390,9 +394,16 @@ else
fi
fi
# Apply workaround for #505243
if [ "$BOOT_BIOS" = 1 ] ; then
multiarch_workaround
# Add another ifcpu64.c32 launch to let the 'enter' in help menus work correctly
sed -i "/^include menu.cfg/ a\include instsel.cfg" \
boot$N/isolinux/prompt.cfg
cat >boot$N/isolinux/instsel.cfg <<EOF
default install-select
label install-select
kernel ifcpu64.c32
append installgui -- x86-installgui
EOF
fi
fi

View File

@ -10,30 +10,6 @@ di_syslinux_version() {
echo "$version"
}
# Workaround for #505243
# Syslinux does not correctly handle a default64 option in combination
# with vesamenu. Instead, add special default label to automatically
# select i386/amd64 if user hits enter from help screens.
multiarch_workaround() {
if [ -f $CDDIR/../syslinux/usr/lib/syslinux/modules/bios/ifcpu64.c32 ] ; then
cp -f $CDDIR/../syslinux/usr/lib/syslinux/modules/bios/ifcpu64.c32 boot$N/isolinux/
else
cp -f $CDDIR/../syslinux/usr/lib/syslinux/ifcpu64.c32 boot$N/isolinux/
fi
sed -i "/^default install/ s/^/#/" \
boot$N/isolinux/txt.cfg || true
sed -i "/^default64 amd64-install/ s/^/#/" \
boot$N/isolinux/amdtxt.cfg || true
sed -i "/^include menu.cfg/ a\include instsel.cfg" \
boot$N/isolinux/prompt.cfg
cat >boot$N/isolinux/instsel.cfg <<EOF
default install-select
label install-select
kernel ifcpu64.c32
append amd64-install -- install
EOF
}
set_default_desktop() {
# Set default desktop, or remove if not applicable
if [ "$DESKTOP" ]; then