Home | History | Annotate | only in /src/distrib/common
History log of /src/distrib/common
RevisionDateAuthorComments
 1.2 12-Sep-2014  roy Use the 20-resolv.conf hook from dhcpcd rather than the minimal one.
Extract configured information from resolv.conf and hostname instead
of scraping the last dhcpcd script run.
This will allow the use of DHCPv6 and IPv6RA DNS details in the future.
 1.1 07-Apr-2009  joerg branches: 1.1.2; 1.1.28;
Change ramdisks from dhclient to dhcpcd and add corresponding glue to
sysinst. For amd64, the crunchgen binary shrinks by 150KB uncompresssed,
60KB compressed.
 1.1.28.1 14-May-2015  snj Pull up following revision(s) (requested by martin in ticket #759):
distrib/amd64/cdroms/Makefile.cdrom: revision 1.12
distrib/amd64/installimage/Makefile: revision 1.5
distrib/amd64/installimage/spec.inst: revision 1.2
distrib/common/10-resolv.conf: file removal
distrib/common/99-print-sysinst: file removal
distrib/common/Makefile.dhcpcd: revision 1.2
distrib/common/list.dhcpcd: revision 1.3
distrib/i386/cdroms/Makefile.cdrom: revision 1.32
distrib/i386/installimage/Makefile: revision 1.5
distrib/i386/installimage/spec.inst: revision 1.2
distrib/sparc64/cdroms/installcd/Makefile: revision 1.20
distrib/vax/cdroms/installcd/Makefile: revision 1.10
usr.sbin/sysinst/msg.mi.de: revision 1.4
usr.sbin/sysinst/msg.mi.en: revision 1.4
usr.sbin/sysinst/msg.mi.es: revision 1.4
usr.sbin/sysinst/msg.mi.fr: revision 1.4
usr.sbin/sysinst/msg.mi.pl: revision 1.4
usr.sbin/sysinst/net.c: revisions 1.5-1.8, 1.11-1.15
The dhcpcd utilties in pkgsrc require dhcpcd to be running in master mode.
So set dhcpcd to start like so, but restrict it to the configured interface
still instead of ifconfig_foo=dhcp.
--
Use the 20-resolv.conf hook from dhcpcd rather than the minimal one.
Extract configured information from resolv.conf and hostname instead
of scraping the last dhcpcd script run.
This will allow the use of DHCPv6 and IPv6RA DNS details in the future.
--
dhcpcd will already have configured the system at this point, so
don't bother writing it manually.
--
Don't prompt for hostname or domain if obtained from DHCP.
--
Change the display order so it's protocol agnostic at the top,
then IPv4 then IPv6.
--
Strip newline from the gateway correctly.
--
Show the IP6 address instead of yes
--
Fix a bogus gcc warning: dhcp_config may be used uninitialized
--
Punt custom dhcpcd hooks in favour up upstream hooks
--
For the benefit of gcc 4.5, rename a local "nl" variable to "nline",
so it doesn't collide with the global curses nl() function.
 1.1.2.2 13-May-2009  jym Sync with HEAD.

Third (and last) commit. See http://mail-index.netbsd.org/source-changes/2009/05/13/msg221222.html
 1.1.2.1 07-Apr-2009  jym file 10-resolv.conf was added on branch jym-xensuspend on 2009-05-13 19:17:41 +0000
 1.2 12-Sep-2014  roy Use the 20-resolv.conf hook from dhcpcd rather than the minimal one.
Extract configured information from resolv.conf and hostname instead
of scraping the last dhcpcd script run.
This will allow the use of DHCPv6 and IPv6RA DNS details in the future.
 1.1 07-Apr-2009  joerg branches: 1.1.2; 1.1.28;
Change ramdisks from dhclient to dhcpcd and add corresponding glue to
sysinst. For amd64, the crunchgen binary shrinks by 150KB uncompresssed,
60KB compressed.
 1.1.28.1 14-May-2015  snj Pull up following revision(s) (requested by martin in ticket #759):
distrib/amd64/cdroms/Makefile.cdrom: revision 1.12
distrib/amd64/installimage/Makefile: revision 1.5
distrib/amd64/installimage/spec.inst: revision 1.2
distrib/common/10-resolv.conf: file removal
distrib/common/99-print-sysinst: file removal
distrib/common/Makefile.dhcpcd: revision 1.2
distrib/common/list.dhcpcd: revision 1.3
distrib/i386/cdroms/Makefile.cdrom: revision 1.32
distrib/i386/installimage/Makefile: revision 1.5
distrib/i386/installimage/spec.inst: revision 1.2
distrib/sparc64/cdroms/installcd/Makefile: revision 1.20
distrib/vax/cdroms/installcd/Makefile: revision 1.10
usr.sbin/sysinst/msg.mi.de: revision 1.4
usr.sbin/sysinst/msg.mi.en: revision 1.4
usr.sbin/sysinst/msg.mi.es: revision 1.4
usr.sbin/sysinst/msg.mi.fr: revision 1.4
usr.sbin/sysinst/msg.mi.pl: revision 1.4
usr.sbin/sysinst/net.c: revisions 1.5-1.8, 1.11-1.15
The dhcpcd utilties in pkgsrc require dhcpcd to be running in master mode.
So set dhcpcd to start like so, but restrict it to the configured interface
still instead of ifconfig_foo=dhcp.
--
Use the 20-resolv.conf hook from dhcpcd rather than the minimal one.
Extract configured information from resolv.conf and hostname instead
of scraping the last dhcpcd script run.
This will allow the use of DHCPv6 and IPv6RA DNS details in the future.
--
dhcpcd will already have configured the system at this point, so
don't bother writing it manually.
--
Don't prompt for hostname or domain if obtained from DHCP.
--
Change the display order so it's protocol agnostic at the top,
then IPv4 then IPv6.
--
Strip newline from the gateway correctly.
--
Show the IP6 address instead of yes
--
Fix a bogus gcc warning: dhcp_config may be used uninitialized
--
Punt custom dhcpcd hooks in favour up upstream hooks
--
For the benefit of gcc 4.5, rename a local "nl" variable to "nline",
so it doesn't collide with the global curses nl() function.
 1.1.2.2 13-May-2009  jym Sync with HEAD.

Third (and last) commit. See http://mail-index.netbsd.org/source-changes/2009/05/13/msg221222.html
 1.1.2.1 07-Apr-2009  jym file 99-print-sysinst was added on branch jym-xensuspend on 2009-05-13 19:17:41 +0000
 1.3 21-Dec-2003  lukem Rework MAKEDEV:

* Use "mknod -F netbsd -r" to create nodes, instead of
"rm ; mknod; chmod; chown".
This means permissions & ownership of existing nodes will
not be changed.
This is up to 30% faster when populating an empty /dev,
and nearly 2x faster when re-running on an existing /dev.

* New options:
-f force change of permission & ownership of existing
devices
-m mknod override name/path of mknod program
(which defaults to $TOOL_MKNOD, then "mknod").
-s generate mtree(8) specfile instead of creating devices

* Remove /usr/etc from $PATH; not needed anymore.

* Provide functions to create devices & directories:
mkdev name [b|c] major minor [mode{=600} [gid{=0} [uid{=0}]]]
create device node `name' with the appropriate permissions
lndev src target
create a symlink from src to target
makedir dir mode
create directory with appropriate mode

* UIDs and GIDs are hardcoded in at MAKEDEV generation time.
(Unfortunately there's not a simple way of determining a GID
a la "id -n user" for determining a UID).

This was tested by generating MAKEDEV for each MACHINE,MACHINE_ARCH
combination and comparing the results of "MAKEDEV all" from the
previous version to the new one.
(This testing actually highlighted mistakes in the previous configuration!)


Simplify distrib/common/Makefile.makedev to use "MAKEDEV -s"
 1.2 08-Feb-2002  lukem rcsid police
 1.1 06-Feb-2002  lukem MAKEDEV.wrapper
generate list of commands from provided MAKEDEV script with
given arguments, to feed into makedev2spec.awk

makedev2spec.awk
take output of MAKEDEV.wrapper and generate an mtree(8) specfile.
 1.2 10-Aug-2002  lukem this file is now unnecessary, now that MAKEDEV's "local" target
doesn't complain if $0.local doesn't exist.
 1.1 06-Feb-2002  lukem MAKEDEV.wrapper
generate list of commands from provided MAKEDEV script with
given arguments, to feed into makedev2spec.awk

makedev2spec.awk
take output of MAKEDEV.wrapper and generate an mtree(8) specfile.
 1.56 27-Apr-2025  pgoyette Actually include a bootable kernel in the KERNEL_DIR boot images.

This enables us to actually boot the image into qemu from /netbsd/kernel
and load modules from /netbsd/modules/... , keeping the modules and
kernel together, and removing kernel version numbers from the modules'
path.

From christos@

LGTM, commit it...
 1.55 16-May-2024  christos branches: 1.55.2;
Add more extra stuff on the cds
 1.54 14-May-2024  christos check if the ${MACHINE} directory exists
 1.53 14-May-2024  christos Put back -xx (this will break some archs but we'll fix them) and automatically
generate the spec for the machine-specific portions of the cdrom.
 1.52 09-May-2024  christos Remove the -xx, now we have the list of 20 platforms that have incomplete
fspecs. Instead of augmenting the platform spec with an autogenerated one,
we should understand why we have missing entries in the first place.
 1.51 09-May-2024  kre No point testing if the spec file is empty before running makespec,
the previous commands guarantee that cannot be the case, so makespec
was never being run. Just run it unconditionally.

Seems to fix the build for me.
 1.50 08-May-2024  christos Fail on incomplete mtree specs
 1.49 07-May-2024  christos PR/58196: Jan-Benedict Glaw: If there was no spec file specified, generate
one on the fly. Should fix reproducible builds where the mode and the
ownership/group is not fixed and picked up from the filesystem.
 1.48 25-Apr-2024  nia remove redundant kernels and floppies from the space-starved i386 ISO
 1.47 24-Apr-2024  nia Add "DVD" ISOs for x86 that don't have to follow CD size limitations.

These include all available sets.
 1.46 23-Apr-2024  nia Reduce the size of the i386 ISO to help it fit on a CD-ROM

Exclude tests and html man pages.
 1.45 23-Apr-2024  nia Exclude compat sets from ISO images that struggle to fit on a CD-ROM

When debug is excluded, also exclude the compat debug sets.
 1.44 11-Oct-2020  jmcneill branches: 1.44.6;
Copy release to /${RELEASEMACHINEDIR} instead of /${MACHINE} to match
sysinst expectations.
 1.43 20-Dec-2019  martin Do not populate /dev on CD images by default, instead rely on init
doing the tmpfs / MAKEDEV magic.
On images for machines with serious ram shortage (where the additional
tmpfs hurts, like VAX) override this with CDDEV_POPULATE=true.
Should fix PR port-amd64/54776.
 1.42 23-Sep-2019  christos Consistently use ${RELEASEDIR}/${RELEASEMACHINE} instead of
${RELEASEDIR}/${MACHINE} (Paul Ripke)
 1.41 28-Sep-2018  martin branches: 1.41.2;
Fix stupid typo (=+ instead of +=).
Remove hard coded debug sets removal, now that the configurable
variant works.
Prepare for .tar.xz sets.
 1.40 25-Jun-2018  martin branches: 1.40.2;
Do not put debug.tgz and xdebug.tgz onto install CDs (a lot of them
grow out of bounds and for some architectures can not turn into DVDs).
 1.39 08-Sep-2017  martin branches: 1.39.2;
Introduce CDRELEASE_NODEBUG - if set, avoids putting debug sets in the
ISO image.

Set this for sparc64 install CDs - many of the supported machines have
SCSI CD drives and it is impossible to get DVD replacements for those.

This is a pitty, but in the end a working install medium is more worth
than debug sets (which can be downloaded later).
 1.38 16-Feb-2017  christos branches: 1.38.4;
there is no -f in install
 1.37 11-Feb-2017  christos more MKREPRO_TIMESTAMP fixes (for pax/tar generated files)
 1.36 10-Feb-2017  christos Initial pass to be unaffected by build umask on build artifacts
1. ${MKDIR} -> ${MKDIR} ${MKDIRPERM}
2. ${CP} -> ${INSTALL} ${COPY} -m <perm>
 1.35 19-Jun-2016  isaki branches: 1.35.2; 1.35.4;
Copy with -f.
On x68k, CDEXTRA has /usr/mdec/boot and its permission is 444.
So this copy was failed from second time.
 1.34 20-Dec-2015  christos Use MKREPRO_TIMESTAMP
 1.33 25-Nov-2015  christos PR/50360: Thomas Klausner: if MKREPRO is set, provide a consistent timestamp
for the files in the cdroms to be built. For now we copy the timestamp of
<sys/param.h>. We could set an absolute timestamp too like -T 0 for the epoch.
 1.32 29-May-2015  martin Put a full "init" /dev on the CD, not just "all". The install environment
relies on it currently. (XXX fix that and revert this)
 1.31 27-May-2015  martin Deal with WORKSPECFILE not existing for many cd images
 1.30 27-May-2015  martin Do not default any CD_SETS - let the MD makefiles request them specifically.
 1.29 27-May-2015  martin Pass -U to maketars if we are not building as root.
 1.28 25-May-2015  martin 2nd try: make amd64, i386, sparc64 and vax iso images use full sets.
While there fix an old bug that makefs used the build hosts /etc/group
and passwd information when creating the image.
Thanks to Andreas Gustafsson for extensive testing.
 1.27 19-May-2015  martin Revert previous untill fallout has been fixed.
 1.26 18-May-2015  martin Add a new simple method to put whole sets on CD images (instead of
listing single binaries or patterns) and use those for the existing
ISO images.
 1.25 31-May-2014  martin Add a variable CDMAKEFSEXTRAOPTS to provide additional parameters to the
makefs invocation that do not belong in the image option list (CDMAKEFSOPTIONS)
 1.24 15-Feb-2014  dsl branches: 1.24.2;
If MAKEVERBOSE < 2 remove the -v from pax command lines.
 1.23 16-Jan-2014  christos eliminate use of bsd.sys.mk from Makefiles
 1.22 29-Jan-2013  christos revert previous, it was an unintended side effect. fixed in makefs
 1.21 29-Jan-2013  he The rockridge option of makefs now requires a =1, follow suit.
 1.20 17-Aug-2012  riz branches: 1.20.2;
Install fully-populated .iso images in ${RELEASEDIR}/images instead
of ${RELEASEDIR}/iso, since we'll be putting non-iso images in there too.
 1.19 22-Jan-2012  tsutsui branches: 1.19.2;
Add "live-image" and "install-image" target support to build.sh.

"live-image" target builds pre-installed disk images that can be used on
emulators or boot from USB memory sticks to try NetBSD without installation.
Currently amd64, i386, pmax, sparc, sparc64, sun2, sun3, and vax
(which have working emulators and don't require extra tools like preparing
msdosfs or partitioning MD label structures) support this target.

"install-image" target builds an bootable installation disk image that can
be used as an install CD but burned into USB memory sticks etc.
Current only amd64 and i386 (which would support USB boot) have this target.

For more details (and known issue) see following posts on netbsd-bugs@:
http://mail-index.NetBSD.org/netbsd-bugs/2011/08/06/msg023639.html
http://mail-index.NetBSD.org/netbsd-bugs/2011/09/23/msg024207.html
http://mail-index.NetBSD.org/netbsd-bugs/2011/12/07/msg025166.html
http://mail-index.NetBSD.org/netbsd-bugs/2011/12/08/msg025178.html

No particular comments about implementation, and
"go ahead" comments from mrg@, riz@ and christos@.

Closes PR toolchain/45153 and PR misc/45155.
 1.18 14-Jan-2012  jmcneill PR# install/44593: Please give release ISO's more meaningful names

Change release ISO filenames, what was once 'i386cd.iso' will now look
like 'NetBSD-5.99.60-i386.iso'.

ok snj@
 1.17 25-Sep-2009  christos branches: 1.17.6;
Exit with 1 so that we stay in single user mode when sysinst exits with 'x'.
Otherwise things get messed up (no /dev). From Anon Ymous
 1.16 02-Dec-2008  hubertf Work around another bunch of places where Solaris' /usr/xpg4/bin/sh
can't handle for-loops with no arguments ("for foo in") which result
from empty make-variables.

One step further in getting NetBSD cross-compiling from Solaris 10/x86.

Tested on the netbsd-5 branch.
 1.15 21-Nov-2008  ad - Add CDRUNTIME variable that copies files from ${DESTDIR} onto the CD.
- Add image_md_pre target.
 1.14 23-Jun-2008  matt branches: 1.14.2;
Change remaining instances of ${RELEASEDIR}/${MACHINES} to
${RELEASEDIR}/${RELEASEMACHINEDIR}
 1.13 23-Nov-2007  sborrill branches: 1.13.4; 1.13.8; 1.13.12;
Add support for CDBUILDEXTRA which acts like CDEXTRA to add extra items
to the CD-ROM image.
Make CDEXTRA and CDBUILDEXTRA be able to contain lists of files and directories
which are added in turn.
Add support for CDEXTRA_SKIP which contains a list of fnmatch(3) items to
skip during the copy. This is _very_ useful for skipping CVS dirs for example.
CDBUILDEXTRA and CDEXTRA_SKIP are to be used in Makefiles creating the images,
CDEXTRA remains to be used from build.sh.
Update documentation and build.sh help text to show that -C can be used to
specify a list of files and directories rather than just a single dir.
 1.12 20-Nov-2007  sborrill Fix some typos and note that bootxx_cd9660 can load from a path name longer
than 8 chars.
 1.11 31-Aug-2007  jnemeth add CDEXTRA for specifying a directory of extra stuff to put on a CD
 1.10 30-Aug-2007  jnemeth cd to previous directory after copying files so subsequent copies won't fail
 1.9 11-Apr-2007  christos branches: 1.9.4;
Add CDSOURCE variable to include the source in the CD. From Anon Ymous
Misc cleanups
 1.8 06-Mar-2007  bouyer Improve the use of makefs to build boot CDs, and make it truely MI:
- 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
 1.7 17-Jan-2007  hubertf Add CDRELEASE_NOISOS to allow excluding installation/cdroms from
CDs that have full releases.
 1.6 07-Jan-2007  dsl Use 'installboot -e ...' to modify the boot options on a boot file instead
of trying to install the image into a small file.
 1.5 04-Nov-2006  hubertf branches: 1.5.2;
Use CDROMS_RELEASEDIR consistently
 1.4 01-Nov-2006  hubertf Install CDs need rockridge extensions, else the sets can't be found.
This fixes building of src/distrib/{i386,amd64/cdroms/installcd
(or .../cdroms/bootcd* with CDRELEASE set, which is about the same)
 1.3 29-Oct-2006  jmmv Use TOOL_PAX instead of pax to allow building release CD images (i.e.
CDRELEASE=true) on non-NetBSD systems.
 1.2 02-Aug-2006  oster We need to .WAIT until 'prepare' is done, and then .WAIT until
'copy-releasedir' is done before doing 'image'. Failure to do so
leads to a race condition that may result in build errors on
parallel builds with '-j 4' and '-j 16'.
 1.1 02-Jun-2006  hubertf Add & enable boot-CDs (with ramdisk kernels only, no install sets),
built as part of a regular release. For more information, see
http://mail-index.netbsd.org/tech-install/2006/05/11/0001.html

OK: core@
 1.5.2.3 29-Sep-2007  xtraeme Pull up following revision(s) (requested by jnemeth in ticket #864):
distrib/common/Makefile.bootcd: revision 1.9
distrib/common/Makefile.bootcd: revision 1.10
distrib/common/Makefile.bootcd: revision 1.11
doc/BUILDING.mdoc: revision 1.51
doc/BUILDING.mdoc: revision 1.52
doc/BUILDING.mdoc: revision 1.53
build.sh: revision 1.172
build.sh: revision 1.173
build.sh: revision 1.174
build.sh: revision 1.175
BUILDING: revision 1.64
BUILDING: revision 1.65
BUILDING: revision 1.66
share/man/man7/release.7: revision 1.23
share/man/man7/release.7: revision 1.24
Makefile: revision 1.248

Add an iso-dir=directory option. When combined with iso-image or
iso-image-source, it will cause directory to be added to the CD-ROM image.

Convert build.sh iso-dir=directory option to -C cddir as per jmmv@ on
source-changes.
 1.5.2.2 09-Mar-2007  riz branches: 1.5.2.2.2;
Pull up following revision(s) (requested by bouyer in ticket #494):
sys/arch/i386/conf/GENERIC.MP: revision 1.9
distrib/pc532/cdroms/installcd/Makefile: revision 1.1
distrib/macppc/Makefile: revision 1.15
distrib/ofppc/Makefile: revision 1.2
distrib/ibmnws/Makefile: revision 1.2
distrib/acorn32/Makefile: revision 1.18
distrib/x68k/cdroms/installcd/Makefile: revision 1.1
distrib/sparc/Makefile: revision 1.7
distrib/sparc64/cdroms/Makefile: revision 1.1
distrib/hp300/cdroms/Makefile: revision 1.1
distrib/hpcsh/Makefile: revision 1.6
distrib/ofppc/cdroms/installcd/Makefile: revision 1.1
distrib/playstation2/Makefile: revision 1.13
distrib/news68k/cdroms/installcd/Makefile: revision 1.1
distrib/amiga/cdroms/installcd/Makefile: revision 1.1
distrib/hp700/cdroms/installcd/Makefile: revision 1.1
distrib/playstation2/cdroms/Makefile: revision 1.1
distrib/amiga/cdroms/Makefile: revision 1.1
etc/etc.mac68k/Makefile.inc: revision 1.18
distrib/shark/cdroms/installcd/Makefile: revision 1.1
distrib/hpcmips/Makefile: revision 1.28
distrib/hpcmips/cdroms/Makefile: revision 1.1
distrib/amd64/floppies/Makefile: revision 1.3
sys/arch/amd64/conf/INSTALL_ACPI: file removal
distrib/i386/cdroms/Makefile: revision 1.4
distrib/acorn26/cdroms/installcd/Makefile: revision 1.1
distrib/hpcsh/cdroms/Makefile: revision 1.1
distrib/prep/cdroms/Makefile: revision 1.1
distrib/pc532/Makefile: revision 1.4
distrib/acorn32/cdroms/installcd/Makefile: revision 1.1
distrib/sun2/Makefile: revision 1.8
distrib/vax/Makefile: revision 1.17
distrib/sparc64/cdroms/installcd/Makefile: revision 1.1
distrib/pmax/cdroms/Makefile: revision 1.1
distrib/mipsco/cdroms/installcd/Makefile: revision 1.1
distrib/sun3/cdroms/installcd/Makefile: revision 1.1
distrib/vax/cdroms/installcd/Makefile: revision 1.1
distrib/hpcarm/cdroms/installcd/Makefile: revision 1.1
distrib/mvme68k/Makefile: revision 1.4
distrib/mvmeppc/cdroms/Makefile: revision 1.1
distrib/newsmips/Makefile: revision 1.4
sys/arch/i386/conf/GENERIC.MPACPI: file removal
distrib/hpcarm/cdroms/Makefile: revision 1.1
distrib/evbppc/cdroms/Makefile: revision 1.1
sys/arch/i386/conf/INSTALL_LARGE: revision 1.1
distrib/i386/cdroms/installcd/Makefile: revision 1.2
distrib/i386/cdroms/installcd/Makefile: revision 1.3
doc/CHANGES: revision 1.804
distrib/hpcsh/cdroms/installcd/Makefile: revision 1.1
distrib/i386/cdroms/bootcd/Makefile: revision 1.2
distrib/mvmeppc/cdroms/installcd/Makefile: revision 1.1
distrib/i386/cdroms/bootcd/Makefile: revision 1.3
distrib/evbarm/Makefile: revision 1.8
distrib/mvmeppc/Makefile: revision 1.3
distrib/i386/cdroms/bootcd-com/Makefile: revision 1.2
distrib/i386/cdroms/bootcd-com/Makefile: revision 1.3
distrib/macppc/cdroms/installcd/Makefile: revision 1.1
distrib/acorn26/cdroms/Makefile: revision 1.1
distrib/alpha/cdroms/Makefile: revision 1.1
distrib/hp300/cdroms/installcd/Makefile: revision 1.1
distrib/amd64/floppies/bootfloppy/Makefile: revision 1.4
distrib/pmppc/cdroms/installcd/Makefile: revision 1.1
distrib/hp700/Makefile: revision 1.2
distrib/pmppc/Makefile: revision 1.2
distrib/arc/cdroms/Makefile: revision 1.1
sys/arch/amd64/conf/INSTALL: revision 1.66
distrib/sun3/cdroms/Makefile: revision 1.1
distrib/mipsco/Makefile: revision 1.4
distrib/sun3/Makefile: revision 1.9
distrib/vax/cdroms/Makefile: revision 1.1
distrib/pmppc/cdroms/Makefile: revision 1.1
distrib/amd64/cdroms/Makefile.cdrom: revision 1.1
distrib/atari/cdroms/installcd/Makefile: revision 1.1
distrib/evbppc/cdroms/installcd/Makefile: revision 1.1
distrib/newsmips/cdroms/installcd/Makefile: revision 1.1
distrib/pmax/Makefile: revision 1.4
Makefile: revision 1.247
distrib/cats/cdroms/installcd/Makefile: revision 1.1
sys/arch/amd64/conf/GENERIC: revision 1.130
sys/arch/amd64/conf/GENERIC: revision 1.131
distrib/sgimips/cdroms/installcd/Makefile: revision 1.1
distrib/hp700/cdroms/Makefile: revision 1.1
distrib/cats/cdroms/Makefile: revision 1.1
distrib/evbmips/Makefile: revision 1.3
distrib/evbmips/Makefile: revision 1.4
sys/arch/amd64/conf/GENERIC_ACPI: file removal
distrib/ews4800mips/Makefile: revision 1.2
distrib/amd64/cdroms/bootcd-com/Makefile: revision 1.2
distrib/i386/Makefile: revision 1.5
distrib/amd64/cdroms/installcd/Makefile: revision 1.2
distrib/mvme68k/cdroms/installcd/Makefile: revision 1.1
distrib/alpha/cdroms/installcd/Makefile: revision 1.1
etc/etc.amd64/Makefile.inc: revision 1.7
distrib/i386/instkernel/Makefile: revision 1.6
distrib/x68k/cdroms/Makefile: revision 1.1
distrib/i386/cdroms/Makefile.cdrom: revision 1.1
distrib/sandpoint/Makefile: revision 1.4
distrib/i386/cdroms/Makefile.cdrom: revision 1.2
distrib/amiga/Makefile: revision 1.3
distrib/amd64/cdroms/bootcd/Makefile: revision 1.2
distrib/news68k/Makefile: revision 1.4
distrib/amd64/floppies/bootfloppy-com/Makefile: revision 1.5
distrib/news68k/cdroms/Makefile: revision 1.1
distrib/sparc/cdroms/Makefile: revision 1.1
distrib/shark/cdroms/Makefile: revision 1.1
etc/Makefile: revision 1.341
distrib/amd64/instkernel/Makefile: revision 1.2
distrib/sparc64/Makefile: revision 1.7
distrib/dreamcast/cdroms/Makefile: revision 1.1
distrib/shark/Makefile: revision 1.3
distrib/ews4800mips/cdroms/Makefile: revision 1.1
distrib/sun2/cdroms/installcd/Makefile: revision 1.1
distrib/shark/Makefile: revision 1.4
distrib/macppc/cdroms/Makefile: revision 1.1
distrib/mvme68k/cdroms/Makefile: revision 1.1
distrib/sun2/cdroms/Makefile: revision 1.1
distrib/hpcarm/Makefile: revision 1.3
distrib/arc/cdroms/installcd/Makefile: revision 1.1
distrib/hpcmips/cdroms/installcd/Makefile: revision 1.1
distrib/mipsco/cdroms/Makefile: revision 1.1
distrib/Makefile.inc: revision 1.9
distrib/playstation2/cdroms/installcd/Makefile: revision 1.1
distrib/ibmnws/cdroms/installcd/Makefile: revision 1.1
distrib/newsmips/cdroms/Makefile: revision 1.1
distrib/arc/Makefile: revision 1.3
distrib/sparc/cdroms/installcd/Makefile: revision 1.1
distrib/evbmips/cdroms/installcd/Makefile: revision 1.1
distrib/ews4800mips/cdroms/installcd/Makefile: revision 1.1
distrib/prep/Makefile: revision 1.3
distrib/ibmnws/cdroms/Makefile: revision 1.1
distrib/sandpoint/cdroms/Makefile: revision 1.1
distrib/atari/Makefile: revision 1.6
distrib/sgimips/cdroms/Makefile: revision 1.1
distrib/amd64/Makefile: revision 1.4
distrib/atari/cdroms/Makefile: revision 1.1
distrib/x68k/Makefile: revision 1.5
distrib/x68k/Makefile: revision 1.6
distrib/sandpoint/cdroms/installcd/Makefile: revision 1.1
distrib/evbarm/cdroms/Makefile: revision 1.1
distrib/acorn32/cdroms/Makefile: revision 1.1
distrib/cats/Makefile: revision 1.3
distrib/evbmips/cdroms/Makefile: revision 1.1
distrib/pc532/cdroms/Makefile: revision 1.1
distrib/Makefile: revision 1.14
distrib/evbarm/cdroms/installcd/Makefile: revision 1.1
distrib/ofppc/cdroms/Makefile: revision 1.1
distrib/amd64/cdroms/Makefile: revision 1.3
distrib/common/Makefile.bootcd: revision 1.8
distrib/i386/cdroms/bootcd-laptop/Makefile: file removal
sys/arch/i386/conf/GENERIC: revision 1.813
distrib/hp300/Makefile: revision 1.17
sys/arch/i386/conf/GENERIC: revision 1.814
distrib/evbppc/Makefile: revision 1.2
distrib/pmax/cdroms/installcd/Makefile: revision 1.1
etc/etc.i386/Makefile.inc: revision 1.49
distrib/sgimips/Makefile: revision 1.2
distrib/prep/cdroms/installcd/Makefile: revision 1.1
distrib/acorn26/Makefile: revision 1.4
distrib/dreamcast/cdroms/installcd/Makefile: revision 1.1
distrib/alpha/Makefile: revision 1.22
distrib/dreamcast/Makefile: revision 1.2
Improve the use of makefs to build boot CDs, and make it truely MI:
- 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
For the benefit of modern hardware, enable ACPI by default in INSTALL and
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.
Add an iso_image target (iso-image as a target name doesn't play well with
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.
Use the new common/Makefile.bootcd to make i386 and amd64 bootable ISO
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.
Make iso-image do nothing for all but mac68k, which still
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/
Fix typo in subdir name.
Revert local changes that went in accidentally with the "add ACPI" commit.
Note ACPI by default in i386/amd64, and the iso-image changes.
Fix SUBDIR in previous
Remove duplicate ACPIVERBOSE and ACPI_SCANPCI; pointed out by Nicolas Joly.
Correct typo: the directory is named cdroms, not cdrom.
Use nblaptop and nbnoacpi for the alternative kernel names; as suggected by
Alan Barrett. While there factor out the kernels in Makefile.cdrom.
 1.5.2.1 18-Feb-2007  tron Pull up following revision(s) (requested by hubertf in ticket #430):
distrib/common/Makefile.bootcd: revision 1.7
Add CDRELEASE_NOISOS to allow excluding installation/cdroms from
CDs that have full releases.
 1.5.2.2.2.1 30-Sep-2007  wrstuden Catch up w/ last night's netbsd-4
 1.9.4.2 09-Jan-2008  matt sync with HEAD
 1.9.4.1 06-Nov-2007  matt sync with HEAD
 1.13.12.1 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.13.8.2 05-Oct-2008  mjf Sync with HEAD.
 1.13.8.1 29-Jun-2008  mjf Sync with HEAD.
 1.13.4.2 23-Nov-2007  sborrill Add support for CDBUILDEXTRA which acts like CDEXTRA to add extra items
to the CD-ROM image.
Make CDEXTRA and CDBUILDEXTRA be able to contain lists of files and directories
which are added in turn.
Add support for CDEXTRA_SKIP which contains a list of fnmatch(3) items to
skip during the copy. This is _very_ useful for skipping CVS dirs for example.
CDBUILDEXTRA and CDEXTRA_SKIP are to be used in Makefiles creating the images,
CDEXTRA remains to be used from build.sh.
Update documentation and build.sh help text to show that -C can be used to
specify a list of files and directories rather than just a single dir.
 1.13.4.1 23-Nov-2007  sborrill file Makefile.bootcd was added on branch mjf-devfs on 2007-11-23 16:19:29 +0000
 1.14.2.3 07-Nov-2014  msaitoh Pull up following revision(s) (requested by snj in ticket #1931):
share/man/man7/release.7: revision 1.32
distrib/common/Makefile.bootcd: revision 1.18
distrib/notes/macppc/prep.OPENFIRMWARE: revision 1.15
distrib/notes/sparc/install: revision 1.57
etc/Makefile: revision 1.394
distrib/notes/common/main: revision 1.484
PR# install/44593: Please give release ISO's more meaningful names
Change release ISO filenames, what was once 'i386cd.iso' will now look
like 'NetBSD-5.99.60-i386.iso'.
ok snj@
 1.14.2.2 05-Nov-2014  sborrill Apply patch (requested by snj in ticket 1930):
Install fully-populated .iso images in ${RELEASEDIR}/images instead
of ${RELEASEDIR}/iso
 1.14.2.1 06-Dec-2008  snj branches: 1.14.2.1.6; 1.14.2.1.10;
Pull up following revision(s) (requested by hubertf in ticket #165):
distrib/common/Makefile.bootcd: revision 1.16
Work around another bunch of places where Solaris' /usr/xpg4/bin/sh
can't handle for-loops with no arguments ("for foo in") which result
from empty make-variables.
One step further in getting NetBSD cross-compiling from Solaris 10/x86.
Tested on the netbsd-5 branch.
 1.14.2.1.10.2 07-Nov-2014  msaitoh Pull up following revision(s) (requested by snj in ticket #1931):
share/man/man7/release.7: revision 1.32
distrib/common/Makefile.bootcd: revision 1.18
distrib/notes/macppc/prep.OPENFIRMWARE: revision 1.15
distrib/notes/sparc/install: revision 1.57
etc/Makefile: revision 1.394
distrib/notes/common/main: revision 1.484
PR# install/44593: Please give release ISO's more meaningful names
Change release ISO filenames, what was once 'i386cd.iso' will now look
like 'NetBSD-5.99.60-i386.iso'.
ok snj@
 1.14.2.1.10.1 05-Nov-2014  sborrill Apply patch (requested by snj in ticket 1930):
Install fully-populated .iso images in ${RELEASEDIR}/images instead
of ${RELEASEDIR}/iso
 1.14.2.1.6.2 07-Nov-2014  msaitoh Pull up following revision(s) (requested by snj in ticket #1931):
share/man/man7/release.7: revision 1.32
distrib/common/Makefile.bootcd: revision 1.18
distrib/notes/macppc/prep.OPENFIRMWARE: revision 1.15
distrib/notes/sparc/install: revision 1.57
etc/Makefile: revision 1.394
distrib/notes/common/main: revision 1.484
PR# install/44593: Please give release ISO's more meaningful names
Change release ISO filenames, what was once 'i386cd.iso' will now look
like 'NetBSD-5.99.60-i386.iso'.
ok snj@
 1.14.2.1.6.1 05-Nov-2014  sborrill Apply patch (requested by snj in ticket 1930):
Install fully-populated .iso images in ${RELEASEDIR}/images instead
of ${RELEASEDIR}/iso
 1.17.6.3 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.17.6.2 30-Oct-2012  yamt sync with head
 1.17.6.1 17-Apr-2012  yamt sync with head
 1.19.2.1 17-Aug-2012  martin Pull up following revision(s) (requested by riz in ticket #506):
distrib/amd64/liveimage/emuimage/Makefile: revision 1.2
distrib/amd64/liveimage/usbimage/Makefile: revision 1.2
distrib/sun2/liveimage/emuimage/Makefile: revision 1.2
distrib/amd64/installimage/Makefile: revision 1.2
distrib/sun3/liveimage/emuimage/Makefile: revision 1.2
distrib/pmax/liveimage/emuimage/Makefile: revision 1.2
distrib/vax/liveimage/emuimage/Makefile: revision 1.2
distrib/sparc64/liveimage/emuimage/Makefile: revision 1.2
distrib/common/Makefile.bootcd: revision 1.20
distrib/i386/liveimage/emuimage/Makefile: revision 1.2
distrib/sparc/liveimage/emuimage/Makefile: revision 1.2
distrib/i386/installimage/Makefile: revision 1.2
distrib/i386/liveimage/usbimage/Makefile: revision 1.2
etc/Makefile: revision 1.398
Change the naming scheme of "live" images and usb install images
to incorporate the OS name and version.
XXX should also not hardcode ${BOOTDISK} in the name, but that would
require reordering stuff and more testing than I have time for right now.
Another day.
As discussed on current-users@ back in March, with some adjustments.
Install fully-populated .iso images in ${RELEASEDIR}/images instead
of ${RELEASEDIR}/iso, since we'll be putting non-iso images in there too.
Install live images and install images into ${RELEASEDIR}/images by
default, to keep all the large files (such as ISOs) together.
 1.20.2.1 19-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.24.2.1 10-Aug-2014  tls Rebase.
 1.35.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.35.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.38.4.1 25-Jun-2018  martin Pull up following revision(s) (requested by martin in ticket #904):

distrib/common/Makefile.bootcd: revision 1.40

Do not put debug.tgz and xdebug.tgz onto install CDs (a lot of them
grow out of bounds and for some architectures can not turn into DVDs).
 1.39.2.2 30-Sep-2018  pgoyette Ssync with HEAD
 1.39.2.1 28-Jul-2018  pgoyette Sync with HEAD
 1.40.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.40.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.40.2.1 10-Jun-2019  christos Sync with HEAD
 1.41.2.1 24-Apr-2020  martin Pull up following revision(s) (requested by maya in ticket #849):

distrib/vax/cdroms/installcd/Makefile: revision 1.19
distrib/common/Makefile.bootcd: revision 1.43

Do not populate /dev on CD images by default, instead rely on init
doing the tmpfs / MAKEDEV magic.

On images for machines with serious ram shortage (where the additional
tmpfs hurts, like VAX) override this with CDDEV_POPULATE=true.

Should fix PR port-amd64/54776.
 1.44.6.1 11-May-2024  martin Pull up following revision(s) (requested by nia in ticket #682):

sys/arch/i386/conf/LEGACY: revision 1.3
distrib/common/Makefile.bootcd: revision 1.48
share/mk/bsd.own.mk: revision 1.1373
distrib/i386/cdroms/installcd/Makefile: revision 1.12
distrib/common/bootimage/Makefile.installimage: revision 1.11

remove redundant kernels and floppies from the space-starved i386 ISO

Turn off MKAMDGPUFIRMWARE on i386

It's too big for the i386 install media and not useful on either
pre-2012 hardware or the kinds of embedded systems where i386 still
thrived after 2012.

(The build of the kernel parts of amdgpu on i386 is nevertheless useful
for finding obscure bugs.)

"go for it" riastradh

i386: disable DRMKMS drivers in LEGACY kernel (this is for ISA)
 1.55.2.1 02-Aug-2025  perseant Sync with HEAD
 1.27 11-May-2022  rin Introduce NOIEEE80211 option, by which IEEE 802.11 support is dropped from
ifconfig(8) in crunched binaries. This saves ~9KB for, e.g., m68k.
 1.26 29-Dec-2019  christos 1. Remove all the special handling of variables (-d -p -P -s -S) that
were dealing with DBG (-d) LDSTATIC/NOPIE (-p), and the rest with
disabling/enabling sanitizers.
2. Use emalloc/estrdup for all the allocators instead of only some cases.
3. Add -V varspec which passes variables on the command line (as DBG
and LDSTATIC used to be passed before) instead of appending them
to the on-the-fly Makefile using -v varspec.
4. Change the distrib and rescue Makefiles to use -V instead of the removed
flags.

The motivation of this is to make variable handling consistent, less magical,
and remove the need for changing crunchgen each time we want to add disabling
an option by default.

(as proposed in tech-toolchain)
 1.25 01-Feb-2014  matt branches: 1.25.26;
Pass DBG to crunchgen so it can get into the created mk file.
 1.24 19-Oct-2008  apb branches: 1.24.18; 1.24.24;
Use ${TOOL_AWK} instead of ${AWK} or plain "awk" in make commands.
Pass AWK=${TOOL_AWK:Q} to shell scripts that use awk.
 1.23 10-Nov-2005  dsl branches: 1.23.20;
Stop make wingeing when the crunchgen binary can't be located.
 1.22 07-Nov-2005  dsl We need the absolute path of the crunchgen binary in order to make the
generated makefile depend on the binary.
Needed for USE_TOOLS=no builds
 1.21 05-Sep-2005  dsl Fix breakage from yesterday!
Don't pass crunchgen the name of its own binary as an extra argument.
(make must have silently done this when the extra argument was .PHONY)
 1.20 04-Sep-2005  dsl Make ${CRUNCHBIN}.mk depend on ${TOOL_CRUNCHGEN:[-1]} instead of .PHONY.
Recreating the makefile when the crunchgen program has changed is probably
adequate, and it allows a lot of later optimisations to still apply.
In particular:
- the final link for ramdiskbin
- the create of the embedded filesystem
- the inclusion of the ramdisk into the kernel
- compressing the kernel
Unless something else actually requires one of the above.
 1.19 10-Feb-2005  jmc Make the crunchgen generated makefile regen on each run
 1.18 19-Jan-2005  lukem Use
${MAKE} ${CRUNCHENV} ...
instead of
${CRUNCHENV} ${MAKE} ...
so that CRUNCHENV overrides any user-provided command-line make(1) variables.

This fixes /rescue build problems for people who pass settings such
as MKKERBEROS=yes in via the make(1) command-line.
 1.17 18-Jan-2005  lukem Only support SMALLPROG_INET6 if ${USE_INET6} != "no".
Part of PR 28994.
 1.16 10-Jul-2003  lukem Rename a large chunk of the make(1) variables which refer to a
program/tool from "FOO" to "TOOL_FOO". The new variables are:
TOOL_ASN1_COMPILE TOOL_CAP_MKDB TOOL_CAT TOOL_CKSUM TOOL_COMPILE_ET
TOOL_CONFIG TOOL_CRUNCHGEN TOOL_CTAGS TOOL_DB TOOL_EQN TOOL_FGEN
TOOL_GENCAT TOOL_GROFF TOOL_HEXDUMP TOOL_INDXBIB TOOL_INSTALLBOOT
TOOL_INSTALL_INFO TOOL_M4 TOOL_MAKEFS TOOL_MAKEINFO TOOL_MAKEWHATIS
TOOL_MDSETIMAGE TOOL_MENUC TOOL_MKCSMAPPER TOOL_MKESDB
TOOL_MKLOCALE TOOL_MKMAGIC TOOL_MKTEMP TOOL_MSGC TOOL_MTREE
TOOL_PAX TOOL_PIC TOOL_PREPMKBOOTIMAGE TOOL_PWD_MKDB TOOL_REFER
TOOL_ROFF_ASCII TOOL_ROFF_DVI TOOL_ROFF_HTML TOOL_ROFF_PS
TOOL_ROFF_RAW TOOL_RPCGEN TOOL_SOELIM TOOL_SUNLABEL TOOL_TBL
TOOL_UUDECODE TOOL_VGRIND TOOL_ZIC

For each, provide default in <bsd.sys.mk> of the form:
TOOL_FOO?= foo
and for the ${USETOOLS}=="yes" case in <bsd.own.mk>, provide override:
TOOL_FOO= ${TOOLDIR}/bin/${_TOOL_PREFIX}foo

Document all of these in bsd.README.

This cleans up a chunk of potential (and actual) namespace collision
within our build infrastructure, as well as improves consistency in
the share/mk documentation and provision of appropriate defaults for
each of these variables.
 1.15 18-May-2003  lukem Don't force "make -j 1" any more, since David Laight appears to have
fixed the parallel-make issues in crunchgen generated Makefiles.
 1.14 15-May-2003  dsl Avoid building the xxx.mk file (etc) multiple times in a parralel build.
Change name of target build from xxx.mk from 'all' to xxx.crunched to avoid
picking up baggage from bsd.own.mk and bsd.prog.mk.
Fixes toolchain/21563 (with new crunchgen binary)
 1.13 09-May-2003  dsl Force ramdiskbin.mk to be run to update the crunched binary.
Explicitly check times on built targets so to stop make rebuilding
the later targets.
nbmake in src/distrib/i386/floppies/ramdisk-big (etc) will now
pick up changes to source files that make the crunched binary.
 1.12 11-Mar-2003  lukem add multiple-include protection.
clean up some comments.
 1.11 17-Oct-2002  lukem Rework how SMALLPROG was being used and how INET6 support was enabled.
There's two variables added to Makefile.crunch:

SMALLPROG If 1, add SMALLPROG=1 to CRUNCHENV. [default: 1]
This can be used by various Makefiles to
determine if a `small' version of the program
is required.

SMALLPROG_INET6 If 1 and SMALLPROG == 1, add SMALLPROG_INET6=1
to CRUNCHENV. [default: 0]
This can be used by various Makefiles to
determine if the `small' version has INET6
support enabled.

Only enable SMALLPROG_INET6 for programs on the ramdisks that have INET6 in
the appropriate kernel, and cleanup INET6 setting.
(Note: this means that sysinst won't get INET6 support if the kernel
it's running on doesn't have it).

This change saves a fair bit of space on various install images
(including i386 ramdisk-{ps2,small,tiny}) that didn't have INET6 in
the kernel but were unconditionally getting INET6 support in their tools.
 1.10 29-May-2002  lukem - build crunchgen(1)-created Makefiles with -j 1, as they're not
parallel build safe at this time.
- invoke crunchgen with -q, as the verbose output looks ugly with "make -j N"
and in build logs.
 1.9 02-May-2002  lukem branches: 1.9.2;
support optional CRUNCHENV - environment variables to pass to
crunchgen(1) and the make -f ${CRUNCHBIN}.mk.
defaults to SMALLPROG=1
 1.8 26-Apr-2002  lukem replace _SRC_TOP_ with NETBSDSRCDIR, since the latter is the "public" version
 1.7 12-Apr-2002  lukem move default PARSELISTENV and related goop into separate Makefile.parselist,
and add DISTRIBDIR to PARSELISTENV.
 1.6 02-Apr-2002  lukem Add support for optional ${CRUNCHGEN_FLAGS}.
Per discussion with Izumi Tsutsui <tsutsui@ceres.dti.ne.jp>
 1.5 17-Mar-2002  lukem add missing backslash. noted by Havard Eidnes
 1.4 14-Mar-2002  lukem parselist.awk
- improve comments
- provide a general purpose variable replacement; replace contents of ${FOO}
with ENVIRON["FOO"].
- deprecate @MACHINE@ and @MACHINE_ARCH@ in favour of using ${MACHINE}
and ${MACHINE_ARCH} instead
- add errx() function; like err(), but doesn't print the line number
- invoke this script with various variables defined via PARSELISTENV

*/Makefile*
- use PARSELISTENV instead of POPULATEENV, and add variables like DESTDIR
- other minor tweaks

*/list*
- replace @MACHINE@ with ${MACHINE}
 1.3 07-Feb-2002  lukem - improve error checking
- add support for passing variables to parselist.awk that are used to replace
text in each line of the lists. currently supported strings:
text variable
---- --------
@MACHINE_ARCH@ MACHINE_ARCH
@MACHINE@ MACHINE
 1.2 05-Feb-2002  lukem use CLEANFILES to remove cruft
 1.1 03-Feb-2002  lukem distrib/common - shared files for building distribution media, initially
comprising of:

Makefile.crunch
build a crunchgen(1)ed binary from the provided lists

Makefile.image
build a tree from the provided lists, and
build an ffs file system image from that tree using makefs(8),
without requiring root privileges

parselist.awk
parse list files generating different output:
crunchgen config
mtree specfile
sh commands to populate a tree
 1.9.2.1 29-May-2002  lukem Pull up revision 1.10 (requested by lukem):
- build crunchgen(1)-created Makefiles with -j 1, as they're not
parallel build safe at this time.
- invoke crunchgen with -q, as the verbose output looks ugly with "make -j N"
and in build logs.
 1.23.20.1 05-Oct-2008  mjf Sync with HEAD.
 1.24.24.1 19-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.24.18.1 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.25.26.1 08-Apr-2020  martin Merge changes from current as of 20200406
 1.2 12-Sep-2014  roy Use the 20-resolv.conf hook from dhcpcd rather than the minimal one.
Extract configured information from resolv.conf and hostname instead
of scraping the last dhcpcd script run.
This will allow the use of DHCPv6 and IPv6RA DNS details in the future.
 1.1 07-Apr-2009  joerg branches: 1.1.2; 1.1.28;
Change ramdisks from dhclient to dhcpcd and add corresponding glue to
sysinst. For amd64, the crunchgen binary shrinks by 150KB uncompresssed,
60KB compressed.
 1.1.28.1 14-May-2015  snj Pull up following revision(s) (requested by martin in ticket #759):
distrib/amd64/cdroms/Makefile.cdrom: revision 1.12
distrib/amd64/installimage/Makefile: revision 1.5
distrib/amd64/installimage/spec.inst: revision 1.2
distrib/common/10-resolv.conf: file removal
distrib/common/99-print-sysinst: file removal
distrib/common/Makefile.dhcpcd: revision 1.2
distrib/common/list.dhcpcd: revision 1.3
distrib/i386/cdroms/Makefile.cdrom: revision 1.32
distrib/i386/installimage/Makefile: revision 1.5
distrib/i386/installimage/spec.inst: revision 1.2
distrib/sparc64/cdroms/installcd/Makefile: revision 1.20
distrib/vax/cdroms/installcd/Makefile: revision 1.10
usr.sbin/sysinst/msg.mi.de: revision 1.4
usr.sbin/sysinst/msg.mi.en: revision 1.4
usr.sbin/sysinst/msg.mi.es: revision 1.4
usr.sbin/sysinst/msg.mi.fr: revision 1.4
usr.sbin/sysinst/msg.mi.pl: revision 1.4
usr.sbin/sysinst/net.c: revisions 1.5-1.8, 1.11-1.15
The dhcpcd utilties in pkgsrc require dhcpcd to be running in master mode.
So set dhcpcd to start like so, but restrict it to the configured interface
still instead of ifconfig_foo=dhcp.
--
Use the 20-resolv.conf hook from dhcpcd rather than the minimal one.
Extract configured information from resolv.conf and hostname instead
of scraping the last dhcpcd script run.
This will allow the use of DHCPv6 and IPv6RA DNS details in the future.
--
dhcpcd will already have configured the system at this point, so
don't bother writing it manually.
--
Don't prompt for hostname or domain if obtained from DHCP.
--
Change the display order so it's protocol agnostic at the top,
then IPv4 then IPv6.
--
Strip newline from the gateway correctly.
--
Show the IP6 address instead of yes
--
Fix a bogus gcc warning: dhcp_config may be used uninitialized
--
Punt custom dhcpcd hooks in favour up upstream hooks
--
For the benefit of gcc 4.5, rename a local "nl" variable to "nline",
so it doesn't collide with the global curses nl() function.
 1.1.2.2 13-May-2009  jym Sync with HEAD.

Third (and last) commit. See http://mail-index.netbsd.org/source-changes/2009/05/13/msg221222.html
 1.1.2.1 07-Apr-2009  jym file Makefile.dhcpcd was added on branch jym-xensuspend on 2009-05-13 19:17:41 +0000
 1.12 29-May-2016  christos Don't build PIE binaries for install media
 1.11 22-Jan-2014  christos don't include bsd.files.mk here, it is intended as a fragment
 1.10 16-Jan-2014  christos eliminate use of bsd.sys.mk from Makefiles
 1.9 17-Feb-2012  riz branches: 1.9.2;
Use a new variable, MODULEVER, for kernel modules, tracking what's been
done elsewhere.
 1.8 07-Feb-2010  snj branches: 1.8.6; 1.8.8;
Update version number examples for the post-2.0I world.
 1.7 27-Jun-2006  christos branches: 1.7.20;
PR/33837: Bucky Katz: crossbuild of release fails because $MAKE not passed
 1.6 02-Feb-2004  he Add a list of files which determine the kernel version as
DISTRIBVERDEP in Makefile.distrib, and make both sysinst and
distribution notes use that information so that they rebuild
if the kernel version changes.

Distribution notes didn't have this before, sysinst had a private
(now outdated, since sys/sys/param.h now determines version) copy
of this.
 1.5 10-Jul-2003  lukem Rename a large chunk of the make(1) variables which refer to a
program/tool from "FOO" to "TOOL_FOO". The new variables are:
TOOL_ASN1_COMPILE TOOL_CAP_MKDB TOOL_CAT TOOL_CKSUM TOOL_COMPILE_ET
TOOL_CONFIG TOOL_CRUNCHGEN TOOL_CTAGS TOOL_DB TOOL_EQN TOOL_FGEN
TOOL_GENCAT TOOL_GROFF TOOL_HEXDUMP TOOL_INDXBIB TOOL_INSTALLBOOT
TOOL_INSTALL_INFO TOOL_M4 TOOL_MAKEFS TOOL_MAKEINFO TOOL_MAKEWHATIS
TOOL_MDSETIMAGE TOOL_MENUC TOOL_MKCSMAPPER TOOL_MKESDB
TOOL_MKLOCALE TOOL_MKMAGIC TOOL_MKTEMP TOOL_MSGC TOOL_MTREE
TOOL_PAX TOOL_PIC TOOL_PREPMKBOOTIMAGE TOOL_PWD_MKDB TOOL_REFER
TOOL_ROFF_ASCII TOOL_ROFF_DVI TOOL_ROFF_HTML TOOL_ROFF_PS
TOOL_ROFF_RAW TOOL_RPCGEN TOOL_SOELIM TOOL_SUNLABEL TOOL_TBL
TOOL_UUDECODE TOOL_VGRIND TOOL_ZIC

For each, provide default in <bsd.sys.mk> of the form:
TOOL_FOO?= foo
and for the ${USETOOLS}=="yes" case in <bsd.own.mk>, provide override:
TOOL_FOO= ${TOOLDIR}/bin/${_TOOL_PREFIX}foo

Document all of these in bsd.README.

This cleans up a chunk of potential (and actual) namespace collision
within our build infrastructure, as well as improves consistency in
the share/mk documentation and provision of appropriate defaults for
each of these variables.
 1.4 09-May-2003  lukem pull in <bsd.sys.mk> for HOST_SH
 1.3 08-May-2003  christos use ${HOST_SH}
 1.2 11-Mar-2003  lukem add multiple-include protection.
clean up some comments.
 1.1 02-May-2002  lukem yet another distrib overhaul:
- move guts of distrib/Makefile.inc to distrib/common/Makefile.distrib
(fixes problem caused by implicit include of ../Makefile.inc in certain
submake conditions triggered by makefiles not yet in tree)
- removed mkdir of ${RELEASEDIR}/*; rely upon "snap_pre" target of
etc/Makefile to create all the release directories
- renamed RELINSTALL to RELEASE_INSTALL
- renamed FLOPPYINSTDIR to FLOPPY_RELEASEDIR
- renamed MDSETDIR to MDSET_RELEASEDIR
- removed ITARGET
- move release target from top level to appropriate subdirectory
- ensure release target has correct depends
- replace miniroot's IMAGE_MD_POST with common/Makefile.image IMAGEPOSTBUILD
- Makefile.image: add realall: ${IMAGE}
 1.7.20.1 05-Oct-2008  mjf Sync with HEAD.
 1.8.8.1 17-Feb-2012  riz Pull up following revision(s) (requested by martin in ticket #6):
distrib/common/Makefile.distrib: revision 1.9
distrib/i386/kmod/Makefile: revision 1.11
distrib/amd64/kmod/Makefile: revision 1.2
Use a new variable, MODULEVER, for kernel modules, tracking what's been
done elsewhere.
 1.8.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.8.6.1 17-Apr-2012  yamt sync with head
 1.9.2.1 19-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.44 17-May-2024  christos use IMAGESPECEXTRA to include libdata and don't include IMAGERUNTIME
 1.43 17-May-2024  christos Add IMAGERUNTIME and IMAGESPECEXTRA variables
 1.42 16-May-2024  christos Apply the -xx treatment to the rest of the ffs makefs invocations.
 1.41 20-Mar-2024  christos Fix reproducible builds (Jan-Benedict Glaw)
 1.40 11-Feb-2017  christos more MKREPRO_TIMESTAMP fixes (for pax/tar generated files)
 1.39 20-Dec-2015  christos branches: 1.39.2; 1.39.4;
Add MKREPRO_TIMESTAMP support to the makefs invocation.
 1.38 12-Aug-2014  martin Add a IMAGEPREBUILD option for makefiles to ovveride (e.g. to additionally
add files to the staging directory)
 1.37 06-Aug-2014  apb To make pax use ${TOOL_GZIP}, we need to pass "--use-compress-program
${TOOL_GZIP}" on the command line, and refrain from passing "-z". If
passed "-z", pax will use plain "gzip", ignoring --use-compress-program.
 1.36 06-Aug-2014  apb Introduce and use GZIP_FLAGS variable.

The previous use of GZIP="-9 ${GZIP_N_FLAG}" happened to work, but
the new use of GZIP=${GZIP_FLAGS:Q} is safer.

For consistency, also use GZIP_FLAGS elesehere in this file.
 1.35 05-Aug-2014  apb Pass GZIP="-9 ${GZIP_N_FLAG}" instead of GZIP=-9n
in the environmentto commands that invoke ${TOOL_GZIP}.
This will allow them to use -nT instead of just -n with pigz.
 1.34 05-Aug-2014  apb Use ${TOOL_GZIP_N} instead of ${TOOL_GZIP} -n, and similarly
use ${TOOL_GZIP_N} -9 instead of ${TOOL_GZIP} -9n, etc.

This will pass -nT instead of just -n if the gzip program is
actually pigz.
 1.33 27-Jan-2014  apb branches: 1.33.2;
Use ${TOOL_GZIP} instead of just gzip in all Makefiles
outside */dist/* subdirectories.

When USE_PIGZGZIP=yes, bsd.own.mk sets TOOL_GZIP=${TOOL_PIGZ},
so there's no need to test USE_PIGZGZIP in these Makefiles.
 1.32 24-May-2013  christos Add IMGMAKEFSOPTIONS like in the bootimage Makefile
 1.31 03-Apr-2009  perry branches: 1.31.6; 1.31.12;
Consistently use gzip with the -n flag so dates are not embedded.

Not tested on all platforms.
 1.30 23-Jun-2008  matt branches: 1.30.4;
Change remaining instances of ${RELEASEDIR}/${MACHINES} to
${RELEASEDIR}/${RELEASEMACHINEDIR}
 1.29 27-Jun-2005  dbj branches: 1.29.20; 1.29.24;
add "fsimage" phony target to rebuild image.
delete the ${WORKBUILT} tag on cleanfsimage so it
will get properly rebuilt
 1.28 04-May-2004  lukem MAKEVERBOSE support
 1.27 26-Oct-2003  lukem Use ${HOST_SH} instead of `sh'.

If necessary, pull in <bsd.sys.mk> to get the definition of HOST_SH;
Makefiles that pull in one of (most of) <bsd.*.mk> will get this anyway.
 1.26 03-Oct-2003  lukem Allow ${CRUNCHBIN} to be optional by defaulting to "." when doing the
"${.OODATE}" check.
Problem noticed in a build that uses Makefile.image but not Makefile.crunch.
 1.25 10-Jul-2003  lukem Rename a large chunk of the make(1) variables which refer to a
program/tool from "FOO" to "TOOL_FOO". The new variables are:
TOOL_ASN1_COMPILE TOOL_CAP_MKDB TOOL_CAT TOOL_CKSUM TOOL_COMPILE_ET
TOOL_CONFIG TOOL_CRUNCHGEN TOOL_CTAGS TOOL_DB TOOL_EQN TOOL_FGEN
TOOL_GENCAT TOOL_GROFF TOOL_HEXDUMP TOOL_INDXBIB TOOL_INSTALLBOOT
TOOL_INSTALL_INFO TOOL_M4 TOOL_MAKEFS TOOL_MAKEINFO TOOL_MAKEWHATIS
TOOL_MDSETIMAGE TOOL_MENUC TOOL_MKCSMAPPER TOOL_MKESDB
TOOL_MKLOCALE TOOL_MKMAGIC TOOL_MKTEMP TOOL_MSGC TOOL_MTREE
TOOL_PAX TOOL_PIC TOOL_PREPMKBOOTIMAGE TOOL_PWD_MKDB TOOL_REFER
TOOL_ROFF_ASCII TOOL_ROFF_DVI TOOL_ROFF_HTML TOOL_ROFF_PS
TOOL_ROFF_RAW TOOL_RPCGEN TOOL_SOELIM TOOL_SUNLABEL TOOL_TBL
TOOL_UUDECODE TOOL_VGRIND TOOL_ZIC

For each, provide default in <bsd.sys.mk> of the form:
TOOL_FOO?= foo
and for the ${USETOOLS}=="yes" case in <bsd.own.mk>, provide override:
TOOL_FOO= ${TOOLDIR}/bin/${_TOOL_PREFIX}foo

Document all of these in bsd.README.

This cleans up a chunk of potential (and actual) namespace collision
within our build infrastructure, as well as improves consistency in
the share/mk documentation and provision of appropriate defaults for
each of these variables.
 1.24 09-May-2003  dsl Force ramdiskbin.mk to be run to update the crunched binary.
Explicitly check times on built targets so to stop make rebuilding
the later targets.
nbmake in src/distrib/i386/floppies/ramdisk-big (etc) will now
pick up changes to source files that make the crunched binary.
 1.23 02-Apr-2003  fvdl Add support for UFS2. UFS2 is an enhanced FFS, adding support for
64 bit block pointers, extended attribute storage, and a few
other things.

This commit does not yet include the code to manipulate the extended
storage (for e.g. ACLs), this will be done later.

Originally written by Kirk McKusick and Network Associates Laboratories for
FreeBSD.
 1.22 25-Mar-2003  lukem Add MAKE to PARSELISTENV, and specifically set MAKE=${MAKE} in
list.sysinst.
(Better fix to previous, but thanks to Warner for committing a
fix which then prodded me to improve it :)
 1.21 25-Mar-2003  imp Fix cross building case where the host is not a NetBSD host. We need
to set MAKE for the subshell that's used to populate the work tree.
It needs to be the the correct make (in the cross build case: nbmake +
args) so that when makeobsolete is run it can pickup this value.
Otherwise makeobsolete defaults to the host's make is used which might
not understand some of NetBSD make's constructs.

This fixes, mostly, the build of NetBSD/hpcmips on a FreeBSD-current
system.
 1.20 11-Mar-2003  lukem add multiple-include protection.
clean up some comments.
 1.19 03-Jan-2003  lukem Install release files under "${RELEASEDIR}/${MACHINE}/..." instead of
"${RELEASEDIR}/...".

${RELEASEDIR} is never cleaned , and ${RELEASEDIR}/${MACHINE} is only
cleaned if UPDATE is not defined.
 1.18 21-Dec-2002  lukem Invoke ${PAX} with '-O' so that various errors don't hang the make
or the command with an interactive question. (This also prevents
weird problems if a directory element of '-f path' is missing and
'make -j N' is being used).
 1.17 09-May-2002  lukem only provide targets for ${WORKSPEC} and ${WORKBUILT} if non are provided.
this allows custom specfiles to be generated or custom WORKDIRS to be used,
whilst still allowing use of IMAGE or IMAGETAR rules.
 1.16 07-May-2002  lukem keep ${IMAGE} around even after building (optional) ${IMAGE}.gz
 1.15 07-May-2002  lukem Use release:: instead of release: when multiple release targets may exist
 1.14 07-May-2002  lukem install correct item with IMAGETAR_RELEASEDIR release target
 1.13 03-May-2002  lukem revert previous; all includers of Makefile.image should set MTREECONF
 1.12 02-May-2002  bjh21 When doing a shell "for" loop over a potentially-empty list, assign the list
to a shell variable and iterate over that. This is necessary for some POSIX
shells.
 1.11 02-May-2002  lukem yet another distrib overhaul:
- move guts of distrib/Makefile.inc to distrib/common/Makefile.distrib
(fixes problem caused by implicit include of ../Makefile.inc in certain
submake conditions triggered by makefiles not yet in tree)
- removed mkdir of ${RELEASEDIR}/*; rely upon "snap_pre" target of
etc/Makefile to create all the release directories
- renamed RELINSTALL to RELEASE_INSTALL
- renamed FLOPPYINSTDIR to FLOPPY_RELEASEDIR
- renamed MDSETDIR to MDSET_RELEASEDIR
- removed ITARGET
- move release target from top level to appropriate subdirectory
- ensure release target has correct depends
- replace miniroot's IMAGE_MD_POST with common/Makefile.image IMAGEPOSTBUILD
- Makefile.image: add realall: ${IMAGE}
 1.10 02-May-2002  lukem allow IMAGE to be optional (and don't create rule for ${IMAGE}: if
it's not defined)
 1.9 26-Apr-2002  lukem replace _SRC_TOP_ with NETBSDSRCDIR, since the latter is the "public" version
 1.8 12-Apr-2002  lukem support optional IMAGETAR; if defined, build a tar.gz file named {IMAGETAR}
which contains the same contents as ${IMAGE}.
 1.7 12-Apr-2002  lukem move default PARSELISTENV and related goop into separate Makefile.parselist,
and add DISTRIBDIR to PARSELISTENV.
 1.6 14-Mar-2002  lukem parselist.awk
- improve comments
- provide a general purpose variable replacement; replace contents of ${FOO}
with ENVIRON["FOO"].
- deprecate @MACHINE@ and @MACHINE_ARCH@ in favour of using ${MACHINE}
and ${MACHINE_ARCH} instead
- add errx() function; like err(), but doesn't print the line number
- invoke this script with various variables defined via PARSELISTENV

*/Makefile*
- use PARSELISTENV instead of POPULATEENV, and add variables like DESTDIR
- other minor tweaks

*/list*
- replace @MACHINE@ with ${MACHINE}
 1.5 14-Mar-2002  lukem cosmetic tweaks: sort some variable lists, improve descriptions, [...]
 1.4 08-Feb-2002  lukem - cleanup image device creation: add Makefile.makedev & list.makedev,
remove dist/*, now that they're not needed.
if MAKEDEVTARGETS is set, use MAKEDEV.wrapper and makedev2spec.awk to
create an mtree specfile containing the devices that would be made with
"etc/etc.${MACHINE}/MAKEDEV $MAKEDEVTARGETS".
otherwise, copy etc/etc.${MACHINE}/MAKEDEV to dev/MAKEDEV (via list.makedev)
- add mtree.common; contains directories used by all images, and optional
entries for dist/*
 1.3 07-Feb-2002  lukem - improve error checking
- add support for passing variables to parselist.awk that are used to replace
text in each line of the lists. currently supported strings:
text variable
---- --------
@MACHINE_ARCH@ MACHINE_ARCH
@MACHINE@ MACHINE
 1.2 05-Feb-2002  lukem - allow ${MTREECONF} to contain multiple files, and build ${WORKSPEC} up by
catting these together with "/unset all" between each file.
- when populating the tree (${WORKBUILT} rule), depend upon ${WORKSPEC}
rather than ${MTREECONF}
- support ${MAKEFS_FLAGS} as optional flags for ${MAKEFS}
- use CLEANFILES to remove files
 1.1 03-Feb-2002  lukem distrib/common - shared files for building distribution media, initially
comprising of:

Makefile.crunch
build a crunchgen(1)ed binary from the provided lists

Makefile.image
build a tree from the provided lists, and
build an ffs file system image from that tree using makefs(8),
without requiring root privileges

parselist.awk
parse list files generating different output:
crunchgen config
mtree specfile
sh commands to populate a tree
 1.29.24.1 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.29.20.2 05-Oct-2008  mjf Sync with HEAD.
 1.29.20.1 29-Jun-2008  mjf Sync with HEAD.
 1.30.4.1 13-May-2009  jym Sync with HEAD.

Third (and last) commit. See http://mail-index.netbsd.org/source-changes/2009/05/13/msg221222.html
 1.31.12.2 19-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.31.12.1 23-Jun-2013  tls resync from head
 1.31.6.1 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.33.2.1 10-Aug-2014  tls Rebase.
 1.39.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.39.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.19 10-Aug-2014  matt Changes to existing files to enable building AARCH64 userland.
evbarm64-el
This is clang only. While gcc4.8 supports aarch64, no netbsd support has
been written for aarch64 with gcc4.8.
 1.18 10-Aug-2012  matt branches: 1.18.2;
Add a dependency on etc.${MACHINE}/MAKEDEV.conf
 1.17 20-Jul-2012  matt Add a dependency for Makefile so that when you add device to the Makefile
it will automatically regenerate the device mtree file and cause the ramdisk
to be updated.
 1.16 18-Feb-2012  njoly Tweak MAKEDEVSPEC target to properly report MAKEDEV failures:
- No need to ignore `rm -f' failures which should not happen.
- Do not pipe MAKEDEV output, but use a temp file.
 1.15 25-Oct-2008  apb branches: 1.15.18;
Use ${TOOL_SED} instead if plain sed in Makefiles.
 1.14 03-May-2008  tsutsui Fix tyop.
 1.13 03-Mar-2007  apb branches: 1.13.12; 1.13.14;
MAKEDEV.subr no longer exists. Don't install it in any ramdisk
or miniroot images.
 1.12 01-Mar-2007  apb Invent MAKEDEVSUBR and add it to IMAGEDEPENDS and PARSELISTENV if
appropriate. Previously, IMAGEDEPENDS did not include MAKEDEV.subr.
 1.11 04-May-2004  lukem Remove "./dev type=dir" entry from generated devices.spec, as it
causes the ownership of ${.OBJDIR}/work/dev to be used in the image
instead of that from the earlier entry in work.spec.
 1.10 04-May-2004  lukem MAKEVERBOSE support
 1.9 01-Jan-2004  lukem When using "MAKEDEV -s" to generate a specfile, rewrite the paths from
"./" -> "./dev/". Noted by Tetsuya Isaki <isaki@NetBSD.org> in private mail.
 1.8 21-Dec-2003  lukem Rework MAKEDEV:

* Use "mknod -F netbsd -r" to create nodes, instead of
"rm ; mknod; chmod; chown".
This means permissions & ownership of existing nodes will
not be changed.
This is up to 30% faster when populating an empty /dev,
and nearly 2x faster when re-running on an existing /dev.

* New options:
-f force change of permission & ownership of existing
devices
-m mknod override name/path of mknod program
(which defaults to $TOOL_MKNOD, then "mknod").
-s generate mtree(8) specfile instead of creating devices

* Remove /usr/etc from $PATH; not needed anymore.

* Provide functions to create devices & directories:
mkdev name [b|c] major minor [mode{=600} [gid{=0} [uid{=0}]]]
create device node `name' with the appropriate permissions
lndev src target
create a symlink from src to target
makedir dir mode
create directory with appropriate mode

* UIDs and GIDs are hardcoded in at MAKEDEV generation time.
(Unfortunately there's not a simple way of determining a GID
a la "id -n user" for determining a UID).

This was tested by generating MAKEDEV for each MACHINE,MACHINE_ARCH
combination and comparing the results of "MAKEDEV all" from the
previous version to the new one.
(This testing actually highlighted mistakes in the previous configuration!)


Simplify distrib/common/Makefile.makedev to use "MAKEDEV -s"
 1.7 25-Oct-2003  lukem Update for MAKEDEV.tmpl changes; use <.OBJDIR-of-etc>/MAKEDEV
instead of etc/etc.${MACHINE}/MAKEDEV
 1.6 08-May-2003  christos use ${HOST_SH}
 1.5 11-Mar-2003  lukem add multiple-include protection.
clean up some comments.
 1.4 10-Mar-2003  lukem a minor heads-up. (if i got bit by this, someone else might)
 1.3 01-Jun-2002  lukem correct a comment
 1.2 26-Apr-2002  lukem branches: 1.2.2;
replace _SRC_TOP_ with NETBSDSRCDIR, since the latter is the "public" version
 1.1 08-Feb-2002  lukem - cleanup image device creation: add Makefile.makedev & list.makedev,
remove dist/*, now that they're not needed.
if MAKEDEVTARGETS is set, use MAKEDEV.wrapper and makedev2spec.awk to
create an mtree specfile containing the devices that would be made with
"etc/etc.${MACHINE}/MAKEDEV $MAKEDEVTARGETS".
otherwise, copy etc/etc.${MACHINE}/MAKEDEV to dev/MAKEDEV (via list.makedev)
- add mtree.common; contains directories used by all images, and optional
entries for dist/*
 1.2.2.1 02-Jun-2002  tv Pull up revision 1.3 (requested by lukem in ticket #126):
correct a comment
 1.13.14.1 18-May-2008  yamt sync with head.
 1.13.12.2 05-Oct-2008  mjf Sync with HEAD.
 1.13.12.1 02-Jun-2008  mjf Sync with HEAD.
 1.15.18.2 30-Oct-2012  yamt sync with head
 1.15.18.1 17-Apr-2012  yamt sync with head
 1.18.2.1 19-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.47 23-Apr-2024  christos `nm`: Generate a stable symbol table (Jan-Benedict Glaw)

Release artifacts may contain symbol lists. Binutils's `nm` sorts them by
symbol name, locale based. Inserting a plain `sort` (with `LC_ALL=C`) here
sorts them by address, and (with several symbols pointing to the same address)
sorting by name is also stable (think of embedded '_'.)
 1.46 12-Aug-2019  martin Allow individual MDSETTARGETS/MDSET_SUFFIXES to define optional dependencies
between themselves.
Use that to make netbsd-RPI_INSTALL.img depend on netbsd-RPI_INSTALL.bin,
resolving the parallel build race.
 1.45 11-Aug-2019  martin Back out previous, it causes build fallout like:
release ===> etc/dreamcast/cdroms/installcd
shle--netbsdelf-install: .WAIT: stat: No such file or directory
 1.44 11-Aug-2019  martin Various suffixes for the same kernel image may depend on each
other, so .WAIT after creating one before moving on to the next.
Case at hand: evbarm/installation/instkernel:
netbsd-RPI_INSTALL.bin needs to be complete before netbsd-RPI_INSTALL.img
can be created.
Better solutions welcome...
 1.43 06-Feb-2019  mrg branches: 1.43.2;
- clean the .tmp kernel targets as well
 1.42 16-Jan-2018  maya branches: 1.42.4;
Make MDSET_NOGZIP behave as documented also if MDSET_SUFFIX is set

MDSET_NOGZIP is documented as intended to apply for all kernels, even if
MDSET_NOGZIP.filename is not set.

From Harold Gutch in PR toolchain/52836
 1.41 20-Sep-2016  christos Add the ability to specify more sections to strip.
 1.40 05-Aug-2014  apb branches: 1.40.6;
Use ${TOOL_GZIP_N} instead of ${TOOL_GZIP} -n, and similarly
use ${TOOL_GZIP_N} -9 instead of ${TOOL_GZIP} -9n, etc.

This will pass -nT instead of just -n if the gzip program is
actually pigz.
 1.39 27-Jan-2014  apb branches: 1.39.2;
Use ${TOOL_GZIP} instead of just gzip in all Makefiles
outside */dist/* subdirectories.

When USE_PIGZGZIP=yes, bsd.own.mk sets TOOL_GZIP=${TOOL_PIGZ},
so there's no need to test USE_PIGZGZIP in these Makefiles.
 1.38 15-Aug-2013  joerg Save space and strip .eh_frame sections for the ramdisks as well.
 1.37 30-Jan-2013  he Fix the ALL_KERNELS default value assignment, so that the double
quotes don't become a part of the value, causing all the targets
to be skipped by default.
 1.36 13-Jan-2013  mlelstv build.sh lets you build releases with a limited set of kernels by
using the ALL_KERNELS environment variable to override the arch default.

Fix this mechanism for evbarm by limiting the generated boot images
accordingly.
 1.35 01-Jan-2011  jym branches: 1.35.6; 1.35.12;
Document MDSET_NOIMAGE.
 1.34 03-Apr-2009  perry Consistently use gzip with the -n flag so dates are not embedded.

Not tested on all platforms.
 1.33 21-Jul-2008  agc branches: 1.33.4; 1.33.8;
Implement, and document, an ugly hack which allows cross-building of
NetBSD on Darwin - Mac OS X Leopard - to complete successfully

hack cross-building hack on Darwin
mdate 20 July 2008
who agc
file src/distrib/common/Makefile.mdset : 1.33
descr
Darwin has problems with getopt() when used in mdsetimage -v,
due to the difference between BSD and libiberty() getopt
implementations, more fully described in
http://mail-index.netbsd.org/current-users/2008/06/27/msg003242.html
and the subsequent thread. For just now, we just have an ugly
workaround not to call mdsetimage with the -v argument on Darwin
kcah
 1.32 23-Jun-2008  matt Change MACHINE to RELEASEMACHINEDIR
 1.31 02-May-2008  ad branches: 1.31.2;
Put the GENERIC kernel onto i386 installation CDs and load a kernel module
from the boot loader to provide the miniroot.
 1.30 08-Sep-2007  chris branches: 1.30.8; 1.30.10;
Fix bug which causes cats builds to not produce an a.out install kernels,
which are needed to boot from Cyclone firmware.

Bug reported on port-cats mailing list:
http://mail-index.netbsd.org/port-cats/2007/09/08/0000.html
 1.29 07-Jun-2007  he branches: 1.29.4;
After ${_FILENAME} got assigned its value when it's "-", we can
no longer use it as a copy of ${_F} in the subsequent test for
additional targets under the MDSET_SUFFIXES test.

This brings back builds of srec & bin files for evbarm and img
files for evbppc.
 1.28 23-Aug-2006  bouyer branches: 1.28.2; 1.28.4;
Properly set ${_FILENAME} if the _F item of MDSETTARGETS is '-'.
From Jachym Holecek on tech-toolchain.
 1.27 31-May-2005  lukem Support MDSET_POST; apply the operation to every image.

Implement MDSET_NOGZIP & MDSET_NOGZIP.${FILENAME}, to prevent the gzip
of the final image. This is useful if that image has already been
munged & gzipped by MDSET_POST* or MDSET_SUFFIXES*.
 1.26 06-Jun-2004  dsl Remove the .comment and .ident sections when stripping kernels.
Saves about 4k from all the install floppies
 1.25 04-May-2004  lukem MAKEVERBOSE support
 1.24 17-Jan-2004  dsl Run mdsetimage on a temporary copy of the kernel, then we retry if/when
it fails.
 1.23 24-Oct-2003  lukem Add MDSET_NOSTRIP and MDSET_NOSYMBOLS; global versions of the "per ${FILE}"
equivalents that currently exist.
 1.22 10-Jul-2003  lukem Rename a large chunk of the make(1) variables which refer to a
program/tool from "FOO" to "TOOL_FOO". The new variables are:
TOOL_ASN1_COMPILE TOOL_CAP_MKDB TOOL_CAT TOOL_CKSUM TOOL_COMPILE_ET
TOOL_CONFIG TOOL_CRUNCHGEN TOOL_CTAGS TOOL_DB TOOL_EQN TOOL_FGEN
TOOL_GENCAT TOOL_GROFF TOOL_HEXDUMP TOOL_INDXBIB TOOL_INSTALLBOOT
TOOL_INSTALL_INFO TOOL_M4 TOOL_MAKEFS TOOL_MAKEINFO TOOL_MAKEWHATIS
TOOL_MDSETIMAGE TOOL_MENUC TOOL_MKCSMAPPER TOOL_MKESDB
TOOL_MKLOCALE TOOL_MKMAGIC TOOL_MKTEMP TOOL_MSGC TOOL_MTREE
TOOL_PAX TOOL_PIC TOOL_PREPMKBOOTIMAGE TOOL_PWD_MKDB TOOL_REFER
TOOL_ROFF_ASCII TOOL_ROFF_DVI TOOL_ROFF_HTML TOOL_ROFF_PS
TOOL_ROFF_RAW TOOL_RPCGEN TOOL_SOELIM TOOL_SUNLABEL TOOL_TBL
TOOL_UUDECODE TOOL_VGRIND TOOL_ZIC

For each, provide default in <bsd.sys.mk> of the form:
TOOL_FOO?= foo
and for the ${USETOOLS}=="yes" case in <bsd.own.mk>, provide override:
TOOL_FOO= ${TOOLDIR}/bin/${_TOOL_PREFIX}foo

Document all of these in bsd.README.

This cleans up a chunk of potential (and actual) namespace collision
within our build infrastructure, as well as improves consistency in
the share/mk documentation and provision of appropriate defaults for
each of these variables.
 1.21 11-Mar-2003  lukem add multiple-include protection.
clean up some comments.
 1.20 11-Mar-2003  lukem Augment the `KERNEL' field of MDSETIMAGES; if it contains a `/'
character, use that as the path to the kernel to use, rather than
using the default of "${KERNOBJDIR}/${KERNEL}/netbsd".
(Using this feature means that FILENAME == "-" isn't useful. such is life...)
 1.19 03-Jan-2003  lukem Install release files under "${RELEASEDIR}/${MACHINE}/..." instead of
"${RELEASEDIR}/...".

${RELEASEDIR} is never cleaned , and ${RELEASEDIR}/${MACHINE} is only
cleaned if UPDATE is not defined.
 1.18 18-Nov-2002  lukem Consistently use "netbsd-XXXXX" instead of "netbsd.XXXXX".
 1.17 14-Oct-2002  lukem Use _KERNEL.${_K}.${_F} instead of _KERNEL.${_K}, as this allows
MDSETTARGETS to contain the same kernel (_K) more than once, as long
as the filename (_F) is different.
 1.16 10-May-2002  lukem support MDSET_NOSTRIP.${FILENAME}
 1.15 08-May-2002  lukem - whitespace consistency cleanup
- build (mdset/nm/strip) into ${filename} as one rule, and move ${filename}.gz
into separate rule
- rename MDSET.${filename}.nosymbols -> MDSET_NOSYMBOLS.${filename}
- rename MDSET.${filename}.post -> MDSET_POST.${filename}, and don't do
suffix handling here
- rework suffix handling:
- rename MDSET.${filename}.suffixes -> MDSET_SUFFIXES.${filename},
and change from list of suffixes to list of "suffix cmdtobuildsuffix",
where cmdtobuildsuffix is the name of the variable containing the
command to build ${filename}.${suffix} (available as "${.TARGET}").
- for each ${filename}.${suffix}, depend upon ${filename} and use
${cmdtobuildsuffix} to create the former.
- add separate ${filename}.${suffix}.gz rule
- mipsco & pmax: rename "install.gz" to "netbsd-INSTALL.gz", for
consistency and so the target to build the mdset kernel doesn't get
confused with general "install" target
 1.14 07-May-2002  lukem Use release:: instead of release: when multiple release targets may exist
 1.13 05-May-2002  lukem add support for MDSET.${FILENAME}.nosymbols
 1.12 03-May-2002  lukem rather than blocking parallel mdset builds with .WAIT, replace usage of
"netbsd.tmp" with "${.TARGET:R}" (et al)
 1.11 02-May-2002  lukem yet another distrib overhaul:
- move guts of distrib/Makefile.inc to distrib/common/Makefile.distrib
(fixes problem caused by implicit include of ../Makefile.inc in certain
submake conditions triggered by makefiles not yet in tree)
- removed mkdir of ${RELEASEDIR}/*; rely upon "snap_pre" target of
etc/Makefile to create all the release directories
- renamed RELINSTALL to RELEASE_INSTALL
- renamed FLOPPYINSTDIR to FLOPPY_RELEASEDIR
- renamed MDSETDIR to MDSET_RELEASEDIR
- removed ITARGET
- move release target from top level to appropriate subdirectory
- ensure release target has correct depends
- replace miniroot's IMAGE_MD_POST with common/Makefile.image IMAGEPOSTBUILD
- Makefile.image: add realall: ${IMAGE}
 1.10 26-Apr-2002  lukem replace _SRC_TOP_ with NETBSDSRCDIR, since the latter is the "public" version
 1.9 24-Apr-2002  thorpej Fix kernel suffix processing:
* Don't put .WAIT in ${KERNELS}.
* Make sure to add suffixed kernel names to ${KERNELDEPS}.
 1.8 14-Apr-2002  lukem Makefile.mdset: add ${KERNELDEPS} variable which is ${KERNELS} with
.WAIT between the items, and remove .WAIT from ${KERNELS}.
Use ${KERNELDEPS} in make dependencies.
 1.7 14-Apr-2002  lukem improve comments and status messages
 1.6 14-Apr-2002  lukem - Rename Makefile.mdset variables:
MDEXTRA_SUFFIXES.${KERNEL} -> MDSET.${FILENAME}.suffixes
${KERNEL.${_K}}.post -> MDSET.${FILENAME}.post
This allows "default" rules for for MDSETTARGETS with FILENAMEs of "-"
by defined MDSET.-.post & MDSET.-.suffixes
- Document the above
- Use the above appropriately in various Makefiles
- Be a be quieter when building these kernels
- Add .WAIT syncs so that multiple kernels aren't built in parallel, because
the temporary filename is the same, and it also avoid hairy magic in
syncing the targets generated from MDSET.${FILENAME}.suffixes with
the master target for that ${FILENAME}
 1.5 13-Apr-2002  thorpej Add support for optional extra install kernel suffixes (e.g. .srec
or .bin), provided by the MDEXTRA_SUFFIXES.${kernel} variable.
 1.4 12-Apr-2002  lukem Makefile.mdset:
replace
TARGETS = KERNEL IMAGE [...]
with
MDTARGETS = KERNEL IMAGE FILENAME [...]
If FILENAME is "-", use "netbsd.${KERNEL}" as the target filename

The rest:
Update for new MDTARGETS syntax. In some cases, the kernel
name from the "old" method will be used to override the default.
 1.3 12-Apr-2002  lukem document which variables get modified by this fragment
 1.2 12-Apr-2002  lukem - don't pull in <bsd.prog.mk> in Makefile.mdset; do that in the caller instead
- renamed optional post-strip action variable from ${KERNEL}.post to
netbsd.${KERNEL}.post
 1.1 11-Apr-2002  lukem Makefile snippet to do the ${MDSETIMAGE} / ${NM} / ${STRIP} / gzip
game on various kernels and fs images.
 1.28.4.2 23-Sep-2007  wrstuden Sync with somewhat-recent netbsd-4.
 1.28.4.1 03-Sep-2007  wrstuden Sync w/ NetBSD-4-RC_1
 1.28.2.2 11-Sep-2007  msaitoh Pull up rev. 1.30 (requested by chris in ticket #872):

Fix bug which causes cats builds to not produce an a.out install kernels,
which are needed to boot from Cyclone firmware. PR#36948
 1.28.2.1 07-Jun-2007  liamjfoy Pull up following revision(s) (requested by he in ticket #709):
distrib/common/Makefile.mdset: revision 1.29
After ${_FILENAME} got assigned its value when it's "-", we can
no longer use it as a copy of ${_F} in the subsequent test for
additional targets under the MDSET_SUFFIXES test.
This brings back builds of srec & bin files for evbarm and img
files for evbppc.
 1.29.4.1 06-Nov-2007  matt sync with HEAD
 1.30.10.1 18-May-2008  yamt sync with head.
 1.30.8.4 05-Oct-2008  mjf Sync with HEAD.
 1.30.8.3 28-Sep-2008  mjf Sync with HEAD.
 1.30.8.2 29-Jun-2008  mjf Sync with HEAD.
 1.30.8.1 02-Jun-2008  mjf Sync with HEAD.
 1.31.2.1 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.33.8.1 09-Sep-2009  matt Add support for pmax64 kernels.
 1.33.4.1 13-May-2009  jym Sync with HEAD.

Third (and last) commit. See http://mail-index.netbsd.org/source-changes/2009/05/13/msg221222.html
 1.35.12.2 19-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.35.12.1 25-Feb-2013  tls resync with head
 1.35.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.35.6.1 23-Jan-2013  yamt sync with head
 1.39.2.1 10-Aug-2014  tls Rebase.
 1.40.6.1 04-Nov-2016  pgoyette Sync with HEAD
 1.42.4.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.42.4.1 10-Jun-2019  christos Sync with HEAD
 1.43.2.1 18-Aug-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #75):
distrib/evbarm/instkernel/instkernel/Makefile: revision 1.32
distrib/common/Makefile.mdset: revision 1.46
Allow individual MDSETTARGETS/MDSET_SUFFIXES to define optional dependencies
between themselves.
Use that to make netbsd-RPI_INSTALL.img depend on netbsd-RPI_INSTALL.bin,
resolving the parallel build race.
 1.5 02-Jul-2020  lukem Makefile.minirootkmod don't have SRCS
 1.4 04-Apr-2020  christos Infrastructure for putting kernel+modules in /netbsd/kernel and
/netbsd/modules respectively instead of /netbsd and
/stand/<arch>/<version>/modules. This is only supported for x86,
and is turned off by default. To try it, add KERNEL_DIR=yes in your
/mk.conf and install a system from that build.
 1.3 05-Aug-2014  apb branches: 1.3.24;
Use ${TOOL_GZIP_N} instead of ${TOOL_GZIP} -n, and similarly
use ${TOOL_GZIP_N} -9 instead of ${TOOL_GZIP} -9n, etc.

This will pass -nT instead of just -n if the gzip program is
actually pigz.
 1.2 27-Jan-2014  apb branches: 1.2.2;
Use ${TOOL_GZIP} instead of just gzip in all Makefiles
outside */dist/* subdirectories.

When USE_PIGZGZIP=yes, bsd.own.mk sets TOOL_GZIP=${TOOL_PIGZ},
so there's no need to test USE_PIGZGZIP in these Makefiles.
 1.1 16-Oct-2012  apb branches: 1.1.2; 1.1.4;
Add distrib/common/Makefile.minirootkmod. Apart from comments and the
conversion of some constants to variables, this is identical to the code
that was previously present in both distrib/amd64/kmod/Makefile and
distrib/i386/kmod/Makefile.

Change distrib/amd64/kmod/Makefile and distrib/i386/kmod/Makefile to just
set some variables and .include "../../common/Makefile.minirootkmod".
 1.1.4.3 19-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.4.2 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.1.4.1 16-Oct-2012  tls file Makefile.minirootkmod was added on branch tls-maxphys on 2012-11-20 02:57:41 +0000
 1.1.2.3 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.2.2 30-Oct-2012  yamt sync with head
 1.1.2.1 16-Oct-2012  yamt file Makefile.minirootkmod was added on branch yamt-pagecache on 2012-10-30 18:48:29 +0000
 1.2.2.1 10-Aug-2014  tls Rebase.
 1.3.24.1 08-Apr-2020  martin Merge changes from current as of 20200406
 1.6 19-Oct-2008  apb Use ${TOOL_AWK} instead of ${AWK} or plain "awk" in make commands.
Pass AWK=${TOOL_AWK:Q} to shell scripts that use awk.
 1.5 14-Nov-2003  matt branches: 1.5.32;
s/awk/${AWK}
 1.4 25-Mar-2003  lukem Add MAKE to PARSELISTENV, and specifically set MAKE=${MAKE} in
list.sysinst.
(Better fix to previous, but thanks to Warner for committing a
fix which then prodded me to improve it :)
 1.3 11-Mar-2003  lukem add multiple-include protection.
clean up some comments.
 1.2 26-Apr-2002  lukem replace _SRC_TOP_ with NETBSDSRCDIR, since the latter is the "public" version
 1.1 12-Apr-2002  lukem move default PARSELISTENV and related goop into separate Makefile.parselist,
and add DISTRIBDIR to PARSELISTENV.
 1.5.32.1 05-Oct-2008  mjf Sync with HEAD.
 1.19 11-Feb-2017  christos more MKREPRO_TIMESTAMP fixes (for pax/tar generated files)
 1.18 05-Aug-2014  apb branches: 1.18.6; 1.18.10;
Use ${TOOL_GZIP_N} instead of ${TOOL_GZIP} -n, and similarly
use ${TOOL_GZIP_N} -9 instead of ${TOOL_GZIP} -9n, etc.

This will pass -nT instead of just -n if the gzip program is
actually pigz.
 1.17 27-Jan-2014  apb branches: 1.17.2;
Use ${TOOL_GZIP} instead of just gzip in all Makefiles
outside */dist/* subdirectories.

When USE_PIGZGZIP=yes, bsd.own.mk sets TOOL_GZIP=${TOOL_PIGZ},
so there's no need to test USE_PIGZGZIP in these Makefiles.
 1.16 03-Apr-2009  perry branches: 1.16.6; 1.16.12;
Consistently use gzip with the -n flag so dates are not embedded.

Not tested on all platforms.
 1.15 12-Nov-2008  apb branches: 1.15.2;
In buildfloppies.sh:
* Add a "-N etcdir" command line option, defaulting to /etc.
* Use pax in mtree mode. This is the same idea as the change made in
revision 1.14, with the following changes:
+ use ". type=dir optional" instead of just ". type=dir", so the
output will not contain an explicit entry for the directory.
+ Explicitly set type=file and mode=0444 in the mtree lines.
+ Pass "-N ${etcdir}" to pax to make it use the correct passwd and
group files.
+ Pass "-s^./,," to pax to make it strip the leading "./" from file
names.

In Makefile.tarfloppy:
* Pass "-N ${DESTDIR}/etc" to buildfloppies.sh.

The resulting flopies have been verified to be identical to those
produced by version 1.13 of buildfloppies.sh, except that file owners
and modes are changed.
 1.14 04-Nov-2008  dbj avoid full path to boot.cfg file when building amd64 boot floppy
share code with i386
 1.13 23-Jun-2008  matt branches: 1.13.2;
Change remaining instances of ${RELEASEDIR}/${MACHINES} to
${RELEASEDIR}/${RELEASEMACHINEDIR}
 1.12 29-Sep-2006  pavel branches: 1.12.18; 1.12.22;
Strip the kernel before it is written to floppy. This will allow to have
unstripped INSTALL kernels in the release.

OK lukem@.
 1.11 04-May-2004  lukem MAKEVERBOSE support
 1.10 10-Jul-2003  lukem Rename a large chunk of the make(1) variables which refer to a
program/tool from "FOO" to "TOOL_FOO". The new variables are:
TOOL_ASN1_COMPILE TOOL_CAP_MKDB TOOL_CAT TOOL_CKSUM TOOL_COMPILE_ET
TOOL_CONFIG TOOL_CRUNCHGEN TOOL_CTAGS TOOL_DB TOOL_EQN TOOL_FGEN
TOOL_GENCAT TOOL_GROFF TOOL_HEXDUMP TOOL_INDXBIB TOOL_INSTALLBOOT
TOOL_INSTALL_INFO TOOL_M4 TOOL_MAKEFS TOOL_MAKEINFO TOOL_MAKEWHATIS
TOOL_MDSETIMAGE TOOL_MENUC TOOL_MKCSMAPPER TOOL_MKESDB
TOOL_MKLOCALE TOOL_MKMAGIC TOOL_MKTEMP TOOL_MSGC TOOL_MTREE
TOOL_PAX TOOL_PIC TOOL_PREPMKBOOTIMAGE TOOL_PWD_MKDB TOOL_REFER
TOOL_ROFF_ASCII TOOL_ROFF_DVI TOOL_ROFF_HTML TOOL_ROFF_PS
TOOL_ROFF_RAW TOOL_RPCGEN TOOL_SOELIM TOOL_SUNLABEL TOOL_TBL
TOOL_UUDECODE TOOL_VGRIND TOOL_ZIC

For each, provide default in <bsd.sys.mk> of the form:
TOOL_FOO?= foo
and for the ${USETOOLS}=="yes" case in <bsd.own.mk>, provide override:
TOOL_FOO= ${TOOLDIR}/bin/${_TOOL_PREFIX}foo

Document all of these in bsd.README.

This cleans up a chunk of potential (and actual) namespace collision
within our build infrastructure, as well as improves consistency in
the share/mk documentation and provision of appropriate defaults for
each of these variables.
 1.9 08-May-2003  christos Use ${HOST_SH}
 1.8 11-Mar-2003  lukem add multiple-include protection.
clean up some comments.
 1.7 03-Jan-2003  lukem Install release files under "${RELEASEDIR}/${MACHINE}/..." instead of
"${RELEASEDIR}/...".

${RELEASEDIR} is never cleaned , and ${RELEASEDIR}/${MACHINE} is only
cleaned if UPDATE is not defined.
 1.6 07-May-2002  lukem Use release:: instead of release: when multiple release targets may exist
 1.5 04-May-2002  lukem - add support for [-s suffix] to buildfloppies.sh (defaults to "",
rather than the previous ".fs").
- add support for (optional) FLOPPYSUFFIX in Makefile.tarfloppy, and
use appropriately
- remove (now unnecessary) custom release targets in alpha/instkernel/*
 1.4 02-May-2002  lukem yet another distrib overhaul:
- move guts of distrib/Makefile.inc to distrib/common/Makefile.distrib
(fixes problem caused by implicit include of ../Makefile.inc in certain
submake conditions triggered by makefiles not yet in tree)
- removed mkdir of ${RELEASEDIR}/*; rely upon "snap_pre" target of
etc/Makefile to create all the release directories
- renamed RELINSTALL to RELEASE_INSTALL
- renamed FLOPPYINSTDIR to FLOPPY_RELEASEDIR
- renamed MDSETDIR to MDSET_RELEASEDIR
- removed ITARGET
- move release target from top level to appropriate subdirectory
- ensure release target has correct depends
- replace miniroot's IMAGE_MD_POST with common/Makefile.image IMAGEPOSTBUILD
- Makefile.image: add realall: ${IMAGE}
 1.3 26-Apr-2002  lukem replace _SRC_TOP_ with NETBSDSRCDIR, since the latter is the "public" version
 1.2 24-Apr-2002  bjh21 Set PAX in buildfloppies.sh's environment.
 1.1 16-Apr-2002  lukem Makefile snippet to create bootable ustar floppies
 1.12.22.1 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.12.18.2 05-Oct-2008  mjf Sync with HEAD.
 1.12.18.1 29-Jun-2008  mjf Sync with HEAD.
 1.13.2.1 15-Nov-2008  snj Pull up following revision(s) (requested by tsutsui in ticket #60):
distrib/amd64/floppies/common/Makefile.bootfloppy: revision 1.10
distrib/i386/floppies/common/Makefile.bootfloppy: revision 1.22
distrib/common/Makefile.tarfloppy: revision 1.14
avoid full path to boot.cfg file when building amd64 boot floppy
share code with i386
 1.15.2.1 13-May-2009  jym Sync with HEAD.

Third (and last) commit. See http://mail-index.netbsd.org/source-changes/2009/05/13/msg221222.html
 1.16.12.1 19-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.16.6.1 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.17.2.1 10-Aug-2014  tls Rebase.
 1.18.10.1 21-Apr-2017  bouyer Sync with HEAD
 1.18.6.1 20-Mar-2017  pgoyette Sync with HEAD
 1.20 24-Jan-2022  andvar remove double "with" in comments and usage text. Also fix one typo.
 1.19 16-Sep-2018  kre Remove use of test ([) -o (and a couple of other trivial cleanups).
 1.18 11-Feb-2017  christos branches: 1.18.10; 1.18.12;
more MKREPRO_TIMESTAMP fixes (for pax/tar generated files)
 1.17 12-Nov-2008  apb branches: 1.17.32; 1.17.36;
In buildfloppies.sh:
* Add a "-N etcdir" command line option, defaulting to /etc.
* Use pax in mtree mode. This is the same idea as the change made in
revision 1.14, with the following changes:
+ use ". type=dir optional" instead of just ". type=dir", so the
output will not contain an explicit entry for the directory.
+ Explicitly set type=file and mode=0444 in the mtree lines.
+ Pass "-N ${etcdir}" to pax to make it use the correct passwd and
group files.
+ Pass "-s^./,," to pax to make it strip the leading "./" from file
names.

In Makefile.tarfloppy:
* Pass "-N ${DESTDIR}/etc" to buildfloppies.sh.

The resulting flopies have been verified to be identical to those
produced by version 1.13 of buildfloppies.sh, except that file owners
and modes are changed.
 1.16 11-Nov-2008  dbj roll back to revision 1.13 until problems mentioned in
PR 39894
can be figured out.
i suspect we can add "boot" to the mtree input, but experimentation
needs to happen first.
 1.15 10-Nov-2008  dogcow If you really want to hardcode to a gid/uid, then use the numeric ones;
"wheel" doesn't exist across all unix-like systems.
 1.14 04-Nov-2008  dbj use an mtree template when building floppies to avoid local uid/gid in image
 1.13 30-Apr-2008  martin Convert TNF licenses to new 2 clause variant
 1.12 10-Sep-2005  dsl branches: 1.12.20; 1.12.22;
The 'padded by' number displayed for multi-floppy images has been out by 8k
per floppy for a while. (The rest of the sums are ok).
Change the 'padded' size to include all the space in the last 8k block
of the tar file.
Similarly if the image doesn't fit, report the exact amount of overflow.
 1.11 04-Sep-2005  dsl Report the exact number of free bytes in the install floppy images.
 1.10 03-Sep-2005  dsl Tell pax to use 8k (not 10k) buffers when generating the tar archive
of 'boot' and 'netbsd'.
This makes it possible for the tar archive to end at the end of the 2.88M
floppy, instead of either 4k before, or 6k after.
Gives us a whole extra 4k.
The very observant might realise that we don't need the final 1024 bytes
of nulls written to the floppy either, so they could be deleted!
 1.9 04-Mar-2005  dsl branches: 1.9.2;
When a boot floppy overran, the reported excess size was 8k too big.
 1.8 12-Jun-2004  dsl The code to pad floppies could sometimes overwrite the end of the kernel
(causing the decompress to generate random data).
I've changed it to pad using:
dd if=xx.fs of=xx.fs conv=sync conv=notrunc bs=${floppysize}b count=1
which isn't subject to rounding errors!
This might be the fix for PR/25552
 1.7 09-Nov-2003  lukem branches: 1.7.2;
When calculating the number of disks, take into account that every
floppy needs an 8KB tar volume header, not just the first.
Fixes size calculation bug reported by Frank van der Linden.
 1.6 07-Mar-2003  lukem improve calculation to determine number of disks required
 1.5 03-Mar-2003  dsl Report free space for unpadded floppies
(approved by christos)
 1.4 21-Dec-2002  lukem Invoke ${PAX} with '-O' so that various errors don't hang the make
or the command with an interactive question. (This also prevents
weird problems if a directory element of '-f path' is missing and
'make -j N' is being used).
 1.3 04-May-2002  lukem - add support for [-s suffix] to buildfloppies.sh (defaults to "",
rather than the previous ".fs").
- add support for (optional) FLOPPYSUFFIX in Makefile.tarfloppy, and
use appropriately
- remove (now unnecessary) custom release targets in alpha/instkernel/*
 1.2 17-Apr-2002  tv Exit with nonzero status if the -i (installboot) command fails. (The media
certainly won't be usable in this case.)
 1.1 16-Apr-2002  lukem buildfloppies.sh -- build floppy images from the given files.
It can write multiple disks (up to a maximum number), and optionally
install a bootstrap or pad the last disk to the image size.
 1.7.2.1 10-Jul-2004  tron Pull up revision 1.8 (requested by dsl in ticket #632):
The code to pad floppies could sometimes overwrite the end of the kernel
(causing the decompress to generate random data).
I've changed it to pad using:
dd if=xx.fs of=xx.fs conv=sync conv=notrunc bs=${floppysize}b count=1
which isn't subject to rounding errors!
This might be the fix for PR/25552
 1.9.2.3 27-Nov-2005  riz Pull up following revision(s) (requested by dsl in ticket #1005):
distrib/common/buildfloppies.sh: revision 1.12
The 'padded by' number displayed for multi-floppy images has been out by 8k
per floppy for a while. (The rest of the sums are ok).
Change the 'padded' size to include all the space in the last 8k block
of the tar file.
Similarly if the image doesn't fit, report the exact amount of overflow.
 1.9.2.2 27-Nov-2005  riz Pull up following revision(s) (requested by dsl in ticket #1005):
distrib/common/buildfloppies.sh: revision 1.11
Report the exact number of free bytes in the install floppy images.
 1.9.2.1 19-Sep-2005  tron Pull up following revision(s) (requested by dsl in ticket #802):
distrib/common/buildfloppies.sh: revision 1.10
Tell pax to use 8k (not 10k) buffers when generating the tar archive
of 'boot' and 'netbsd'.
This makes it possible for the tar archive to end at the end of the 2.88M
floppy, instead of either 4k before, or 6k after.
Gives us a whole extra 4k.
The very observant might realise that we don't need the final 1024 bytes
of nulls written to the floppy either, so they could be deleted!
 1.12.22.1 18-May-2008  yamt sync with head.
 1.12.20.2 05-Oct-2008  mjf Sync with HEAD.
 1.12.20.1 02-Jun-2008  mjf Sync with HEAD.
 1.17.36.1 21-Apr-2017  bouyer Sync with HEAD
 1.17.32.1 20-Mar-2017  pgoyette Sync with HEAD
 1.18.12.1 10-Jun-2019  christos Sync with HEAD
 1.18.10.1 30-Sep-2018  pgoyette Ssync with HEAD
 1.5 22-Nov-2019  alnsn If gpt label "cgd.conf" contains a valid /etc/cgd file system,
try mounting gpt label "cgdroot" as a root filesystem first and
only mount /dev/cgd0a if that gpt label doesn't exist or fails
to mount.

XXX pullup to 8 and 9.
 1.4 29-Dec-2018  alnsn ROOT.a doesn't resolve to a useful partition, hardcode wd0a and ld0a for now.
 1.3 29-Dec-2018  alnsn Break the loop after a successful mount.
 1.2 29-Dec-2018  alnsn Don't hardcode wd0a in cgdroot.kmod, try NAME=cgd.conf and ROOT.a.
 1.1 15-Jul-2013  khorben branches: 1.1.6; 1.1.10; 1.1.24; 1.1.30; 1.1.32;
Common definitions for full-disk encryption support, including the rc script responsible for asking the passphrase and chrooting. wsconsctl is also built and used in case a splash screen is enabled.
 1.1.32.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.32.1 10-Jun-2019  christos Sync with HEAD
 1.1.30.1 18-Jan-2019  pgoyette Synch with HEAD
 1.1.24.1 11-Jan-2019  martin Pull up following revision(s) (requested by sevan in ticket #1158):
distrib/common/cgdroot.rc: revision 1.2
distrib/common/cgdroot.rc: revision 1.3
distrib/common/cgdroot.rc: revision 1.4

Don't hardcode wd0a in cgdroot.kmod, try NAME=cgd.conf and ROOT.a.

-

Break the loop after a successful mount.

-

ROOT.a doesn't resolve to a useful partition, hardcode wd0a and ld0a for
now.
 1.1.10.2 19-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.10.1 15-Jul-2013  tls file cgdroot.rc was added on branch tls-maxphys on 2014-08-19 23:45:38 +0000
 1.1.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.6.1 15-Jul-2013  yamt file cgdroot.rc was added on branch yamt-pagecache on 2014-05-22 12:01:27 +0000
 1.1 15-Jul-2013  khorben branches: 1.1.6; 1.1.10;
Common definitions for full-disk encryption support, including the rc script responsible for asking the passphrase and chrooting. wsconsctl is also built and used in case a splash screen is enabled.
 1.1.10.2 19-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.10.1 15-Jul-2013  tls file list.cgdroot was added on branch tls-maxphys on 2014-08-19 23:45:38 +0000
 1.1.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.6.1 15-Jul-2013  yamt file list.cgdroot was added on branch yamt-pagecache on 2014-05-22 12:01:27 +0000
 1.3 12-Sep-2014  roy Use the 20-resolv.conf hook from dhcpcd rather than the minimal one.
Extract configured information from resolv.conf and hostname instead
of scraping the last dhcpcd script run.
This will allow the use of DHCPv6 and IPv6RA DNS details in the future.
 1.2 31-May-2011  christos branches: 1.2.24;
SRCDIRS is not the way to do this; some testing would have been nice.
 1.1 07-Apr-2009  joerg branches: 1.1.2;
Change ramdisks from dhclient to dhcpcd and add corresponding glue to
sysinst. For amd64, the crunchgen binary shrinks by 150KB uncompresssed,
60KB compressed.
 1.1.2.2 13-May-2009  jym Sync with HEAD.

Third (and last) commit. See http://mail-index.netbsd.org/source-changes/2009/05/13/msg221222.html
 1.1.2.1 07-Apr-2009  jym file list.dhcpcd was added on branch jym-xensuspend on 2009-05-13 19:17:41 +0000
 1.2.24.1 14-May-2015  snj Pull up following revision(s) (requested by martin in ticket #759):
distrib/amd64/cdroms/Makefile.cdrom: revision 1.12
distrib/amd64/installimage/Makefile: revision 1.5
distrib/amd64/installimage/spec.inst: revision 1.2
distrib/common/10-resolv.conf: file removal
distrib/common/99-print-sysinst: file removal
distrib/common/Makefile.dhcpcd: revision 1.2
distrib/common/list.dhcpcd: revision 1.3
distrib/i386/cdroms/Makefile.cdrom: revision 1.32
distrib/i386/installimage/Makefile: revision 1.5
distrib/i386/installimage/spec.inst: revision 1.2
distrib/sparc64/cdroms/installcd/Makefile: revision 1.20
distrib/vax/cdroms/installcd/Makefile: revision 1.10
usr.sbin/sysinst/msg.mi.de: revision 1.4
usr.sbin/sysinst/msg.mi.en: revision 1.4
usr.sbin/sysinst/msg.mi.es: revision 1.4
usr.sbin/sysinst/msg.mi.fr: revision 1.4
usr.sbin/sysinst/msg.mi.pl: revision 1.4
usr.sbin/sysinst/net.c: revisions 1.5-1.8, 1.11-1.15
The dhcpcd utilties in pkgsrc require dhcpcd to be running in master mode.
So set dhcpcd to start like so, but restrict it to the configured interface
still instead of ifconfig_foo=dhcp.
--
Use the 20-resolv.conf hook from dhcpcd rather than the minimal one.
Extract configured information from resolv.conf and hostname instead
of scraping the last dhcpcd script run.
This will allow the use of DHCPv6 and IPv6RA DNS details in the future.
--
dhcpcd will already have configured the system at this point, so
don't bother writing it manually.
--
Don't prompt for hostname or domain if obtained from DHCP.
--
Change the display order so it's protocol agnostic at the top,
then IPv4 then IPv6.
--
Strip newline from the gateway correctly.
--
Show the IP6 address instead of yes
--
Fix a bogus gcc warning: dhcp_config may be used uninitialized
--
Punt custom dhcpcd hooks in favour up upstream hooks
--
For the benefit of gcc 4.5, rename a local "nl" variable to "nline",
so it doesn't collide with the global curses nl() function.
 1.2 12-Sep-2014  nonaka Remove rtsol.
 1.1 20-Sep-2009  abs Ten identical list.inet6 files, or one common/list.inet6?
Not a difficult choice.
 1.7 03-Mar-2007  apb branches: 1.7.12;
MAKEDEV.subr no longer exists. Don't install it in any ramdisk
or miniroot images.
 1.6 01-Mar-2007  apb ${DESTDIR}/dev/MAKEDEV.subr -> ${MAKEDEVSUBR}
 1.5 01-Mar-2007  apb Treate MAKEDEV.subr just as we treat MAKEDEV when creating ramdisk
images or miniroot images.
 1.4 25-Oct-2003  lukem Update for MAKEDEV.tmpl changes; use <.OBJDIR-of-etc>/MAKEDEV
instead of etc/etc.${MACHINE}/MAKEDEV
 1.3 26-Apr-2002  lukem replace _SRC_TOP_ with NETBSDSRCDIR, since the latter is the "public" version
 1.2 14-Mar-2002  lukem parselist.awk
- improve comments
- provide a general purpose variable replacement; replace contents of ${FOO}
with ENVIRON["FOO"].
- deprecate @MACHINE@ and @MACHINE_ARCH@ in favour of using ${MACHINE}
and ${MACHINE_ARCH} instead
- add errx() function; like err(), but doesn't print the line number
- invoke this script with various variables defined via PARSELISTENV

*/Makefile*
- use PARSELISTENV instead of POPULATEENV, and add variables like DESTDIR
- other minor tweaks

*/list*
- replace @MACHINE@ with ${MACHINE}
 1.1 08-Feb-2002  lukem - cleanup image device creation: add Makefile.makedev & list.makedev,
remove dist/*, now that they're not needed.
if MAKEDEVTARGETS is set, use MAKEDEV.wrapper and makedev2spec.awk to
create an mtree specfile containing the devices that would be made with
"etc/etc.${MACHINE}/MAKEDEV $MAKEDEVTARGETS".
otherwise, copy etc/etc.${MACHINE}/MAKEDEV to dev/MAKEDEV (via list.makedev)
- add mtree.common; contains directories used by all images, and optional
entries for dist/*
 1.7.12.1 05-Oct-2008  mjf Sync with HEAD.
 1.13 26-Jul-2014  dholland Adjust for sysinst move.
 1.12 27-Aug-2005  xtraeme branches: 1.12.20; 1.12.50; 1.12.64;
Copy the Spanish language file into the ramdisk.
 1.11 18-Apr-2004  dsl branches: 1.11.2;
Add French, German and Polish sysinstmsgs to all ramdisks that include sysinst
expect those where at least one of the language variants isn't built,
and those that are known not to have enough space (i386 ramdisk-tiny).
Files added to list.sysinst, list.sysinst.en is used when these files
cannot be added.
This might hit a size limit on another build - but I have no (sane) way of
testing it.
 1.10 09-May-2003  lukem branches: 1.10.2;
Don't bother building var/db/obsolete/* files for the install media;
this stuff is in the base.tgz distribution, and it's better to have
postinstall fix it up than use the (dodgy) code in sysinst.
 1.9 25-Mar-2003  lukem Add MAKE to PARSELISTENV, and specifically set MAKE=${MAKE} in
list.sysinst.
(Better fix to previous, but thanks to Warner for committing a
fix which then prodded me to improve it :)
 1.8 22-Feb-2003  lukem all:
Use /var/db/obsolete instead of /etc/obsolete

etc/Makefile:
Create separate target "install-obsolete-files" to populate
/var/db/obsolete, instead of using "install-etc-files".

Makefile:
Add do-obsolete target, to run "cd etc && make install-obsolete-files",
and add this to BUILDTARGETS.
This moves the "obsolete files" creation from "distribution" to "build".


Per discussion with Andrew Brown.
 1.7 20-Feb-2003  lukem install obsolete set lists as /etc/obsolete/%s not /dist/%s_obsolete
 1.6 22-Jan-2003  jhawk install /usr/bin/progress along with sysinst on all installation media
of all architectures that use sysinst.
 1.5 12-Apr-2002  lukem branches: 1.5.2;
use ${DISTRIBDIR} instead of ${_SRC_TOP_}/distrib
 1.4 01-Apr-2002  lukem add description and free space reminder
 1.3 14-Mar-2002  lukem parselist.awk
- improve comments
- provide a general purpose variable replacement; replace contents of ${FOO}
with ENVIRON["FOO"].
- deprecate @MACHINE@ and @MACHINE_ARCH@ in favour of using ${MACHINE}
and ${MACHINE_ARCH} instead
- add errx() function; like err(), but doesn't print the line number
- invoke this script with various variables defined via PARSELISTENV

*/Makefile*
- use PARSELISTENV instead of POPULATEENV, and add variables like DESTDIR
- other minor tweaks

*/list*
- replace @MACHINE@ with ${MACHINE}
 1.2 08-Feb-2002  lukem - cleanup image device creation: add Makefile.makedev & list.makedev,
remove dist/*, now that they're not needed.
if MAKEDEVTARGETS is set, use MAKEDEV.wrapper and makedev2spec.awk to
create an mtree specfile containing the devices that would be made with
"etc/etc.${MACHINE}/MAKEDEV $MAKEDEVTARGETS".
otherwise, copy etc/etc.${MACHINE}/MAKEDEV to dev/MAKEDEV (via list.makedev)
- add mtree.common; contains directories used by all images, and optional
entries for dist/*
 1.1 07-Feb-2002  lukem add list containing files used by sysinst, including dummy files that
are used to set the default permissions in the generated mtree specfile
for files generated by makeobsolete.
 1.5.2.1 10-Feb-2003  jmc Pullup rev 1.6 (requested by grant in ticket #1115)
Separate progress reporting into a utility set of routines. Use
these to provide a standalone progress binary and integrate support
for this into sysinst.
 1.10.2.1 21-Apr-2004  jmc Pullup rev 1.11 (requested by dsl in ticket #168)

Add French, German and Polish sysinstmsgs to all ramdisks that include sysinst
except those where at least one of the language variants isn't built,
and those that are known not to have enough space (i386 ramdisk-tiny).
Files added to list.sysinst, list.sysinst.en is used when these files
cannot be added.
 1.11.2.1 07-Oct-2005  tron Pull up following revision(s) (requested by xtraeme in ticket #866):
distrib/common/list.sysinst: revision 1.12
Copy the Spanish language file into the ramdisk.
 1.12.64.1 10-Aug-2014  tls Rebase.
 1.12.50.1 19-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.12.20.1 05-Oct-2008  mjf Sync with HEAD.
 1.2 26-Jul-2014  dholland Adjust for sysinst move.
 1.1 18-Apr-2004  dsl branches: 1.1.2; 1.1.28; 1.1.58; 1.1.72;
Add French, German and Polish sysinstmsgs to all ramdisks that include sysinst
expect those where at least one of the language variants isn't built,
and those that are known not to have enough space (i386 ramdisk-tiny).
Files added to list.sysinst, list.sysinst.en is used when these files
cannot be added.
This might hit a size limit on another build - but I have no (sane) way of
testing it.
 1.1.72.1 10-Aug-2014  tls Rebase.
 1.1.58.1 19-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.28.1 05-Oct-2008  mjf Sync with HEAD.
 1.1.2.2 21-Apr-2004  jmc Pullup rev 1.1 (requested by dsl in ticket #168)

Add French, German and Polish sysinstmsgs to all ramdisks that include sysinst
except those where at least one of the language variants isn't built,
and those that are known not to have enough space (i386 ramdisk-tiny).
Files added to list.sysinst, list.sysinst.en is used when these files
cannot be added.
 1.1.2.1 18-Apr-2004  jmc file list.sysinst.en was added on branch netbsd-2-0 on 2004-04-21 04:12:17 +0000
 1.2 23-Feb-2020  roy branches: 1.2.4;
zfs: Allow modules to be loaded once in the ZFS chroot

Rather than copying the needed modules from FFS to the ramdisk,
load then directly from FFS instead.

This way, we can symlink ramdisk stand into /altroot and let nature take
it's course like loading firmware.

Set shell exit on error rather than using chained commands.
zpool import seems to SIGBUS randomly on amd64 and if we didn't do the
former then zpool would hang the init. Now at least we exit to the shell.
 1.1 22-Feb-2020  roy zfs: build a ramdisk on amd64 with enough to mount rpool/ROOT on /

Until we get ZFS integrated into our boot loader, this is the next best
thing. The idea is simple - have a small FFS partition with a kernel,
modules and this ramdisk. Once the ramdisk boots it will mount the FFS
partition read only, copy the needed ZFS modules to the ramdisk and then
unmount the partition. Then we import the ZFS root pool, mount the
ZFS root filesystem and then pivot to it.

Because the initial FFS partition is not mounted at this point, we
can mount it in /altroot so we can replace the kernel and modules with
newer ones so it's easily maintainable.

This ZFS boot strapper currently makes the following assumptions:
* The device NAME=boot is the FFS with kernel, modules and this ramdisk.
* The ZFS root pool and root filesystem are called rpool/ROOT.

A boot.cfg menu entry can then be added like so:
menu=Boot ZFS root:fs /ramdisk-zfsroot.fs;boot
 1.2.4.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.2.4.1 23-Feb-2020  martin file list.zfsroot was added on branch phil-wifi on 2020-04-08 14:03:44 +0000
 1.1 18-Sep-2009  abs Merge four separate copies of list2sh.awk runlist.sh (three identical
and one with slightly less options). Release build verified on amiga,
bebox and evbsh3. Vax build fails for unrelated reason.
 1.4 21-Dec-2003  lukem Rework MAKEDEV:

* Use "mknod -F netbsd -r" to create nodes, instead of
"rm ; mknod; chmod; chown".
This means permissions & ownership of existing nodes will
not be changed.
This is up to 30% faster when populating an empty /dev,
and nearly 2x faster when re-running on an existing /dev.

* New options:
-f force change of permission & ownership of existing
devices
-m mknod override name/path of mknod program
(which defaults to $TOOL_MKNOD, then "mknod").
-s generate mtree(8) specfile instead of creating devices

* Remove /usr/etc from $PATH; not needed anymore.

* Provide functions to create devices & directories:
mkdev name [b|c] major minor [mode{=600} [gid{=0} [uid{=0}]]]
create device node `name' with the appropriate permissions
lndev src target
create a symlink from src to target
makedir dir mode
create directory with appropriate mode

* UIDs and GIDs are hardcoded in at MAKEDEV generation time.
(Unfortunately there's not a simple way of determining a GID
a la "id -n user" for determining a UID).

This was tested by generating MAKEDEV for each MACHINE,MACHINE_ARCH
combination and comparing the results of "MAKEDEV all" from the
previous version to the new one.
(This testing actually highlighted mistakes in the previous configuration!)


Simplify distrib/common/Makefile.makedev to use "MAKEDEV -s"
 1.3 31-Mar-2002  bjh21 When matching "?" and "*" in a regexp, put backslashes before them
even at the start of the regexp. This seems to be necessary to
placate mawk.
 1.2 07-Feb-2002  lukem add more argument checking
 1.1 06-Feb-2002  lukem MAKEDEV.wrapper
generate list of commands from provided MAKEDEV script with
given arguments, to feed into makedev2spec.awk

makedev2spec.awk
take output of MAKEDEV.wrapper and generate an mtree(8) specfile.
 1.1 01-May-2008  garbled branches: 1.1.4; 1.1.6;
Create a litle script to generate a stripped down protocols file.
 1.1.6.3 05-Oct-2008  mjf Sync with HEAD.
 1.1.6.2 02-Jun-2008  mjf Sync with HEAD.
 1.1.6.1 01-May-2008  mjf file mkprotocols was added on branch mjf-devfs2 on 2008-06-02 13:21:12 +0000
 1.1.4.2 18-May-2008  yamt sync with head.
 1.1.4.1 01-May-2008  yamt file mkprotocols was added on branch yamt-pf42 on 2008-05-18 12:29:34 +0000
 1.6 05-Feb-2010  roy Use the rescue terminfo.db in our images instead of termcap.
 1.5 21-Oct-2009  abs update to generate something closer to common/termcap
 1.4 22-Dec-2008  christos reduce syscalls
 1.3 22-Dec-2008  tsutsui - add RCS Id
- put RCS Id strings to output
- generate termcap.mini directly rather than via stdout
 1.2 21-May-2008  rafal Add 'xterm' and 'ansi' to termcap.mini (and the mktermcap script which is
used to generate it), use termcap.mini in evbarm ramdisk (vs. the full
termap DB) which frees up a bit of room to add dhclient and cu.
 1.1 02-Feb-2008  christos branches: 1.1.2; 1.1.6; 1.1.8; 1.1.10; 1.1.12;
add a script to generate the mini-termcap and use it.
 1.1.12.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.1.10.1 04-Jun-2008  yamt sync with head
 1.1.8.2 23-Mar-2008  matt sync with HEAD
 1.1.8.1 02-Feb-2008  matt file mktermcap was added on branch matt-armv6 on 2008-03-23 00:21:01 +0000
 1.1.6.2 05-Oct-2008  mjf Sync with HEAD.
 1.1.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.1.2.2 02-Feb-2008  christos add a script to generate the mini-termcap and use it.
 1.1.2.1 02-Feb-2008  christos file mktermcap was added on branch mjf-devfs on 2008-02-02 21:02:30 +0000
 1.1 15-Jul-2013  khorben branches: 1.1.6; 1.1.10;
Common definitions for full-disk encryption support, including the rc script responsible for asking the passphrase and chrooting. wsconsctl is also built and used in case a splash screen is enabled.
 1.1.10.2 19-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.10.1 15-Jul-2013  tls file mtree.cgdroot was added on branch tls-maxphys on 2014-08-19 23:45:38 +0000
 1.1.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.6.1 15-Jul-2013  yamt file mtree.cgdroot was added on branch yamt-pagecache on 2014-05-22 12:01:27 +0000
 1.9 07-Apr-2009  joerg Change ramdisks from dhclient to dhcpcd and add corresponding glue to
sysinst. For amd64, the crunchgen binary shrinks by 150KB uncompresssed,
60KB compressed.
 1.8 24-Aug-2007  skd branches: 1.8.10; 1.8.18;
/libexec, not /usr/libexec.
 1.7 21-Aug-2007  skd Enable LFS from sysinstall.
 1.6 11-Nov-2006  jmmv Move lfs_cleanerd from /usr/libexec to /libexec. This is to allow putting
the root file system on a LFS volume.

Addresses PR bin/30407. No objections in tech-userlevel@.
 1.5 29-Apr-2004  dsl Add /targetroot (used by sysinst) so that sysinst can work on sparc (etc)
systems booted off a readonly miniroot.
 1.4 09-May-2003  lukem branches: 1.4.2;
Don't bother building var/db/obsolete/* files for the install media;
this stuff is in the base.tgz distribution, and it's better to have
postinstall fix it up than use the (dodgy) code in sysinst.
 1.3 22-Feb-2003  lukem all:
Use /var/db/obsolete instead of /etc/obsolete

etc/Makefile:
Create separate target "install-obsolete-files" to populate
/var/db/obsolete, instead of using "install-etc-files".

Makefile:
Add do-obsolete target, to run "cd etc && make install-obsolete-files",
and add this to BUILDTARGETS.
This moves the "obsolete files" creation from "distribution" to "build".


Per discussion with Andrew Brown.
 1.2 20-Feb-2003  lukem install obsolete set lists as /etc/obsolete/%s not /dist/%s_obsolete
 1.1 08-Feb-2002  lukem - cleanup image device creation: add Makefile.makedev & list.makedev,
remove dist/*, now that they're not needed.
if MAKEDEVTARGETS is set, use MAKEDEV.wrapper and makedev2spec.awk to
create an mtree specfile containing the devices that would be made with
"etc/etc.${MACHINE}/MAKEDEV $MAKEDEVTARGETS".
otherwise, copy etc/etc.${MACHINE}/MAKEDEV to dev/MAKEDEV (via list.makedev)
- add mtree.common; contains directories used by all images, and optional
entries for dist/*
 1.4.2.1 30-Apr-2004  jmc Pullup rev 1.5 (requested by dsl in ticket #238)

Add /targetroot (used by sysinst) so that sysinst can work on sparc (etc)
systems booted off a readonly miniroot.
 1.8.18.1 13-May-2009  jym Sync with HEAD.

Third (and last) commit. See http://mail-index.netbsd.org/source-changes/2009/05/13/msg221222.html
 1.8.10.1 05-Oct-2008  mjf Sync with HEAD.
 1.1 03-May-2002  lukem branches: 1.1.34;
provide common/mtree.dot (contains entry for ". type=dir ...") , and
use that rather than MTREE entry in the list, because Makefile.image
needs at least one mtree file anyway
 1.1.34.1 05-Oct-2008  mjf Sync with HEAD.
 1.3 23-Feb-2020  roy branches: 1.3.4;
ramdisk-zfsroot: We no longer need to have /etc/zfs in mtree

Now that mountall doesn't rely on /etc/zfs/zpool.cache being present.
 1.2 23-Feb-2020  roy zfs: Allow modules to be loaded once in the ZFS chroot

Rather than copying the needed modules from FFS to the ramdisk,
load then directly from FFS instead.

This way, we can symlink ramdisk stand into /altroot and let nature take
it's course like loading firmware.

Set shell exit on error rather than using chained commands.
zpool import seems to SIGBUS randomly on amd64 and if we didn't do the
former then zpool would hang the init. Now at least we exit to the shell.
 1.1 22-Feb-2020  roy zfs: build a ramdisk on amd64 with enough to mount rpool/ROOT on /

Until we get ZFS integrated into our boot loader, this is the next best
thing. The idea is simple - have a small FFS partition with a kernel,
modules and this ramdisk. Once the ramdisk boots it will mount the FFS
partition read only, copy the needed ZFS modules to the ramdisk and then
unmount the partition. Then we import the ZFS root pool, mount the
ZFS root filesystem and then pivot to it.

Because the initial FFS partition is not mounted at this point, we
can mount it in /altroot so we can replace the kernel and modules with
newer ones so it's easily maintainable.

This ZFS boot strapper currently makes the following assumptions:
* The device NAME=boot is the FFS with kernel, modules and this ramdisk.
* The ZFS root pool and root filesystem are called rpool/ROOT.

A boot.cfg menu entry can then be added like so:
menu=Boot ZFS root:fs /ramdisk-zfsroot.fs;boot
 1.3.4.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.3.4.1 23-Feb-2020  martin file mtree.zfsroot was added on branch phil-wifi on 2020-04-08 14:03:44 +0000
 1.17 16-Apr-2024  christos Set LC_ALL=C before calling sort so that it works consistently. Unfortunately
ENVIRON["LC_ALL"] = "C"; does not work like in gawk (Jan-Benedict Glaw)
 1.16 10-Apr-2009  apb Add LINKSOWN, LINKSGRP, and LINKSMODE variables for use by bsd.links.mk
when installing hard links. They have no effect except when using a
metalog, in which case the information is added to the metalog. In
the future, these variables may be replaced by a method for explicitly
recording hard links in a metadata log.

Also change a few things that called ${INSTALL_LINK} without going
through bsd.links.mk.

Reviewed by perry and joerg. This should fix PR 24457 and PR 41155.
 1.15 30-Apr-2008  martin branches: 1.15.4; 1.15.6; 1.15.8;
Convert TNF licenses to new 2 clause variant
 1.14 16-Sep-2002  thorpej branches: 1.14.32; 1.14.34;
Don't escape constructs like ${FOO} in printf statements. awk doesn't
expand variables like that in printfs, and the escapes end up in the
output in some versions of awk.
 1.13 15-Sep-2002  thorpej Escape { and } in the regexp that matches e.g. ${FOO}.
 1.12 18-Aug-2002  lukem support "mode=install", which generates a Makefile with an install target.
 1.11 29-May-2002  lukem - for COPY, default perm to 0444 if it's not supplied
- for COPYDIR, use perms of 0444 for files
- set perm to crunchgen program to 0555
- for mode=populate, add `` || exit 1'' after `` ( ... ) '' to
ensure that sh -e correctly exits upon failure...
 1.10 10-Apr-2002  lukem branches: 1.10.2;
Improve wording for COPYDIR M.
Inspired by email on tech-install@ from Klaus Heinz <klaus.heinz@onlinehome.de>
 1.9 14-Mar-2002  lukem parselist.awk
- improve comments
- provide a general purpose variable replacement; replace contents of ${FOO}
with ENVIRON["FOO"].
- deprecate @MACHINE@ and @MACHINE_ARCH@ in favour of using ${MACHINE}
and ${MACHINE_ARCH} instead
- add errx() function; like err(), but doesn't print the line number
- invoke this script with various variables defined via PARSELISTENV

*/Makefile*
- use PARSELISTENV instead of POPULATEENV, and add variables like DESTDIR
- other minor tweaks

*/list*
- replace @MACHINE@ with ${MACHINE}
 1.8 14-Mar-2002  lukem in COPYDIR, don't run the find's if the cd failed
 1.7 14-Mar-2002  lukem cosmetic tweaks: sort some variable lists, improve descriptions, [...]
 1.6 07-Mar-2002  lukem add MTREE keyword, which just outputs its args "as is" for mode=mtree
 1.5 06-Mar-2002  lukem COPYDIR: output "./destdir" not "./destdir/." for the first entry
 1.4 05-Mar-2002  lukem implement COPYDIR for mtree and populate modes
 1.3 07-Feb-2002  lukem - improve error checking
- add support for passing variables to parselist.awk that are used to replace
text in each line of the lists. currently supported strings:
text variable
---- --------
@MACHINE_ARCH@ MACHINE_ARCH
@MACHINE@ MACHINE
 1.2 05-Feb-2002  lukem replace /unset mode with /unset all
 1.1 03-Feb-2002  lukem distrib/common - shared files for building distribution media, initially
comprising of:

Makefile.crunch
build a crunchgen(1)ed binary from the provided lists

Makefile.image
build a tree from the provided lists, and
build an ffs file system image from that tree using makefs(8),
without requiring root privileges

parselist.awk
parse list files generating different output:
crunchgen config
mtree specfile
sh commands to populate a tree
 1.10.2.2 15-Oct-2002  lukem Pull up revision 1.13 (requested by thorpej in ticket #824):
Escape { and } in the regexp that matches e.g. ${FOO}.
 1.10.2.1 29-May-2002  lukem Pull up revision 1.11 (requested by lukem):
- for COPY, default perm to 0444 if it's not supplied
- for COPYDIR, use perms of 0444 for files
- set perm to crunchgen program to 0555
- for mode=populate, add `` || exit 1'' after `` ( ... ) '' to
ensure that sh -e correctly exits upon failure...
 1.14.34.1 18-May-2008  yamt sync with head.
 1.14.32.2 05-Oct-2008  mjf Sync with HEAD.
 1.14.32.1 02-Jun-2008  mjf Sync with HEAD.
 1.15.8.1 06-Jun-2009  bouyer branches: 1.15.8.1.2;
Pull up following revision(s) (requested by snj in ticket #790):
share/mk/bsd.lib.mk: revision 1.298
share/mk/bsd.man.mk: revision 1.100
share/mk/bsd.hostprog.mk: revision 1.55
distrib/sets/maketars: revision 1.66
share/zoneinfo/Makefile: revision 1.43
share/mk/bsd.kmodule.mk: revision 1.19
usr.bin/xinstall/xinstall.c: revisions 1.106 - 1.108 via patch
share/mk/bsd.prog.mk: revision 1.241
share/dict/Makefile: revision 1.17
share/mk/bsd.README: revision 1.249
distrib/common/parselist.awk: revision 1.16
share/mk/bsd.links.mk: revision 1.34
Explicitly sort entries on preparing set files from METALOG.
METALOG could have different order due to install(1) race
on parallel builds, and mtree(8) doesn't sort files.
Should fix inconsistent shared sets among builds as seen in
/pub/NetBSD-daily/netbsd-5/200904010000Z/shared/ and
/pub/NetBSD-daily/netbsd-5/200904010002Z/shared/ dirs.
Okay'ed by snj@.
Changes for installing with a metalog:
* When installing hard links and using a metalog, if -o, -g, -m, or -f
args were explicitly specified on the command line, then believe them,
but do not implicitly believe uname/gname/mode/flags from the file
system.
* Output fields in the same order used by mtree.
Fix -Wshadow -Wcast-qual issues
Re-calculate size and digestresult after stripping, to ensure that
correct values appear in the metalog.
Add LINKSOWN, LINKSGRP, and LINKSMODE variables for use by bsd.links.mk
when installing hard links. They have no effect except when using a
metalog, in which case the information is added to the metalog. In
the future, these variables may be replaced by a method for explicitly
recording hard links in a metadata log.
Also change a few things that called ${INSTALL_LINK} without going
through bsd.links.mk.
Reviewed by perry and joerg. This should fix PR 24457 and PR 41155.
 1.15.8.1.2.1 21-Apr-2010  matt sync to netbsd-5
 1.15.6.1 13-May-2009  jym Sync with HEAD.

Third (and last) commit. See http://mail-index.netbsd.org/source-changes/2009/05/13/msg221222.html
 1.15.4.1 06-Jun-2009  bouyer Pull up following revision(s) (requested by snj in ticket #790):
share/mk/bsd.lib.mk: revision 1.298
share/mk/bsd.man.mk: revision 1.100
share/mk/bsd.hostprog.mk: revision 1.55
distrib/sets/maketars: revision 1.66
share/zoneinfo/Makefile: revision 1.43
share/mk/bsd.kmodule.mk: revision 1.19
usr.bin/xinstall/xinstall.c: revisions 1.106 - 1.108 via patch
share/mk/bsd.prog.mk: revision 1.241
share/dict/Makefile: revision 1.17
share/mk/bsd.README: revision 1.249
distrib/common/parselist.awk: revision 1.16
share/mk/bsd.links.mk: revision 1.34
Explicitly sort entries on preparing set files from METALOG.
METALOG could have different order due to install(1) race
on parallel builds, and mtree(8) doesn't sort files.
Should fix inconsistent shared sets among builds as seen in
/pub/NetBSD-daily/netbsd-5/200904010000Z/shared/ and
/pub/NetBSD-daily/netbsd-5/200904010002Z/shared/ dirs.
Okay'ed by snj@.
Changes for installing with a metalog:
* When installing hard links and using a metalog, if -o, -g, -m, or -f
args were explicitly specified on the command line, then believe them,
but do not implicitly believe uname/gname/mode/flags from the file
system.
* Output fields in the same order used by mtree.
Fix -Wshadow -Wcast-qual issues
Re-calculate size and digestresult after stripping, to ensure that
correct values appear in the metalog.
Add LINKSOWN, LINKSGRP, and LINKSMODE variables for use by bsd.links.mk
when installing hard links. They have no effect except when using a
metalog, in which case the information is added to the metalog. In
the future, these variables may be replaced by a method for explicitly
recording hard links in a metadata log.
Also change a few things that called ${INSTALL_LINK} without going
through bsd.links.mk.
Reviewed by perry and joerg. This should fix PR 24457 and PR 41155.
 1.1 01-May-2008  garbled branches: 1.1.4; 1.1.6;
Add a stripped down protocols file, similar to how services was done. If
you use this instead, you save about 21k on the install media.
 1.1.6.3 05-Oct-2008  mjf Sync with HEAD.
 1.1.6.2 02-Jun-2008  mjf Sync with HEAD.
 1.1.6.1 01-May-2008  mjf file protocols was added on branch mjf-devfs2 on 2008-06-02 13:21:12 +0000
 1.1.4.2 18-May-2008  yamt sync with head.
 1.1.4.1 01-May-2008  yamt file protocols was added on branch yamt-pf42 on 2008-05-18 12:29:34 +0000
 1.1 18-Sep-2009  abs Merge four separate copies of list2sh.awk runlist.sh (three identical
and one with slightly less options). Release build verified on amiga,
bebox and evbsh3. Vax build fails for unrelated reason.
 1.4 20-Sep-2009  abs Move sun2, sun3 & x68k across to the common distrib etc/services, and
while here reduce it from 1180 to 794 bytes (whitespace & comment cleanup)
 1.3 11-Apr-2008  rafal Add 'sunrpc' so mount_nfs from an install ramdisk works. Otherwise, you get
a silent failure from the ramdisk mount_nfs binary.
 1.2 11-May-2007  dogcow branches: 1.2.12;
As Jukka Salmi pointed out, the previous version had duplicated lines;
this is because I committed the wrong (and much larger) version of the file.
Oops.
 1.1 10-May-2007  dogcow Since /etc/services has gotten rather large, use a minimal one for install
kernels. (mount_nfs is notably the only binary that doesn't gracefully deal
with the lack of an /etc/services file, it appears.)
 1.2.12.2 05-Oct-2008  mjf Sync with HEAD.
 1.2.12.1 02-Jun-2008  mjf Sync with HEAD.
 1.7 16-Sep-2018  kre Remove test ([) -o usage, and make a couple of minor cleanups as well.
 1.6 22-Feb-2012  martin branches: 1.6.32; 1.6.34;
Fix typo in usage
 1.5 30-Apr-2008  martin branches: 1.5.20;
Convert TNF licenses to new 2 clause variant
 1.4 22-Sep-2004  snj branches: 1.4.26; 1.4.28;
Typo police: sytem -> system.
 1.3 10-Jul-2003  lukem revert previous accidental commit (just whitespace tyop in this case)
 1.2 10-Jul-2003  lukem Rename a large chunk of the make(1) variables which refer to a
program/tool from "FOO" to "TOOL_FOO". The new variables are:
TOOL_ASN1_COMPILE TOOL_CAP_MKDB TOOL_CAT TOOL_CKSUM TOOL_COMPILE_ET
TOOL_CONFIG TOOL_CRUNCHGEN TOOL_CTAGS TOOL_DB TOOL_EQN TOOL_FGEN
TOOL_GENCAT TOOL_GROFF TOOL_HEXDUMP TOOL_INDXBIB TOOL_INSTALLBOOT
TOOL_INSTALL_INFO TOOL_M4 TOOL_MAKEFS TOOL_MAKEINFO TOOL_MAKEWHATIS
TOOL_MDSETIMAGE TOOL_MENUC TOOL_MKCSMAPPER TOOL_MKESDB
TOOL_MKLOCALE TOOL_MKMAGIC TOOL_MKTEMP TOOL_MSGC TOOL_MTREE
TOOL_PAX TOOL_PIC TOOL_PREPMKBOOTIMAGE TOOL_PWD_MKDB TOOL_REFER
TOOL_ROFF_ASCII TOOL_ROFF_DVI TOOL_ROFF_HTML TOOL_ROFF_PS
TOOL_ROFF_RAW TOOL_RPCGEN TOOL_SOELIM TOOL_SUNLABEL TOOL_TBL
TOOL_UUDECODE TOOL_VGRIND TOOL_ZIC

For each, provide default in <bsd.sys.mk> of the form:
TOOL_FOO?= foo
and for the ${USETOOLS}=="yes" case in <bsd.own.mk>, provide override:
TOOL_FOO= ${TOOLDIR}/bin/${_TOOL_PREFIX}foo

Document all of these in bsd.README.

This cleans up a chunk of potential (and actual) namespace collision
within our build infrastructure, as well as improves consistency in
the share/mk documentation and provision of appropriate defaults for
each of these variables.
 1.1 07-Mar-2003  lukem Script to make a file system image (usually .iso) bootable by Sun
computers, by appending appropriate boot file systems to the image and
then creating a disklabel using sunlabel(8).

Inspired by distrib/utils/mksunbootcd, except that this is a shell script
instead of being a C program that would have needed to become a host tool.
 1.4.28.1 18-May-2008  yamt sync with head.
 1.4.26.2 05-Oct-2008  mjf Sync with HEAD.
 1.4.26.1 02-Jun-2008  mjf Sync with HEAD.
 1.5.20.1 17-Apr-2012  yamt sync with head
 1.6.34.1 10-Jun-2019  christos Sync with HEAD
 1.6.32.1 30-Sep-2018  pgoyette Ssync with HEAD
 1.2 05-Feb-2010  roy Use the rescue terminfo.db in our images instead of termcap.
 1.1 20-Sep-2009  abs 34 different termcap subsets, plus a couple of ports still using
the full termcap distfile. In an attempt to reduce the madness
switch everyone (except the i386 cd install which does its own
thing) to the same (under 8K) termcap subset:

ansi ansi/pc-term compatible with color
dumb|unknown 80-column dumb tty
hp300h HP Catseye console
iris-ansi-ap IRIS ANSI in application-keypad mode
iris-ansi|iris-ansi-net IRIS emulating 40 line ANSI terminal (almost VT100)
sun|sun1|sun2|sun-il Sun Microsystems Inc. console with working insert-line
vt100|vt100-am DEC VT100 (w/advanced video)
vt220-8 DEC VT220 8 bit terminal
vt220|vt200|vt300 DEC VT220 in vt100 emulation mode
wsvt25 NetBSD wscons in 25 line DEC VT220 mode
wsvt25m NetBSD wscons in 25 line DEC VT220 mode with Meta
x68k|x68k-ite NetBSD/x68k ITE
xterm|vs100 xterm terminal emulator (X Window System)

Trying to provide similar functionality across all ports? It'll never
catch on...
 1.6 20-Sep-2009  abs 34 different termcap subsets, plus a couple of ports still using
the full termcap distfile. In an attempt to reduce the madness
switch everyone (except the i386 cd install which does its own
thing) to the same (under 8K) termcap subset:

ansi ansi/pc-term compatible with color
dumb|unknown 80-column dumb tty
hp300h HP Catseye console
iris-ansi-ap IRIS ANSI in application-keypad mode
iris-ansi|iris-ansi-net IRIS emulating 40 line ANSI terminal (almost VT100)
sun|sun1|sun2|sun-il Sun Microsystems Inc. console with working insert-line
vt100|vt100-am DEC VT100 (w/advanced video)
vt220-8 DEC VT220 8 bit terminal
vt220|vt200|vt300 DEC VT220 in vt100 emulation mode
wsvt25 NetBSD wscons in 25 line DEC VT220 mode
wsvt25m NetBSD wscons in 25 line DEC VT220 mode with Meta
x68k|x68k-ite NetBSD/x68k ITE
xterm|vs100 xterm terminal emulator (X Window System)

Trying to provide similar functionality across all ports? It'll never
catch on...
 1.5 22-Dec-2008  tsutsui Regen (add RCS Id).
 1.4 21-May-2008  rafal Add 'xterm' and 'ansi' to termcap.mini (and the mktermcap script which is
used to generate it), use termcap.mini in evbarm ramdisk (vs. the full
termap DB) which frees up a bit of room to add dhclient and cu.
 1.3 02-Feb-2008  christos branches: 1.3.2; 1.3.6; 1.3.8; 1.3.10; 1.3.12;
add a script to generate the mini-termcap and use it.
 1.2 01-Feb-2008  tsutsui Remove an entry for obsolete pccons.
 1.1 01-Feb-2008  tsutsui Move and share a common termcap.mini file.
 1.3.12.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.3.10.1 04-Jun-2008  yamt sync with head
 1.3.8.2 23-Mar-2008  matt sync with HEAD
 1.3.8.1 02-Feb-2008  matt file termcap.mini was added on branch matt-armv6 on 2008-03-23 00:21:01 +0000
 1.3.6.2 05-Oct-2008  mjf Sync with HEAD.
 1.3.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.3.2.2 02-Feb-2008  christos add a script to generate the mini-termcap and use it.
 1.3.2.1 02-Feb-2008  christos file termcap.mini was added on branch mjf-devfs on 2008-02-02 21:02:30 +0000
 1.5 14-Apr-2020  roy We solves the zpool SIGBUS issue by building a threaded libhack.
 1.4 25-Feb-2020  roy branches: 1.4.4;
ramdisk-zfsroot: Remove the module loading magic

It's been determined that it's too magical and it's either the job
of the bootloader or you compile it into the kernel yourself.

This entry works in /boot.cfg:

menu=Boot ZFS Root:load solaris;load zfs;fs /ramdisk-zfsroot.fs;boot
 1.3 23-Feb-2020  roy ramdisk-zfsroot: We no longer need to have /etc/zfs in mtree

Now that mountall doesn't rely on /etc/zfs/zpool.cache being present.
 1.2 23-Feb-2020  roy zfs: Allow modules to be loaded once in the ZFS chroot

Rather than copying the needed modules from FFS to the ramdisk,
load then directly from FFS instead.

This way, we can symlink ramdisk stand into /altroot and let nature take
it's course like loading firmware.

Set shell exit on error rather than using chained commands.
zpool import seems to SIGBUS randomly on amd64 and if we didn't do the
former then zpool would hang the init. Now at least we exit to the shell.
 1.1 22-Feb-2020  roy zfs: build a ramdisk on amd64 with enough to mount rpool/ROOT on /

Until we get ZFS integrated into our boot loader, this is the next best
thing. The idea is simple - have a small FFS partition with a kernel,
modules and this ramdisk. Once the ramdisk boots it will mount the FFS
partition read only, copy the needed ZFS modules to the ramdisk and then
unmount the partition. Then we import the ZFS root pool, mount the
ZFS root filesystem and then pivot to it.

Because the initial FFS partition is not mounted at this point, we
can mount it in /altroot so we can replace the kernel and modules with
newer ones so it's easily maintainable.

This ZFS boot strapper currently makes the following assumptions:
* The device NAME=boot is the FFS with kernel, modules and this ramdisk.
* The ZFS root pool and root filesystem are called rpool/ROOT.

A boot.cfg menu entry can then be added like so:
menu=Boot ZFS root:fs /ramdisk-zfsroot.fs;boot
 1.4.4.3 21-Apr-2020  martin Sync with HEAD
 1.4.4.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.4.4.1 25-Feb-2020  martin file zfsroot.rc was added on branch phil-wifi on 2020-04-08 14:03:44 +0000
 1.46 26-Apr-2025  pgoyette Add new file-system spec.in for KERNEL_DIR=yes
 1.45 02-Feb-2025  tsutsui Use FFSv2 for amd64 live-image and install-image via new $IMGFFSVERSION.

Fixes PR/59007.
 1.44 18-Jan-2025  tsutsui FAT (for ESP) is always LE so "-B endian" for makefs(8) is not necessary.

(not sure if there is any "EFI on big endian CPU" system though)
 1.43 10-Jan-2025  tsutsui Remove "(untested)" comment from INSTALLBOOT_AFTER_DISKLABEL.

Also note vax requires it.
 1.42 31-Dec-2024  jmmv Do not include tests in boot images if MKATF=no
 1.41 26-Jun-2024  martin branches: 1.41.2;
Now that we label GPT partitions, adjust the generated fdisk to match.
 1.40 25-Jun-2024  martin Short the root wedge name to NBImgRoot (to get NAME=NBImgRoot below 16 chars
 1.39 25-Jun-2024  martin Previous did not work out well - ${INSTIMGBASE} was not always set here
and spaces in the label name confuse the (over simplistic) xen command
line parser. Use (fixed) "NetBSD_ImageRoot" instead for the root partition.
 1.38 24-Jun-2024  martin Try to give the root partition a usable (but unique enough) name
if we use GPT. This helps when booting without a bootloader (e.g. in
qemu) and passing boot arguments to identify the root partition.
 1.37 18-May-2024  christos include all extra flavors of the kernel and use the proper variable for
the machine dependent installation directory.
 1.36 16-May-2024  christos Apply the -xx treatment to the rest of the ffs makefs invocations.
 1.35 22-Apr-2024  nia Move MIPS N64 compat out of {base,debug}32 into {base,debug}64

martin requested separation by ABI and it doesn't make much sense
to have 64-bit binaries in a set called 32.
 1.34 09-Apr-2024  nia Add new sets: base32, debug32, manhtml

- base32 contains (when MKCOMPAT=yes) shared libraries for 32-bit
compatibility, previously included in base

- debug32 contains (when MKCOMPAT=yes) debug symbols and static libraries
containing debug symbols for 32-bit compatiblity, previously included
in debug

- manhtml contains (when MKHTML=yes) the HTML files previously included
in 'man', which are of limited utility without third-party software.

The motivation for this change is to be able to easily exclude sets
from CD-ROM images that go over the size limit without xz compression
(which many NetBSD platforms struggle to extract at acceptable speeds).
 1.33 08-Feb-2024  christos PR/57910: Jan-Benedict Glaw: Fix typo preventing reproducible builds
 1.32 03-Dec-2023  tsutsui Use defined ${GPTSECTORS} rather than hardcoded 2048.
 1.31 03-Dec-2023  tsutsui Document USE_GPTMBR and GPTSECTORS.
 1.30 15-May-2022  mrg branches: 1.30.2;
allow some invocations of expr(1) to "fail" - expr(1) returns "1" is
the expression expands to "0" or empty, and sometimes these values end
up correctly being 0.
 1.29 25-Sep-2021  maya Move DRM-driver firmware from base to its own set, gpufw

This set is only installed on amd64,i386,evbarm.
This set is installed on minimal installs and on install media, in
case someone needs it for basic driver functionality.

Comments:
Switched to a single MK tunable for it - that is probably unneeded.

An upcoming DRM update will include even fatter firmware, and we'd
like to minimize the impact of it.
 1.28 24-Jul-2021  jmcneill bootimage: allow appending additional rc.conf options

If RC_CONF_EXTRA is defined, append the contents of this file to the
target file-system's rc.conf
 1.27 04-Jun-2021  tsutsui Check and remove a stale work file for UEFI images with incorrect size.

Fixes PR/56132 (build.sh target install-image fails in update-mode).
 1.26 05-Aug-2020  jmcneill branches: 1.26.4;
Add support for EC2 and resize root to AMD64 live images.
 1.25 28-May-2020  jmcneill Only install gptmbr.bin if USE_GPTMBR=yes
 1.24 21-Mar-2020  tsutsui Add "live-image with a FAT partition for bootstrap files" support.

See PR/55075 for more details.
 1.23 21-Nov-2019  joerg Merge amd64's UEFI logic back into the generic bootimage handling.
 1.22 02-Oct-2019  maya Split out /rescue to its own set and adapt installers/images to add it.

This is meant to make updates safer: if something goes wrong with updating
base, we still have the old, standalone /rescue to recover from.
 1.21 22-Feb-2019  tsutsui branches: 1.21.2;
Reduce diffs between common and amd64 uefi Makefile.bootimage files.

No functional change.
 1.20 15-Dec-2018  gson Use the special device name "ROOT." in /etc/fstab not just on the arm
images, but also on the bootable disk images of other ports, so that
they can be booted from differently named devices. Merge the i386 and
amd64 -live-sd0root and -live-wd0root images into a single live image
per port, bootable both from usb media and in qemu. Drop the -xx0root
suffixes from image names as they are no longer meaningful.
 1.19 19-Nov-2018  aymeric Make building boot images work with xz sets on non-NetBSD hosts.

NetBSD gzip is not toolified so we can't assume the host gzip will be able
to decompress xz files. Use the toolified xz instead in the USE_XZ_SETS case.
 1.18 07-Oct-2018  martin Support .tar.xz sets
 1.17 11-Feb-2017  pgoyette branches: 1.17.10; 1.17.12;
Remove leftover "-f" from when this used to be a cp command.

Unbreak the build for install-image target.
 1.16 11-Feb-2017  christos remove extra endif
 1.15 11-Feb-2017  christos more MKREPRO_TIMESTAMP fixes (for pax/tar generated files)
 1.14 10-Feb-2017  christos Initial pass to be unaffected by build umask on build artifacts
1. ${MKDIR} -> ${MKDIR} ${MKDIRPERM}
2. ${CP} -> ${INSTALL} ${COPY} -m <perm>
 1.13 24-Jan-2017  christos use the same logic to compute the timestamp like the other files
 1.12 25-Nov-2015  christos branches: 1.12.2; 1.12.4;
PR/50360: Thomas Klausner: if MKREPRO is set, provide a consistent timestamp
for the files in the cdroms to be built. For now we copy the timestamp of
<sys/param.h>. We could set an absolute timestamp too like -T 0 for the epoch.
 1.11 08-May-2015  riastradh Fix ytpo: INSTALLBOOTOPTIONS, not INSTALLBOOTOPTOINS.

From qjsgkem on Freenode.
 1.10 12-Mar-2015  snj unbreak amd64 install images by passing ipty to MAKEDEV. revision 1.21
of etc/etc.amd64/MAKEDEV.conf removed them from 'all'. (hi christos!)
 1.9 05-Aug-2014  apb branches: 1.9.2;
Use ${TOOL_GZIP_N} instead of ${TOOL_GZIP} -n, and similarly
use ${TOOL_GZIP_N} -9 instead of ${TOOL_GZIP} -9n, etc.

This will pass -nT instead of just -n if the gzip program is
actually pigz.
 1.8 27-Jan-2014  apb branches: 1.8.2;
Pass the -n flag to gzip invocations.

This prevents it from embedding a timestamp in the output. We pass
"-n" unconditionally, not conditional on MKREPRO, because many other
invocations of gzip already passed the -n flag unconditionally.
 1.7 16-Jan-2014  christos eliminate use of bsd.sys.mk from Makefiles
 1.6 22-Apr-2012  tsutsui branches: 1.6.2;
Fix typo in comments.
 1.5 22-Apr-2012  tsutsui Add two optional variables for liveimage/installimage builds:
---
MBR_BOOTCODE
optional MBR bootcode which should be installed by fdisk(8)
(default: empty)
- specified MBR_BOOTCODE must exist in ${DESTDIR}/usr/mdec
- if MBR_BOOTCODE is not specified,
MBR_DEFAULT_BOOTCODE (default: mbr) will be used
if the target ${MACHINE} has the one in /usr/mdec

INSTALLBOOTOPTIONS
options passed to installboot(8), e.g., -o console=com0
(default: empty)
---
Proposed by Brook Milligan on current-users@:
http://mail-index.NetBSD.org/current-users/2012/04/16/msg019892.html

Also make USE_MBR work on ${MACHINE}s which don't have the default
/usr/mdec/mbr bootcode. (no such port has the liveimage target yet though)

XXX: tools fdisk(8) implicitly uses host's /usr/mdec/mbr for the default
XXX: bootcode even for non-x86 targets if host is x86
 1.4 09-Apr-2012  riz branches: 1.4.2;
s/Createing/Creating/
 1.3 22-Jan-2012  tsutsui branches: 1.3.2;
Appease warnings `"expr 0 \* 1024 \* 1024 / 512" returned non-zero status.'

SWAPMB could be zero (in install-image case) and
expr(1) returns exit status 1 in that case. Umm.
 1.2 22-Jan-2012  tsutsui Fix checks for RELEASEDIR (and xxxxIMGBASE) variables to perform it
only on live_image or install_image targets. PR toolchain/45864
 1.1 22-Jan-2012  tsutsui Add "live-image" and "install-image" target support to build.sh.

"live-image" target builds pre-installed disk images that can be used on
emulators or boot from USB memory sticks to try NetBSD without installation.
Currently amd64, i386, pmax, sparc, sparc64, sun2, sun3, and vax
(which have working emulators and don't require extra tools like preparing
msdosfs or partitioning MD label structures) support this target.

"install-image" target builds an bootable installation disk image that can
be used as an install CD but burned into USB memory sticks etc.
Current only amd64 and i386 (which would support USB boot) have this target.

For more details (and known issue) see following posts on netbsd-bugs@:
http://mail-index.NetBSD.org/netbsd-bugs/2011/08/06/msg023639.html
http://mail-index.NetBSD.org/netbsd-bugs/2011/09/23/msg024207.html
http://mail-index.NetBSD.org/netbsd-bugs/2011/12/07/msg025166.html
http://mail-index.NetBSD.org/netbsd-bugs/2011/12/08/msg025178.html

No particular comments about implementation, and
"go ahead" comments from mrg@, riz@ and christos@.

Closes PR toolchain/45153 and PR misc/45155.
 1.3.2.1 09-May-2012  riz Pull up following revision(s) (requested by tsutsui in ticket #235):
distrib/common/bootimage/Makefile.bootimage: revision 1.5
Add two optional variables for liveimage/installimage builds:
---
MBR_BOOTCODE
optional MBR bootcode which should be installed by fdisk(8)
(default: empty)
- specified MBR_BOOTCODE must exist in ${DESTDIR}/usr/mdec
- if MBR_BOOTCODE is not specified,
MBR_DEFAULT_BOOTCODE (default: mbr) will be used
if the target ${MACHINE} has the one in /usr/mdec
INSTALLBOOTOPTIONS
options passed to installboot(8), e.g., -o console=com0
(default: empty)
---
Proposed by Brook Milligan on current-users@:
http://mail-index.NetBSD.org/current-users/2012/04/16/msg019892.html
Also make USE_MBR work on ${MACHINE}s which don't have the default
/usr/mdec/mbr bootcode. (no such port has the liveimage target yet though)
XXX: tools fdisk(8) implicitly uses host's /usr/mdec/mbr for the default
XXX: bootcode even for non-x86 targets if host is x86
 1.4.2.4 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.4.2.3 23-May-2012  yamt sync with head.
 1.4.2.2 17-Apr-2012  yamt sync with head
 1.4.2.1 09-Apr-2012  yamt file Makefile.bootimage was added on branch yamt-pagecache on 2012-04-17 00:02:32 +0000
 1.6.2.1 19-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.8.2.1 10-Aug-2014  tls Rebase.
 1.9.2.1 30-Jul-2015  snj Pull up following revision(s) (requested by riastradh in ticket #902):
distrib/common/bootimage/Makefile.bootimage: revision 1.11
Fix ytpo: INSTALLBOOTOPTIONS, not INSTALLBOOTOPTOINS.
From qjsgkem on Freenode.
 1.12.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.12.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.17.12.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.17.12.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.17.12.1 10-Jun-2019  christos Sync with HEAD
 1.17.10.3 26-Dec-2018  pgoyette Sync with HEAD, resolve a few conflicts
 1.17.10.2 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.17.10.1 20-Oct-2018  pgoyette Sync with head
 1.21.2.2 24-Apr-2020  martin Pull up following revision(s) (requested by tsutsui in ticket #846):

distrib/hpcarm/Makefile: revision 1.7
distrib/amd64/uefi-installimage/Makefile: revision 1.7
distrib/common/bootimage/Makefile.installimage: revision 1.6
distrib/hpcarm/liveimage/spec.in: revision 1.1
distrib/common/bootimage/Makefile.bootimage: revision 1.23
distrib/common/bootimage/Makefile.bootimage: revision 1.24
distrib/zaurus/liveimage/Makefile: revision 1.1
distrib/amd64/uefi-installimage/Makefile.installimage: revision 1.3
distrib/zaurus/Makefile: revision 1.3
distrib/hpcarm/liveimage/Makefile: revision 1.1
distrib/zaurus/liveimage/spec.in: revision 1.1
distrib/common/bootimage/diskproto.mbrfat.in: revision 1.1
distrib/amd64/uefi-installimage/Makefile.bootimage: revision 1.13
distrib/hpcarm/liveimage/fstab.in: revision 1.1
distrib/zaurus/liveimage/fstab.in: revision 1.1

Merge amd64's UEFI logic back into the generic bootimage handling.

Add "live-image with a FAT partition for bootstrap files" support.
See PR/55075 for more details.

Add "build.sh live-image" support for zaurus.
Tested on SL-C3000 and SL-C700.
See also PR/55075 for live-image with FAT partition support.

Add "build.sh live-image" support for hpcarm.
Tested on WS003SH.
See also PR/55075 for live-image with FAT partition support.
 1.21.2.1 17-Nov-2019  martin Pull up following revision(s) (requested by maya in ticket #435):

distrib/sets/maketars: revision 1.90
usr.sbin/sysinst/arch/playstation2/md.h: revision 1.2
usr.sbin/sysinst/arch/sandpoint/md.h: revision 1.3
usr.sbin/sysinst/arch/evbppc/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcarm/md.h: revision 1.3
usr.sbin/sysinst/arch/mvme68k/md.h: revision 1.3
distrib/sun3/MakeInstTape: revision 1.3
usr.sbin/sysinst/util.c: revision 1.33
distrib/sets/lists/rescue/mi: revision 1.1
distrib/sets/lists/base/rescue.sun2: file removal
usr.sbin/sysinst/arch/zaurus/md.h: revision 1.3
distrib/sets/lists/base/rescue.ad.m68k.shl: file removal
distrib/sets/regpkgset: revision 1.13
usr.sbin/sysinst/arch/i386/md.h: revision 1.7
distrib/sets/lists/base/rescue.sparc: file removal
distrib/notes/mvme68k/xfer: revision 1.19
distrib/sets/sets.subr: revision 1.187
distrib/common/bootimage/Makefile.bootimage: revision 1.22
usr.sbin/sysinst/msg.mi.de: revision 1.16
usr.sbin/sysinst/arch/atari/md.h: revision 1.3
rescue/Makefile: revision 1.38
distrib/sets/lists/base/rescue.macppc: file removal
usr.sbin/sysinst/arch/arc/md.h: revision 1.4
distrib/miniroot/install.sub: revision 1.49
usr.sbin/sysinst/arch/acorn32/md.h: revision 1.3
usr.sbin/sysinst/arch/x68k/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcmips/md.h: revision 1.3
usr.sbin/sysinst/arch/bebox/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcsh/md.h: revision 1.2
distrib/sets/lists/base/rescue.shark: file removal
usr.sbin/sysinst/arch/emips/md.h: revision 1.5
distrib/utils/embedded/mkimage: revision 1.70
usr.sbin/sysinst/arch/shark/md.h: revision 1.3
usr.sbin/sysinst/arch/pmax/md.h: revision 1.4
usr.sbin/sysinst/arch/amiga/md.h: revision 1.4
usr.sbin/sysinst/arch/hp300/md.h: revision 1.5
rescue/list.ldconfig: file removal
distrib/sets/lists/base/rescue.ad.m68k: file removal
usr.sbin/sysinst/arch/prep/md.h: revision 1.4
usr.sbin/sysinst/arch/cats/md.h: revision 1.4
usr.sbin/sysinst/arch/amd64/md.h: revision 1.7
usr.sbin/sysinst/msg.mi.es: revision 1.17
usr.sbin/sysinst/msg.mi.fr: revision 1.20
usr.sbin/sysinst/msg.mi.pl: revision 1.23
distrib/sets/lists/base/rescue.i386: file removal
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.3
distrib/sets/lists/base/rescue.vax: file removal
distrib/amd64/uefi-installimage/Makefile.bootimage: revision 1.12
usr.sbin/sysinst/arch/evbmips/md.h: revision 1.3
distrib/sets/lists/base/rescue.mi: file removal
distrib/sets/README: revision 1.14
usr.sbin/sysinst/arch/sgimips/md.h: revision 1.4
distrib/sets/lists/base/rescue.sparc64: file removal
distrib/sets/lists/base/rescue.mi: revision 1.45
distrib/sets/lists/base/rescue.mi: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.h: revision 1.4
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.4
distrib/sets/lists/base/rescue.ad.arm: file removal
distrib/sets/lists/base/rescue.mac68k: file removal
usr.sbin/sysinst/defs.h: revision 1.45
usr.sbin/sysinst/arch/landisk/md.h: revision 1.2
distrib/notes/atari/xfer: revision 1.17
etc/Makefile: revision 1.441
usr.sbin/sysinst/msg.mi.en: revision 1.22
distrib/sun2/MakeInstTape: revision 1.2

Remove ldconfig from /rescue, and mark it MI obsolete.
- ldconfig in netbsd refers to a.out binaries only. We've been ELF-only
since NetBSD 2.0 or so, and having it in /rescue served little purpose
even before that, as /rescue is standalone.
- Using MI obsolete to avoid the need for MD set lists where ldconfig
is the sole entry

Mark /rescue/edlabel as MI-obsolete, so we can remove all remaining MD
rescue set list files.

Split out /rescue to its own set and adapt installers/images to add it.

This is meant to make updates safer: if something goes wrong with updating
base, we still have the old, standalone /rescue to recover from.
 1.26.4.1 06-Jun-2021  cjep sync with head
 1.30.2.1 20-Feb-2025  martin Pull up following revision(s) (requested by tsutsui in ticket #1046):

distrib/vax/liveimage/emuimage/Makefile: revision 1.5
distrib/common/bootimage/Makefile.bootimage: revision 1.43

It turns out vax liveimage requires INSTALLBOOT_AFTER_DISKLABEL.

It looks tools disklabel(8) doesn't preserve installed bootblock
on creating a new label. Confirmed on simh.

Remove "(untested)" comment from INSTALLBOOT_AFTER_DISKLABEL.
Also note vax requires it.
 1.41.2.1 02-Aug-2025  perseant Sync with HEAD
 1.11 25-Apr-2024  nia remove redundant kernels and floppies from the space-starved i386 ISO
 1.10 25-Sep-2021  maya branches: 1.10.2;
Restore MKNOUVEAUFIRMWARE and MKRADEONFIRMWARE and make gpufw set unconditional

Simplifies logic.
Restoring MK* requested by mrg on tech-kern discussion
https://mail-index.netbsd.org/tech-kern/2021/09/25/msg027695.html
 1.9 25-Sep-2021  maya Move DRM-driver firmware from base to its own set, gpufw

This set is only installed on amd64,i386,evbarm.
This set is installed on minimal installs and on install media, in
case someone needs it for basic driver functionality.

Comments:
Switched to a single MK tunable for it - that is probably unneeded.

An upcoming DRM update will include even fatter firmware, and we'd
like to minimize the impact of it.
 1.8 28-May-2020  jmcneill Shrink the evbarm install image by not including the live images on the install media
 1.7 28-May-2020  jmcneill Default USE_MBR to no
 1.6 21-Nov-2019  joerg Merge amd64's UEFI logic back into the generic bootimage handling.
 1.5 10-Feb-2017  christos branches: 1.5.12; 1.5.14;
Initial pass to be unaffected by build umask on build artifacts
1. ${MKDIR} -> ${MKDIR} ${MKDIRPERM}
2. ${CP} -> ${INSTALL} ${COPY} -m <perm>
 1.4 03-Nov-2012  tsutsui branches: 1.4.14; 1.4.18;
Allow overriding live-image and install-image sizes by
INSTIMAGEMB (for install-images), USBIMAGEMB (for x86 sd0root liveimages),
and EMUIMAGEMB (for other liveimages) variables.
Per discussion on current-users@:
http://mail-index.NetBSD.org/current-users/2012/10/29/msg021368.html
 1.3 22-Apr-2012  tsutsui branches: 1.3.2;
Fix typo in comments.
 1.2 22-Jan-2012  tsutsui branches: 1.2.4;
Fix checks for RELEASEDIR (and xxxxIMGBASE) variables to perform it
only on live_image or install_image targets. PR toolchain/45864
 1.1 22-Jan-2012  tsutsui Add "live-image" and "install-image" target support to build.sh.

"live-image" target builds pre-installed disk images that can be used on
emulators or boot from USB memory sticks to try NetBSD without installation.
Currently amd64, i386, pmax, sparc, sparc64, sun2, sun3, and vax
(which have working emulators and don't require extra tools like preparing
msdosfs or partitioning MD label structures) support this target.

"install-image" target builds an bootable installation disk image that can
be used as an install CD but burned into USB memory sticks etc.
Current only amd64 and i386 (which would support USB boot) have this target.

For more details (and known issue) see following posts on netbsd-bugs@:
http://mail-index.NetBSD.org/netbsd-bugs/2011/08/06/msg023639.html
http://mail-index.NetBSD.org/netbsd-bugs/2011/09/23/msg024207.html
http://mail-index.NetBSD.org/netbsd-bugs/2011/12/07/msg025166.html
http://mail-index.NetBSD.org/netbsd-bugs/2011/12/08/msg025178.html

No particular comments about implementation, and
"go ahead" comments from mrg@, riz@ and christos@.

Closes PR toolchain/45153 and PR misc/45155.
 1.2.4.4 16-Jan-2013  yamt sync with (a bit old) head
 1.2.4.3 23-May-2012  yamt sync with head.
 1.2.4.2 17-Apr-2012  yamt sync with head
 1.2.4.1 22-Jan-2012  yamt file Makefile.installimage was added on branch yamt-pagecache on 2012-04-17 00:02:32 +0000
 1.3.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.4.18.1 21-Apr-2017  bouyer Sync with HEAD
 1.4.14.1 20-Mar-2017  pgoyette Sync with HEAD
 1.5.14.1 24-Apr-2020  martin Pull up following revision(s) (requested by tsutsui in ticket #846):

distrib/hpcarm/Makefile: revision 1.7
distrib/amd64/uefi-installimage/Makefile: revision 1.7
distrib/common/bootimage/Makefile.installimage: revision 1.6
distrib/hpcarm/liveimage/spec.in: revision 1.1
distrib/common/bootimage/Makefile.bootimage: revision 1.23
distrib/common/bootimage/Makefile.bootimage: revision 1.24
distrib/zaurus/liveimage/Makefile: revision 1.1
distrib/amd64/uefi-installimage/Makefile.installimage: revision 1.3
distrib/zaurus/Makefile: revision 1.3
distrib/hpcarm/liveimage/Makefile: revision 1.1
distrib/zaurus/liveimage/spec.in: revision 1.1
distrib/common/bootimage/diskproto.mbrfat.in: revision 1.1
distrib/amd64/uefi-installimage/Makefile.bootimage: revision 1.13
distrib/hpcarm/liveimage/fstab.in: revision 1.1
distrib/zaurus/liveimage/fstab.in: revision 1.1

Merge amd64's UEFI logic back into the generic bootimage handling.

Add "live-image with a FAT partition for bootstrap files" support.
See PR/55075 for more details.

Add "build.sh live-image" support for zaurus.
Tested on SL-C3000 and SL-C700.
See also PR/55075 for live-image with FAT partition support.

Add "build.sh live-image" support for hpcarm.
Tested on WS003SH.
See also PR/55075 for live-image with FAT partition support.
 1.5.12.1 08-Apr-2020  martin Merge changes from current as of 20200406
 1.10.2.1 11-May-2024  martin Pull up following revision(s) (requested by nia in ticket #682):

sys/arch/i386/conf/LEGACY: revision 1.3
distrib/common/Makefile.bootcd: revision 1.48
share/mk/bsd.own.mk: revision 1.1373
distrib/i386/cdroms/installcd/Makefile: revision 1.12
distrib/common/bootimage/Makefile.installimage: revision 1.11

remove redundant kernels and floppies from the space-starved i386 ISO

Turn off MKAMDGPUFIRMWARE on i386

It's too big for the i386 install media and not useful on either
pre-2012 hardware or the kinds of embedded systems where i386 still
thrived after 2012.

(The build of the kernel parts of amdgpu on i386 is nevertheless useful
for finding obscure bugs.)

"go for it" riastradh

i386: disable DRMKMS drivers in LEGACY kernel (this is for ISA)
 1.4 10-Feb-2017  christos Initial pass to be unaffected by build umask on build artifacts
1. ${MKDIR} -> ${MKDIR} ${MKDIRPERM}
2. ${CP} -> ${INSTALL} ${COPY} -m <perm>
 1.3 03-Nov-2012  tsutsui branches: 1.3.14; 1.3.18;
Allow overriding live-image and install-image sizes by
INSTIMAGEMB (for install-images), USBIMAGEMB (for x86 sd0root liveimages),
and EMUIMAGEMB (for other liveimages) variables.
Per discussion on current-users@:
http://mail-index.NetBSD.org/current-users/2012/10/29/msg021368.html
 1.2 22-Jan-2012  tsutsui branches: 1.2.4; 1.2.8;
Fix checks for RELEASEDIR (and xxxxIMGBASE) variables to perform it
only on live_image or install_image targets. PR toolchain/45864
 1.1 22-Jan-2012  tsutsui Add "live-image" and "install-image" target support to build.sh.

"live-image" target builds pre-installed disk images that can be used on
emulators or boot from USB memory sticks to try NetBSD without installation.
Currently amd64, i386, pmax, sparc, sparc64, sun2, sun3, and vax
(which have working emulators and don't require extra tools like preparing
msdosfs or partitioning MD label structures) support this target.

"install-image" target builds an bootable installation disk image that can
be used as an install CD but burned into USB memory sticks etc.
Current only amd64 and i386 (which would support USB boot) have this target.

For more details (and known issue) see following posts on netbsd-bugs@:
http://mail-index.NetBSD.org/netbsd-bugs/2011/08/06/msg023639.html
http://mail-index.NetBSD.org/netbsd-bugs/2011/09/23/msg024207.html
http://mail-index.NetBSD.org/netbsd-bugs/2011/12/07/msg025166.html
http://mail-index.NetBSD.org/netbsd-bugs/2011/12/08/msg025178.html

No particular comments about implementation, and
"go ahead" comments from mrg@, riz@ and christos@.

Closes PR toolchain/45153 and PR misc/45155.
 1.2.8.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.2.4.3 16-Jan-2013  yamt sync with (a bit old) head
 1.2.4.2 17-Apr-2012  yamt sync with head
 1.2.4.1 22-Jan-2012  yamt file Makefile.liveimage was added on branch yamt-pagecache on 2012-04-17 00:02:32 +0000
 1.3.18.1 21-Apr-2017  bouyer Sync with HEAD
 1.3.14.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1 22-Jan-2012  tsutsui branches: 1.1.4;
Add "live-image" and "install-image" target support to build.sh.

"live-image" target builds pre-installed disk images that can be used on
emulators or boot from USB memory sticks to try NetBSD without installation.
Currently amd64, i386, pmax, sparc, sparc64, sun2, sun3, and vax
(which have working emulators and don't require extra tools like preparing
msdosfs or partitioning MD label structures) support this target.

"install-image" target builds an bootable installation disk image that can
be used as an install CD but burned into USB memory sticks etc.
Current only amd64 and i386 (which would support USB boot) have this target.

For more details (and known issue) see following posts on netbsd-bugs@:
http://mail-index.NetBSD.org/netbsd-bugs/2011/08/06/msg023639.html
http://mail-index.NetBSD.org/netbsd-bugs/2011/09/23/msg024207.html
http://mail-index.NetBSD.org/netbsd-bugs/2011/12/07/msg025166.html
http://mail-index.NetBSD.org/netbsd-bugs/2011/12/08/msg025178.html

No particular comments about implementation, and
"go ahead" comments from mrg@, riz@ and christos@.

Closes PR toolchain/45153 and PR misc/45155.
 1.1.4.2 17-Apr-2012  yamt sync with head
 1.1.4.1 22-Jan-2012  yamt file diskproto.in was added on branch yamt-pagecache on 2012-04-17 00:02:32 +0000
 1.1 22-Jan-2012  tsutsui branches: 1.1.4;
Add "live-image" and "install-image" target support to build.sh.

"live-image" target builds pre-installed disk images that can be used on
emulators or boot from USB memory sticks to try NetBSD without installation.
Currently amd64, i386, pmax, sparc, sparc64, sun2, sun3, and vax
(which have working emulators and don't require extra tools like preparing
msdosfs or partitioning MD label structures) support this target.

"install-image" target builds an bootable installation disk image that can
be used as an install CD but burned into USB memory sticks etc.
Current only amd64 and i386 (which would support USB boot) have this target.

For more details (and known issue) see following posts on netbsd-bugs@:
http://mail-index.NetBSD.org/netbsd-bugs/2011/08/06/msg023639.html
http://mail-index.NetBSD.org/netbsd-bugs/2011/09/23/msg024207.html
http://mail-index.NetBSD.org/netbsd-bugs/2011/12/07/msg025166.html
http://mail-index.NetBSD.org/netbsd-bugs/2011/12/08/msg025178.html

No particular comments about implementation, and
"go ahead" comments from mrg@, riz@ and christos@.

Closes PR toolchain/45153 and PR misc/45155.
 1.1.4.2 17-Apr-2012  yamt sync with head
 1.1.4.1 22-Jan-2012  yamt file diskproto.mbr.in was added on branch yamt-pagecache on 2012-04-17 00:02:32 +0000
 1.1 21-Mar-2020  tsutsui branches: 1.1.2; 1.1.4;
Add "live-image with a FAT partition for bootstrap files" support.

See PR/55075 for more details.
 1.1.4.2 24-Apr-2020  martin Pull up following revision(s) (requested by tsutsui in ticket #846):

distrib/hpcarm/Makefile: revision 1.7
distrib/amd64/uefi-installimage/Makefile: revision 1.7
distrib/common/bootimage/Makefile.installimage: revision 1.6
distrib/hpcarm/liveimage/spec.in: revision 1.1
distrib/common/bootimage/Makefile.bootimage: revision 1.23
distrib/common/bootimage/Makefile.bootimage: revision 1.24
distrib/zaurus/liveimage/Makefile: revision 1.1
distrib/amd64/uefi-installimage/Makefile.installimage: revision 1.3
distrib/zaurus/Makefile: revision 1.3
distrib/hpcarm/liveimage/Makefile: revision 1.1
distrib/zaurus/liveimage/spec.in: revision 1.1
distrib/common/bootimage/diskproto.mbrfat.in: revision 1.1
distrib/amd64/uefi-installimage/Makefile.bootimage: revision 1.13
distrib/hpcarm/liveimage/fstab.in: revision 1.1
distrib/zaurus/liveimage/fstab.in: revision 1.1

Merge amd64's UEFI logic back into the generic bootimage handling.

Add "live-image with a FAT partition for bootstrap files" support.
See PR/55075 for more details.

Add "build.sh live-image" support for zaurus.
Tested on SL-C3000 and SL-C700.
See also PR/55075 for live-image with FAT partition support.

Add "build.sh live-image" support for hpcarm.
Tested on WS003SH.
See also PR/55075 for live-image with FAT partition support.
 1.1.4.1 21-Mar-2020  martin file diskproto.mbrfat.in was added on branch netbsd-9 on 2020-04-24 17:19:49 +0000
 1.1.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.2.1 21-Mar-2020  martin file diskproto.mbrfat.in was added on branch phil-wifi on 2020-04-08 14:03:44 +0000
 1.1 22-Jan-2012  tsutsui branches: 1.1.4;
Add "live-image" and "install-image" target support to build.sh.

"live-image" target builds pre-installed disk images that can be used on
emulators or boot from USB memory sticks to try NetBSD without installation.
Currently amd64, i386, pmax, sparc, sparc64, sun2, sun3, and vax
(which have working emulators and don't require extra tools like preparing
msdosfs or partitioning MD label structures) support this target.

"install-image" target builds an bootable installation disk image that can
be used as an install CD but burned into USB memory sticks etc.
Current only amd64 and i386 (which would support USB boot) have this target.

For more details (and known issue) see following posts on netbsd-bugs@:
http://mail-index.NetBSD.org/netbsd-bugs/2011/08/06/msg023639.html
http://mail-index.NetBSD.org/netbsd-bugs/2011/09/23/msg024207.html
http://mail-index.NetBSD.org/netbsd-bugs/2011/12/07/msg025166.html
http://mail-index.NetBSD.org/netbsd-bugs/2011/12/08/msg025178.html

No particular comments about implementation, and
"go ahead" comments from mrg@, riz@ and christos@.

Closes PR toolchain/45153 and PR misc/45155.
 1.1.4.2 17-Apr-2012  yamt sync with head
 1.1.4.1 22-Jan-2012  yamt file diskproto.noswap.in was added on branch yamt-pagecache on 2012-04-17 00:02:32 +0000
 1.1 22-Jan-2012  tsutsui branches: 1.1.4;
Add "live-image" and "install-image" target support to build.sh.

"live-image" target builds pre-installed disk images that can be used on
emulators or boot from USB memory sticks to try NetBSD without installation.
Currently amd64, i386, pmax, sparc, sparc64, sun2, sun3, and vax
(which have working emulators and don't require extra tools like preparing
msdosfs or partitioning MD label structures) support this target.

"install-image" target builds an bootable installation disk image that can
be used as an install CD but burned into USB memory sticks etc.
Current only amd64 and i386 (which would support USB boot) have this target.

For more details (and known issue) see following posts on netbsd-bugs@:
http://mail-index.NetBSD.org/netbsd-bugs/2011/08/06/msg023639.html
http://mail-index.NetBSD.org/netbsd-bugs/2011/09/23/msg024207.html
http://mail-index.NetBSD.org/netbsd-bugs/2011/12/07/msg025166.html
http://mail-index.NetBSD.org/netbsd-bugs/2011/12/08/msg025178.html

No particular comments about implementation, and
"go ahead" comments from mrg@, riz@ and christos@.

Closes PR toolchain/45153 and PR misc/45155.
 1.1.4.2 17-Apr-2012  yamt sync with head
 1.1.4.1 22-Jan-2012  yamt file diskproto.noswap.mbr.in was added on branch yamt-pagecache on 2012-04-17 00:02:32 +0000
 1.4 29-Jan-2023  maya Make sure to mount /var/shm

Programs such as firefox seem to require it,
and this file is used by the live image as well.
 1.3 15-Dec-2018  gson branches: 1.3.10;
Use the special device name "ROOT." in /etc/fstab not just on the arm
images, but also on the bootable disk images of other ports, so that
they can be booted from differently named devices. Merge the i386 and
amd64 -live-sd0root and -live-wd0root images into a single live image
per port, bootable both from usb media and in qemu. Drop the -xx0root
suffixes from image names as they are no longer meaningful.
 1.2 20-Nov-2012  jakllsch branches: 1.2.30; 1.2.32;
Don't enable WAPBL in images.
 1.1 22-Jan-2012  tsutsui branches: 1.1.4; 1.1.8;
Add "live-image" and "install-image" target support to build.sh.

"live-image" target builds pre-installed disk images that can be used on
emulators or boot from USB memory sticks to try NetBSD without installation.
Currently amd64, i386, pmax, sparc, sparc64, sun2, sun3, and vax
(which have working emulators and don't require extra tools like preparing
msdosfs or partitioning MD label structures) support this target.

"install-image" target builds an bootable installation disk image that can
be used as an install CD but burned into USB memory sticks etc.
Current only amd64 and i386 (which would support USB boot) have this target.

For more details (and known issue) see following posts on netbsd-bugs@:
http://mail-index.NetBSD.org/netbsd-bugs/2011/08/06/msg023639.html
http://mail-index.NetBSD.org/netbsd-bugs/2011/09/23/msg024207.html
http://mail-index.NetBSD.org/netbsd-bugs/2011/12/07/msg025166.html
http://mail-index.NetBSD.org/netbsd-bugs/2011/12/08/msg025178.html

No particular comments about implementation, and
"go ahead" comments from mrg@, riz@ and christos@.

Closes PR toolchain/45153 and PR misc/45155.
 1.1.8.1 25-Feb-2013  tls resync with head
 1.1.4.3 16-Jan-2013  yamt sync with (a bit old) head
 1.1.4.2 17-Apr-2012  yamt sync with head
 1.1.4.1 22-Jan-2012  yamt file fstab.in was added on branch yamt-pagecache on 2012-04-17 00:02:33 +0000
 1.2.32.1 10-Jun-2019  christos Sync with HEAD
 1.2.30.1 26-Dec-2018  pgoyette Sync with HEAD, resolve a few conflicts
 1.3.10.1 30-Jan-2023  martin Pull up following revision(s) (requested by maya in ticket #62):

distrib/common/bootimage/fstab.in: revision 1.4

Make sure to mount /var/shm

Programs such as firefox seem to require it,
and this file is used by the live image as well.
 1.3 15-Dec-2018  gson Use the special device name "ROOT." in /etc/fstab not just on the arm
images, but also on the bootable disk images of other ports, so that
they can be booted from differently named devices. Merge the i386 and
amd64 -live-sd0root and -live-wd0root images into a single live image
per port, bootable both from usb media and in qemu. Drop the -xx0root
suffixes from image names as they are no longer meaningful.
 1.2 20-Nov-2012  jakllsch branches: 1.2.30; 1.2.32;
Don't enable WAPBL in images.
 1.1 22-Jan-2012  tsutsui branches: 1.1.4; 1.1.8;
Add "live-image" and "install-image" target support to build.sh.

"live-image" target builds pre-installed disk images that can be used on
emulators or boot from USB memory sticks to try NetBSD without installation.
Currently amd64, i386, pmax, sparc, sparc64, sun2, sun3, and vax
(which have working emulators and don't require extra tools like preparing
msdosfs or partitioning MD label structures) support this target.

"install-image" target builds an bootable installation disk image that can
be used as an install CD but burned into USB memory sticks etc.
Current only amd64 and i386 (which would support USB boot) have this target.

For more details (and known issue) see following posts on netbsd-bugs@:
http://mail-index.NetBSD.org/netbsd-bugs/2011/08/06/msg023639.html
http://mail-index.NetBSD.org/netbsd-bugs/2011/09/23/msg024207.html
http://mail-index.NetBSD.org/netbsd-bugs/2011/12/07/msg025166.html
http://mail-index.NetBSD.org/netbsd-bugs/2011/12/08/msg025178.html

No particular comments about implementation, and
"go ahead" comments from mrg@, riz@ and christos@.

Closes PR toolchain/45153 and PR misc/45155.
 1.1.8.1 25-Feb-2013  tls resync with head
 1.1.4.3 16-Jan-2013  yamt sync with (a bit old) head
 1.1.4.2 17-Apr-2012  yamt sync with head
 1.1.4.1 22-Jan-2012  yamt file fstab.install.in was added on branch yamt-pagecache on 2012-04-17 00:02:33 +0000
 1.2.32.1 10-Jun-2019  christos Sync with HEAD
 1.2.30.1 26-Dec-2018  pgoyette Sync with HEAD, resolve a few conflicts
 1.1 26-Apr-2025  pgoyette branches: 1.1.4;
Add new file-system spec.in for KERNEL_DIR=yes
 1.1.4.2 02-Aug-2025  perseant Sync with HEAD
 1.1.4.1 26-Apr-2025  perseant file spec-dir.in was added on branch perseant-exfatfs on 2025-08-02 05:20:20 +0000
 1.2 26-Apr-2025  pgoyette Add new file-system spec.in for KERNEL_DIR=yes
 1.1 22-Jan-2012  tsutsui branches: 1.1.4; 1.1.56;
Add "live-image" and "install-image" target support to build.sh.

"live-image" target builds pre-installed disk images that can be used on
emulators or boot from USB memory sticks to try NetBSD without installation.
Currently amd64, i386, pmax, sparc, sparc64, sun2, sun3, and vax
(which have working emulators and don't require extra tools like preparing
msdosfs or partitioning MD label structures) support this target.

"install-image" target builds an bootable installation disk image that can
be used as an install CD but burned into USB memory sticks etc.
Current only amd64 and i386 (which would support USB boot) have this target.

For more details (and known issue) see following posts on netbsd-bugs@:
http://mail-index.NetBSD.org/netbsd-bugs/2011/08/06/msg023639.html
http://mail-index.NetBSD.org/netbsd-bugs/2011/09/23/msg024207.html
http://mail-index.NetBSD.org/netbsd-bugs/2011/12/07/msg025166.html
http://mail-index.NetBSD.org/netbsd-bugs/2011/12/08/msg025178.html

No particular comments about implementation, and
"go ahead" comments from mrg@, riz@ and christos@.

Closes PR toolchain/45153 and PR misc/45155.
 1.1.56.1 02-Aug-2025  perseant Sync with HEAD
 1.1.4.2 17-Apr-2012  yamt sync with head
 1.1.4.1 22-Jan-2012  yamt file spec.in was added on branch yamt-pagecache on 2012-04-17 00:02:33 +0000

RSS XML Feed