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)