NetBSD/distrib/cdrom/NetBSD-4.0.mk
tsutsui 42f593a4d5 Reorganize macppc_installboot to make macppccd.iso image actually bootable
on (some) OpenFirmware 2.x machines.

Current macppccd.iso image doesn't boot on Openfirmware 2.x
(and probably 1.0.5) machines because it uses pre-compiled binary
which is based on old (and customized) bootxx.
It causes version mismatch against newer ofwboot whose load address
has been changed from 0x600000 to 0xe00000, as mentioned in the
following post:
http://mail-index.netbsd.org/port-macppc/2004/12/14/0020.html
There was also an raw binary which was passed to mkisofs as -boot-hfs-file.

To fix these issue, prepare a simple mkhfsboot program which creates
a boothfs file with the Apple partition map info for mkisofs,
and modify macppc_installboot to search the secondary ofwboot from isofs
and to put and modify the primary bootxx accordingly.
See PR toolchain/30245 for more details.

There are still some machines which don't boot from an iso image created
by this method (G3 machines with OF 2.0f1 etc.), but it's still better
than to keep ugly and obsolete hacks.

Ok'ed by macallan, and there is no other particular comment about this PR.
2006-09-17 03:56:03 +00:00

65 lines
2.8 KiB
Makefile

# $NetBSD: NetBSD-4.0.mk,v 1.2 2006/09/17 03:56:03 tsutsui Exp $
#
# Configuration file for the NetBSD-4.0 binary release.
# sysinst expects the architectures at top level
RELEASE_SUBDIR= # empty
# BOOTFILE.alpha is absolute
BOOTFILE.alpha= ${EXTFILEDIR}/alpha.bootxx
EXTFILES.alpha= alpha.bootxx:alpha/binary/sets/base.tgz,./usr/mdec/bootxx_cd9660
INTFILES.alpha= netbsd.alpha:alpha/installation/instkernel/netbsd.gz,link \
boot:alpha/binary/sets/base.tgz,./usr/mdec/boot
# cats needs an a.out kernel to boot from
INTFILES.cats= netbsd.cats:cats/binary/kernel/netbsd.aout-INSTALL.gz
# BOOTFILE.i386 is relative to CD staging root
BOOTFILE.i386= boot.i386
INTFILES.i386= boot.i386:i386/installation/floppy/boot-big.fs,link
# BOOTFILE.amd64 is relative to CD staging root
BOOTFILE.amd64= boot.amd64
INTFILES.amd64= boot.amd64:amd64/installation/floppy/boot-big.fs,link
# macppc has external bootblock generation tool
EXTFILES.macppc= macppc.bootxx:macppc/binary/sets/base.tgz,./usr/mdec/booxx \
macppc.ofwboot:macppc/binary/sets/base.tgz,./usr/mdec/ofwboot
INTFILES.macppc= ofwboot.xcf:macppc/installation/ofwboot.xcf,link \
ofwboot:macppc/binary/sets/base.tgz,./usr/mdec/ofwboot \
netbsd.macppc:macppc/binary/kernel/netbsd-INSTALL.gz,link
# BOOTFILE.pmax is absolute
BOOTFILE.pmax= ${EXTFILEDIR}/pmax.bootxx
EXTFILES.pmax= pmax.bootxx:pmax/binary/sets/base.tgz,./usr/mdec/bootxx_cd9660
INTFILES.pmax= netbsd.pmax:pmax/binary/kernel/netbsd-INSTALL.gz,link \
boot.pmax:pmax/binary/sets/base.tgz,./usr/mdec/boot.pmax
# sgimips needs the compressed kernels with short names in /, the various
# boot files that go into the volume header and the bootblock.h file
# to grep for the volume header size
EXTFILES.sgimips= sgimips.bootblock.h:sgimips/binary/sets/comp.tgz,./usr/include/sys/bootblock.h
INTFILES.sgimips= aoutboot:sgimips/binary/sets/base.tgz,./usr/mdec/aoutboot \
ip2xboot:sgimips/binary/sets/base.tgz,./usr/mdec/ip2xboot \
ip3xboot:sgimips/binary/sets/base.tgz,./usr/mdec/ip3xboot \
ip2x:sgimips/binary/kernel/netbsd-INSTALL32_IP2x.gz,link \
ip3x:sgimips/binary/kernel/netbsd-INSTALL32_IP3x.gz,link
# BOOTFILE.sparc is absolute
BOOTFILE.sparc= ${EXTFILEDIR}/sparc-boot.fs
EXTFILES.sparc= sparc-boot.fs:sparc/installation/bootfs/boot.fs.gz
INTFILES.sparc= installation/bootfs/instfs.tgz:sparc/installation/bootfs/instfs.tgz,link
INTDIRS.sparc= installation/bootfs
MKISOFS_ARGS.sparc= -hide-hfs ./installation -hide-joliet ./installation
# BOOTFILE.sparc64 is absolute
BOOTFILE.sparc64= ${EXTFILEDIR}/sparc64-boot.fs
EXTFILES.sparc64= sparc64-boot.fs:sparc64/installation/misc/boot.fs.gz
# BOOTFILE.vax is absolute
BOOTFILE.vax= ${EXTFILEDIR}/vax.xxboot
EXTFILES.vax= vax.xxboot:vax/binary/sets/base.tgz,./usr/mdec/xxboot
INTFILES.vax= netbsd.vax:vax/installation/netboot/install.ram.gz,link \
boot.vax:vax/binary/sets/base.tgz,./usr/mdec/boot