freebsd-dev/release/picobsd
nbm 9d731e2cfd First part of PicoBSD makeover, adding basic 'obj' facilities, allowing
for read-only src tree.

While I'm there:
1) Use kgzip, not kzip, since kzip certainly doesn't make bootable
kernels anymore.  loader still isn't built separately, let alone without
forth support.  This needs to be fixed.

2) Expand the mount/vnconfig examples to be the defacto way of making
sure the filesystems are mounted, unmounted, or not configured.  This
needs more work.

3) quieten the build substantially, so errors are more prominent

4) Start of '-j' ability.  Current style isn't quite in the correct
dependency format for this, but obvious mistakes (changing directories
in main shell) are fixed.

Approved by:	grog, dwhite, luigi (no objections to me doing a makeover)
2000-07-18 12:04:33 +00:00
..
bridge Commit PicoBSD mega-patch: 2000-04-25 19:00:08 +00:00
build Add -L to mtree. 2000-07-16 08:44:40 +00:00
custom First part of PicoBSD makeover, adding basic 'obj' facilities, allowing 2000-07-18 12:04:33 +00:00
dial Add -L to mtree to preserve old functionality exact 2000-07-16 08:58:02 +00:00
doc/src Add documentation for the PicoBSD install floppy. 1999-10-08 05:20:06 +00:00
floppy.tree Commit PicoBSD mega-patch: 2000-04-25 19:00:08 +00:00
help $Id$ -> $FreeBSD$ 1999-08-28 01:35:59 +00:00
install Add -L to mtree to preserve old functionality exact 2000-07-16 08:58:02 +00:00
isp Commit PicoBSD mega-patch: 2000-04-25 19:00:08 +00:00
mfs_tree remove rc and login.conf files prior to extraction of the new 2000-07-03 22:31:08 +00:00
net Commit PicoBSD mega-patch: 2000-04-25 19:00:08 +00:00
router Commit PicoBSD mega-patch: 2000-04-25 19:00:08 +00:00
tinyware Fix bogus reporting of interface names, the field returned 2000-03-21 12:09:23 +00:00
Makefile Set MAINTAINER=freebsd-small with an explanation to submit all 2000-02-04 07:26:22 +00:00
README.html $Id$ -> $FreeBSD$ 1999-08-28 01:35:59 +00:00
README.luigi Start the cleanup of PicoBSD build scripts and general build 2000-02-08 08:13:47 +00:00
Version

In this file i try to document the overall architecture of PicoBSD
source tree.

    ./		Per-image directory-tree and generic trees.
	
    build/	Main build scripts and Makefiles.
	build:	main build script
	stage1:	invoked by build
	clean:	to clean up previous compilations
	Makefile.conf
		makefile to edit config file and build kernel
	Makefile.mfs
		makefile to create the memory filesystem
	Makefile.crunch
		makefile to handle the crunched directory
	mfs.mtree
		mtree cmd -- structure of the mfs tree

    floppy.tree/
	Default files to fill the floppy and mfs trees.
	Can be overridden by listing files to be removed in
	${TYPE}/floppy.tree.exclude, and putting files to be replaced
	in ${TYPE}/floppy.tree/

    doc/
	documentation (unchanged from original)

    help/
	help files in various languages. The suffix is the two letter
	country code for the language. Currently only .en and .pl
	used.

    tinyware/
	various small programs used instead of the corresponding
	full-blown utilities.

    $TYPE/	source and config files for the various image types.

Structure of each image type is as follows:

    Makefile.mfs
	Makefile used to build/populate the MFS. Only needs two
	lines typically:

	MY_DEVS=std ....
	.include "../build/Makefile.mfs"

    PICOBSD
	kernel config file. One line is required

	    #PicoBSD  mfs_size init_name mfs_inodes floppy_inodes
	e.g.
	    #PicoBSD  2400	init	4096	32768

    crunch1/
	Directory with crunched config etc. Main files:
	crunch.conf	main config file for crunchgen
	crunch.inc	(optional) file included in crunchgen
			Makefiles, used e.g. to set make variables
			such as RELEASE_CRUNCH or similar.

    floppy.tree/
	local files to be put into the floppy/mfs trees instead
	of the ones in ../build/floppy.tree

    floppy.tree.exclude
	list of files to be omitted in the copy from ../build/floppy.tree

    floppy.tree.${SITE}/
	site-specific files which update the ones taken from one
	of the two places above. Typically they are passwd, hosts,
	rc.conf, rc.firewall things to go in /etc

    lang/
	language-dependant files (trimmed from the original one)