single and multi-volume floppies in better fashion that the crufty
shell commands in the various Makefiles.
- Move fdset* -> bootfloppy*, as that's more consistent
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.
- factor more stuff into common/Makefile.*
- use NDWO makefile layout
- don't always rebuild bootfloppy-* and fdset-* stuff. (mmm, dependencies)
- add .WAIT sync in top level Makefile
as they only support reading /etc/hosts, and its the "least useful" of
the libhack routines. Add gethost.o back to Really Small media which
appears to need the space savings.
- 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}
- use ${DISTRIBDIR} as appropriate
- use ${DISTRIBDIR}/common/list.sysinst if USE_SYSINST is defined,
removing any replicated list info
- define USE_SYSINST in the sysinst-using ramdisks
- replace MAKEDEV_DEVS with MAKEDEVTARGETS
- use ${DISTRIBDIR} as appropriate
- migrate most of mtree.conf to ${DISTRIBDIR}/common/mtree.common,
leaving /.profile in mtree.conf
- remove MAKEDEV_DEVS support; replaced with MAKEDEVTARGETS support in
${DISTRIBDIR}/common/Makefile.makedev
not be enough RAM to support that), at the expense of more inodes and a
slightly larger md file system (which, when compressed down, still fits in
a kernel and that kernel still fits on a 1.2MB floppy):
- Define MAKEDEV_DEVS to 'std md0 fd0 fd1 wd0 wd1 wd2 wd3 cd0 cd1 pty0 ttyv0'.
- Call makefs with -f 10, to add a few spare inodes.
- Crank imagesize from 1344k to 1440k to handle extra space needed by the
inodes containing the devices.
makedev2spec.awk to generate another mtree specfile for use when building
the image, and don't copy dev/MAKEDEV to the target image. This is primarily
for the tiny images which might not have enough memory for an mfs /dev.
Otherwise (MAKEDEV_DEVS not defined), continue to copy dev/MAKEDEV.
requirement to build as root on a system with vnconfig.
Use ${KERNSRCDIR} and ${_SRC_TOP_} where appropriate
Remove now-obsolete:
list2sh.awk runlist.sh bootfloppy-common/list
Bootfloppy-*/Makefile: don't need to set DISKTYPE or BLOCK8K any more
Rename bootfloppy-common/Makefile.inc to common/Makefile.bootfloppy
and fdset-common/Makefile.inc to common/Makefile.fdset
This uses makefs instead of vnconfig and disklabel, thus removing the
need for root privileges to build these floppies..
Add common/Makefile.ramdisk, to simplify ramdisk-*/Makefile.
Uses shared ${_SRC_TOP_}/distrib/common/Makefile.crunch and
${_SRC_TOP_}/distrib/common/Makefile.image to even further simply things.
Migrate ramdisk-*/dot.profile to a shared common/dot.profile, which
detects whether it's an install or rescue profile based on the existance
of /sysinst. Remove /dev generation code as init(8) now does that for us.
Migrate common parts of */list to a shared common/list.ramdisk.
Convert ramdisk-*/list to new format used by distrib/common/parselist.awk
Don't bother running pwd_mkdb now that libhack's getpwent parses
/etc/master.passwd instead of /etc/passwd.
Migrate ramdisk-*/mtree.conf to a shared common/mtree.conf, which is now a
new full-path-style specfile.
Remove ramdisk-*/ramdiskbin.conf as it's now automatically generated
from ramdisk-*/list by parselist.awk.
Migrate ramdisk-*/termcap.mini to a shared common/termcap.mini.
Remove unused ramdisk-{small,tiny}/disktab.preinstall.
Use .for loops in kernel-*/Makefile to simply defining mostly-duplicated
targets.
ramdisk-*/Makefile: convert to using common/Makefile.ramdisk
Remove unused ramdisk-*/dot.hdprofile.
from ../bootfloppy-common/Makefile.inc like the other boot floppies.
it wasn't ustarfs that was broken, it was the broken PAD=yes code in the
latter trashing the last 8k of the kernel...
vnd0 and let opendisk(3) DTRT.
2. resize some of the images since we've gotten an average of 5K more
with the new toolchain.
3. comment out the rescue disks, since they don't fit anymore.
Now the whole directory compiles and works with the in-tree toolchain,
but does not work still with USETOOLS.
Also adjust the clean rule to first run the clean rule from ramdiskbin.mk
if it exists (cleans up the object subdirs then from the new crunchgen setup)
Since impatient users might think the machine locked up, print a message
'Creating real /dev (this may take a while) ...' so that they know what's
happening.
not padded to disk-size boundaries (except for boot-big, for somewhat
unnecessary reasons), and the included kernel is already gzipped. Adding
another round of gzip saves only tens of K, but creates a duplicate image,
wasting space on release media including these files.
Then once booted mount mfs onto /dev and make a full device tree. This gets
around the silliness of running out of either space/inodes all the time when
building the floppy images. Tested this on all combinations of floppies.
Then once booted mount mfs onto /dev and make a full device tree. This gets
around the silliness of running out of either space/inodes all the time when
building the floppy images. Tested this on all combinations of floppies.