keep state to be locked (modification prevented) and then saved to disk,
allowing for the system to experience a reboot, followed by the restoration
of that information, resulting in connections not being interrupted.
To activate this feature, set ipfs=YES in /etc/rc.conf
- 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
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)
man, misc, and text sets (i.e. all non-X11 sets).
This support currently allows two make(1) targets to be executed from
src/distrib/syspkg/sets:
a.) `make register' will register the existing system as packages.
This willl allow the version of software on the current system
to be queried with
PKG_DBDIR=/var/db/syspkg pkg_info
and individual packages to be deleted with
PKG_DBDIR=/var/db/syspkg pkg_delete <pkgname>
b.) `make package' will create binary packages from the existing
system (or from the contents of ${DESTDIR}, if ${DESTDIR} is
set). These packages can be taken to another system, and
installed with
PKG_DBDIR=/var/db/syspkg pkg_add <pkgname>
to update or install specific packages.
The need to explicitly specify the syspkg PKG_DBDIR will be replaced with a
flag for the various pkg tools in the next few days.
unconditionally.
Avoid running the crunchgen command multiple times for each dependent
target by marking only one target (instbin.mk) for unconditional re-make.
This is the latest version of <bsd.syspkg.mk>, and forms the basis of
NetBSD System Packages (syspkg). Further development of this codebase
will occur within TNF's cvs repository, and copyright will be assigned
to TNF when the relevant paperwork is complete.