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)