so that it can be loaded by the machine's firmware. Put the resulting
image inside the 'installation/instkernel' release subdirectory, as the
installation instructions explain.
Fixes port-shark/35563.
Use x86 native boot for current.
Swap i386 and amd64 in multiarch CD sets (cd1 would overflow by 30M otherwise)
and leave vax out (cd3 would overflow by more than 100M - time for a
multi-cd4 ?)
A bootable sgimips has a volume header prepended, and so is useless for
anything but sgimips. The issue was not found before because the
logic to make an ISO bootable on sgimips was broken, and has been fixed by
tsutsui@ on 2007/03/04.
bsd.subdirs.mk) in distrib/makefile, which builds an iso image for $MACHINE
with binary sets, stored in ${RELEASEDIR}/iso. The image is bootable for:
alpha, amd64, cats, i386, pmax, sgimips, sparc, sparc64, sun3, vax.
mac68k/macppc no there yet because of missing feature in makefs.
call iso_image in distrib/ for iso-image in the top Makefile.
images. amd64 gets a single kernel; i386 images gets 3 kernels:
- netbsd, copy from netbsd-INSTALL_LARGE.gz, loaded by default
- nbsd-l, copy from netbsd-INSTALL_LAPTOP.gz
- nbsd-i, copy from netbsd-INSTALL.gz for those who want the traditionnal
non-ACPI kernel
- drop the bootcd-laptop image
both gets an installcd image, which is the same as bootcd but with the
binary sets in addition to kernels.
GENERIC kernels. If ACPI is an issue on your hardware, 'boot -c' and
'disable acpi' should be a workaround. ACPI-enabled kernels works fine
on pre-acpi hardware.
for amd64:
- add ACPI to INSTALL and GENERIC, remove the *_ACPI config files.
- get rid of the bootfloppy-big.fs boot image, and got to a 3-floppy boot
image
for i386:
- introduce INSTALL_LARGE which has ACPI and some devices with big firmware
- move some devices from INSTALL to INSTALL_LARGE
- Boot floppies still use INSTALL, and bootfloppy-big.fs is still there
(for thoses who want to build el-torito floppy emulation boot CD) and use
INSTALL.
For both, drop the 'iso-image' code in etc/ to make the iso bootable, we'll
use something else to build bootable CDs.
- allow to specify the "instkernel" directory, and allow to put multiple
kernels on the image
- allow to specify the directory where the image will be created
- only use bootxx_cd9660 if it exists
- search for second-stage boot as usr/mdec/boot.${MACHINE} in addition to
usr/mdec/boot
- make 'installboot -e' optional
- use target 'release' or 'iso_image' depending on ${CDRELEASE}
- call some MD targets, which will eventually complete the file list or
make the image bootable
- introduce SGIMIPS_SGIVOL variable which specifies sgivol(8) path
because nbsgivol tool is available only in TOOLDIR for sgimips and
possibly exists in a different directory from default TOOLDIR path
- use fixed (4096) value for SGIVOLHDR.size because default value
taken from <sys/bootblock.h> is 3135 (not multiples of 4) so it
doesn't match 2048bytes/sector CD images
- also pass SGIVOLHDR.size to sgivol(8) on creating volume
- rename raw iso9660 image before creating SGIVOLHDR to avoid
incomplete (non-bootable) image left on failure of sgivol(8)
Problem (i.e. sgimipscd-3.0.2.iso is not bootable) was reported
by Thierry Lacoste on port-sgimips, and fixed images are also
tested by him on IP22 (and by me on IP32).
to make debugging Makefile easier.
For example:
# make RELEASE=3.1 obj
# make RELEASE=3.1 TARGET_CD_IMAGE=sgimipscd fetch
# make RELEASE=3.1 TARGET_CD_IMAGE=sgimipscd
or:
# make RELEASE=current obj
# make RELEASE=current RSYNC_SITE=rsync://rsync.NetBSD.org/NetBSD-daily/HEAD/200702280002Z TARGET_CD_IMAGE=macppccd fetch
# make RELEASE=current TARGET_CD_IMAGE=macppccd
etc.
conflict with C99 functions which are builtins in newer gcc
(actually, the old cabs() is ABI compatible with the new _complex one
on i386, but this is purely accidental)
remove public prototypes and manpages, move the code into a compat
subdirectory as libc does so that binary compatibility is kept
-add a manpage for the isgreater() etc macros, borrowed from FreeBSD