* Add code to make isohybrid images for i386/amd64:

+ Makefile: Add support for overriding the MKISOFS and MKISOFS_OPTS
      variables on a per-arch basis
    + CONF.sh: add working examples for this
    + tools/boot/squeeze/boot-x86: if configured to use xorriso, add the
      extra command line options to add the isohybrid MBR. Also work
      around a difference in ISO directory naming between genisoimage and
      xorriso.
This commit is contained in:
Steve McIntyre 2010-12-24 23:28:44 +00:00
parent a2c79a44ef
commit fc722916d0
5 changed files with 53 additions and 2 deletions

View File

@ -169,6 +169,15 @@ export CONTRIB=1
# export MKISOFS_OPTS="-r" #For normal users
# export MKISOFS_OPTS="-r -F ." #For symlink farmers
# Override for i386 and amd64 to use xorriso instead of
# mkisofs/genisoimage. Allows creation of isohybrid images: ISO images
# that will burn correctly onto a CD and also can be written raw to a
# USB stick. xorriso 0.6.5 and later has working support for this.
#export i386_MKISOFS="xorriso"
#export i386_MKISOFS_OPTS="-as mkisofs -r -checksum_algorithm_iso md5,sha1"
#export amd64_MKISOFS="xorriso"
#export amd64_MKISOFS_OPTS="-as mkisofs -r -checksum_algorithm_iso md5,sha1"
# ISOLinux support for multiboot on CD1 for i386
export ISOLINUX=1

View File

@ -42,6 +42,18 @@ ifeq ($(shell echo $(ARCHES) | sed 's/.*source.*/1/'),1)
export INC_SOURCE=yes
endif
export NUM_ARCHES=$(shell echo $(ARCHES) | wc -w)
ifeq ($(NUM_ARCHES),1)
ARCH_MKISOFS = ${${ARCHES}_MKISOFS}
ARCH_MKISOFS_OPTS = ${${ARCHES}_MKISOFS_OPTS}
ifneq (${ARCH_MKISOFS},)
MKISOFS = ${ARCH_MKISOFS}
endif
ifneq (${ARCH_MKISOFS_OPTS},)
MKISOFS_OPTS = ${ARCH_MKISOFS_OPTS}
endif
endif
## Internal variables
apt=$(BASEDIR)/tools/apt-selection
sort_deps=$(BASEDIR)/tools/sort_deps

9
debian/CONF.sh vendored
View File

@ -169,6 +169,15 @@ export CONTRIB=1
# export MKISOFS_OPTS="-r" #For normal users
# export MKISOFS_OPTS="-r -F ." #For symlink farmers
# Override for i386 and amd64 to use xorriso instead of
# mkisofs/genisoimage. Allows creation of isohybrid images: ISO images
# that will burn correctly onto a CD and also can be written raw to a
# USB stick. xorriso 0.6.5 and later has working support for this.
#export i386_MKISOFS="xorriso"
#export i386_MKISOFS_OPTS="-as mkisofs -r -checksum_algorithm_iso md5,sha1"
#export amd64_MKISOFS="xorriso"
#export amd64_MKISOFS_OPTS="-as mkisofs -r -checksum_algorithm_iso md5,sha1"
# ISOLinux support for multiboot on CD1 for i386
export ISOLINUX=1

8
debian/changelog vendored
View File

@ -5,6 +5,14 @@ debian-cd (3.1.5) UNRELEASED; urgency=low
* Switch to --iso-level 4 for powerpc images to make them work better
with POWER machines. Thanks to Milan Kupcevic for the patch.
Closes: #603536
* Add code to make isohybrid images for i386/amd64:
+ Makefile: Add support for overriding the MKISOFS and MKISOFS_OPTS
variables on a per-arch basis
+ CONF.sh: add working examples for this
+ tools/boot/squeeze/boot-x86: if configured to use xorriso, add the
extra command line options to add the isohybrid MBR. Also work
around a difference in ISO directory naming between genisoimage and
xorriso.
-- Steve McIntyre <93sam@debian.org> Sun, 14 Nov 2010 15:37:24 +0000

View File

@ -44,8 +44,21 @@ NN=`echo $N | sed -e 's/_NONUS//'`
# Exit if this is not a boot disk
if [ $NN != 1 ] ; then exit 0; fi
INSTALLDIR_i386="install.386"
INSTALLDIR_amd64="install.amd"
case "$MKISOFS" in
*xorriso*)
add_mkisofs_opt $CDDIR/../$N.mkisofs_opts "-isohybrid-mbr syslinux/usr/lib/syslinux/isohdpfx.bin"
add_mkisofs_opt $CDDIR/../$N.mkisofs_opts "-partition_offset 16"
INSTALLDIR_i386="install_386"
INSTALLDIR_amd64="install_amd"
# uncoment to add a small FAT partition on the media
# /sbin/mkfs.msdos -n Bla -C test.fat 8192
# add_mkisofs_opt $CDDIR/../$N.mkisofs_opts "-append_partition 2 0x01 test.fat"
;;
*)
INSTALLDIR_i386="install.386"
INSTALLDIR_amd64="install.amd"
;;
esac
if [ "$ARCH" = i386 ]; then
INSTALLDIR="$INSTALLDIR_i386"