History log of /src/distrib/common/Makefile.bootcd
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 1.57 06-Nov-2025 christos

Add a __cdromclean target so we can add arch-specific rules to it and use
it to clean efiboot


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base
# 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...


Revision tags: perseant-exfatfs-base-20240630 perseant-exfatfs-base
# 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.


Revision tags: netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 netbsd-10-0-RC1 netbsd-10-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base
# 1.44 11-Oct-2020 jmcneill

branches: 1.44.6;
Copy release to /${RELEASEMACHINEDIR} instead of /${MACHINE} to match
sysinst expectations.


Revision tags: phil-wifi-20200421 phil-wifi-20200411 is-mlppp-base phil-wifi-20200406
# 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.


Revision tags: phil-wifi-20191119
# 1.42 23-Sep-2019 christos

Consistently use ${RELEASEDIR}/${RELEASEMACHINE} instead of
${RELEASEDIR}/${MACHINE} (Paul Ripke)


Revision tags: netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 netbsd-9-base phil-wifi-20190609 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930
# 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.


Revision tags: pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base
# 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).


Revision tags: pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
# 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).


Revision tags: netbsd-8-0-RC1 matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320
# 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>


Revision tags: bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 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.


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base tls-earlyentropy-base tls-maxphys-base
# 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)


Revision tags: yamt-pagecache-base9 riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3
# 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


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base
# 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.


Revision tags: yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6
# 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.


Revision tags: yamt-pagecache-base5 yamt-pagecache-base4 netbsd-6-base
# 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@


Revision tags: yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231 matt-premerge-20091211
# 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


Revision tags: jym-xensuspend-nbase jym-xensuspend-base
# 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.


Revision tags: netbsd-5-base matt-mips64-base2 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 mjf-devfs2-base
# 1.14 23-Jun-2008 matt

branches: 1.14.2;
Change remaining instances of ${RELEASEDIR}/${MACHINES} to
${RELEASEDIR}/${RELEASEMACHINEDIR}


Revision tags: wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 wrstuden-revivesa-base yamt-pf42-base keiichi-mipv6-base mjf-devfs-base matt-armv6-nbase cube-autoconf-base matt-armv6-base hpcarm-cleanup-base
# 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


Revision tags: matt-mips64-base
# 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.


Revision tags: netbsd-4-base
# 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.


Revision tags: abandoned-netbsd-4-base
# 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@