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/*
- 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
actually generate hypertext links to the man pages, like they do
know when the pages themselves are formatted. The obvious problem
is that if you aren't a man page, you don't know where the man
pages are.
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.
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.
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
(effect of) fixed a bug when it makes install image.
(reason for) We cannot apply to newfs no disklabel device, so must
write temporary disklabel. refer to i386.
network has not been configured (due to what ever local condition that
causes ping to fail, or whatever.) requested by kre in private email
many many months ago.
only?) are sorted out. speculation (based on some analysis by simonb)
is that it's because fts calls _opendir2 directly, which forces both
the libhack and the libc versions of opendir.o to be linked in.
in any case, there's space saves to be had elsewhere...
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.
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
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...
to libc/gen/getpwent.c. this version reads from master.passwd instead
of passwd (thus removing the need to keep both in the mini file system
and having to run pwd_mkdb to generate the latter)