freebsd-src/release/picobsd
Luigi Rizzo 25801a0e8b Bring the new script into -current. Still untested here, but there
is a high chance that they work modulo minor things.
2001-02-20 17:09:40 +00:00
..
bridge
build Bring the new script into -current. Still untested here, but there 2001-02-20 17:09:40 +00:00
custom
dial
doc/src
floppy.tree
help
install
isp
mfs_tree
net
router
tinyware
Makefile
README.html
README.luigi
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)