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.
relies on mkisofs to create bootable ISO image. macppc should also be there,
but it seems the code to make an iso bootable never got added in etc.macppc/
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
make it a regular "bus frontend" in terms of configuration attachment
(this is something new: a device which can be real or pseudo device),
and use only autoconf functions considered exported.
This suffers a bit from the fact that pseudo-devices don't get "aux"
context data passed to the xxx_attach() function. This can be changed
easily; the differences between real and pseudo devices are diminishing...