FreeSBIE 2 architecture

make(1) targets

main targets

  • iso
  • flash
  • img
  • pkgselect
  • clean
  • cleandir

slave targets

  • buildworld
  • buildkernel
  • installkernel
  • installworld
  • pkginstall
  • extra
  • clonefs

Configuration

This is a list of variables you can set on your conf/freesbie.conf. All of them can also be set as environment variable.

Variable Default value Content
BASEDIR “/usr/local/freesbie-fs” Base working directory
CLONEDIR “/usr/local/freesbie-clone” Another working directory
SRCDIR “/usr/src” FreeBSD sources directory
MAKEOBJDIRPREFIX none Prefix to use instead of /usr/obj
ISOPATH “/usr/obj/FreeSBIE.iso” Path of the ISO image
IMGPATH “/usr/obj/FreeSBIE.img” Path of the binary image
SECTS “501760” Total 512-byte sectors of binary image
SECTT “32” Sectors/tracks ratio of binary image
HEADS “16” Heads number of binary image
MAKEJ “-j3” Option passed to make(1), conventionally reserved to -j
MAKEOPT none Option passed to make(1)
KERNELCONF none Complete path to the kernel configuration file you want to use. Typically: /usr/local/share/freesbie/conf/(amd64,i386,powerpc)/FREESBIE This is no default - uncomment this in freesbie.defaults.conf if you want to use it
MAKE_CONF none Complete path of the make.conf file to be used by make(1)
FILE_LIST none Complete path of a file containing a list of all files that will be copied on the system FIXME create a section explaining this one
PRUNE_LIST none Complete path of a file containing a list of all files that will not be copied on the system FIXME create a section explaining this one
PKGFILE none Complete path of a file containing a list of all packages that will be installed on the system FIXME create a section explaining this one
EXTRA none A list of plugins you want to run in the build process

The following is a list of knobs. They are variables which take effect only when they are defined.

Knob Effect
MINIMAL Use make.conf.minimal under conf/ when building world and kernel (this one’s for lazy people who don’t want to create their own)
NO_BUILDWORLD Don’t build the world. Useful to set as environment variable on the fly when you know you already have a built world
NO_BUILDKERNEL Don’t build the kernel. Useful to set as environment variable on the fly when you know you already have a built kernel
NO_COMPRESSEDFS Don’t use compressed fs (uzip) when building iso
NO_UNIONFS Don’t use unionfs on the final iso. This is set by default, as FreeBSD 6.x’s unionfs support is broken at the moment (if you DO want to use it, “unset NO_UNIONFS” in your freesbie.conf)

It is possible to override variables without editing conf/freesbie.conf, directly from the command line.

For example changing the ISO path: env ISOPATH=/somewhere/FreeSBIE.iso make iso

Extra plugins

Freesbie2 allows you to use extra plugins. Thanks to these plugins, you can add more features to your livecd, like creating a memory file system for /etc or/and /root and also execute custom scripts inside the live filesystem environnement, that could be used to add users and groups.

Plugin name Effect
comconsole allow to enable a serial console and video console (if you set SERIAL_ONLY variable in conf/freesbie.conf only serial console will be available)
customroot allow to copy files present in the directory extra/customroot to the live filesystem
customscripts allow to execute scripts present in the directory extra/customscripts in the live filesystem
etcmfs use a memory file system for /etc
rootmfs use a memory file system for /root
varmfs use a memory file system for /var
adduser add a user (default name is freesbie) and use a memory file system for /home
xconfig add a script to autodetect the video card at boottime and configure X.org accordingly. Install a script to configure the keyboard used by X.org, but this has to be run manually or from a login script or rc.local. WARNING: This plugin requires the etcmfs plugin!
pf add a script which create a basic pf.conf in a dynamic fashion for the PF firewall. WARNING: This plugin requires the etcmfs plugin or unionfs enabled!
sound add a script that autodetects the soundcard and load the proper module. Needed if you don’t want to add the sound modules in your kernel config
swapfind add a script that autodetects swap partitions and activates them at boottime.
l10n add a script to configure your locales using a kenv environment variable (freesbie.lang).
mountdisks add a script that autodetects msdosfs, ntfs, ext2fs, ufs slices/partitions and mount them under mnt.

To use one of these plugins, you need to configure the EXTRA variable in conf/freesbie.conf. For example, here is how to enable customroot, customscripts, etcmfs and rootmfs:

  • EXTRA=”customroot customscripts etcmfs rootmfs”

Note: plugins are executed in the same order as listed in this variable.

Following is a partial list of variables used by plugins:

Variable Default value Content
CUSTOMROOT_MTREE none Complete path of an mtree file to be used to “blue-print” the file-hierarchy under the customroot directory (see customroot.sh for hints how to do this) to the BASEDIR directory

TODO list

Read the ToDo page.

 
freesbie2-arch.txt · Last modified: 29/07/2007 17:14 by 220.157.170.35
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki