G.U.F.I. (FreeBSD Italian User Group)

FreeSBIE

README

FreeSBIE is a LiveCD system, capable to load from a CD at boot time,
without needing installation or hard disk.
It's based on FreeBSD operating system (http://www.freebsd.org).

This project has mainly two goals:
- To develope a suite of scripts useful to create your own CD, with
  your's favorite personalization.

- To make available a ready-to-burn ISO image.

It's developed by the FreeBSD Italian User Group (http://www.gufi.org)

More information and documentation about the project are available on
the official home page. If you want more support you can find the
developers on Azzurra IRC Network (server irc.azzurra.org), channel
#freesbie. A mailing list is also available on freesbie@gufi.org .
More informations to join the mailing list can be found in the
project's home page. You can search on the mailing list's archive from:
http://www.gufi.org/ricerca.php3?dove=ml:gufi

On the project's home page you can also find informations to download
the program from the CVS repository.

To start the creation of the ISO you have to launch ./freesbie and
follow the instructions. In order to create the .iso file mkisofs is
required and obviously you need burncd or cdrecord in order to burn
the image.

These are the scripts in the main dir:
0.rmdir.sh
1.mkdir.sh
2.buildworld.sh
3.installworld.sh
4.buildkernel.sh
5.patchfiles.sh
6.packages.sh
7.customuser.sh
8.mkiso.sh

Scripts are numbered in accordance with normal execution order

They have no x chmod by now, to execute them, just write: 
# sh N.scriptname.sh

config.sh

(obligatory)Parameters to set:
FREESBIEBASEDIR - The directory that will contain the filesystem
LOCALDIR - The directory that contains the scripts. Usually it is 
$PWD (current directory). Obviously it can neither coincide nor 
be inside FREESBIEBASEDIR
PATHISO - Entire Path to the final ISO image (suggested by droid)
MAKEOBJDIRPREFIX - (Optional) Build world here instead of /usr/obj

0.rmdir.sh

(optional) Cleans FREESBIEBASEDIR. Useful when this directory 
becomes useless.

1.mkdir.sh

(obligatory) Creates FREEBSDBASEDIR and base directory tree 
using mtree.

2.buildworld.sh

(obligatory) cd /usr/src && make buildworld ;) This step is 
optional only if a buildworld (without clean) has been already 
done, and above all if sources have not been updated after this 
buildworld. If oyu didn't understand a word, do it! :)

3.installworld.sh

(obligatory) Installs files and directories under future /etc, 
then, obviously, and updates sysinstall (updates on your system, 
than copys it)

4.kernel.sh

(obligatory) Compiles and installs the personalized kernel in the 
"good ol'way". If someone knows how to fit the new procedure, 
come and tell me.

5.patchfiles.sh

(obligatory) Copys configurations files reqired for a correct boot.

6.packages.sh

(optional) User is allowed to choose from a list of installed packages, 
packages to insert in. Dipendecies are automatically found and inserted. 
Watch out for some particular case[...]

7.customuser.sh

(optional) This script should be useful to install known workarounds 
to make some packages work. In my ISO image, a workaround for XKB 
under X is already inserted

8.mkiso.sh

(obligatory) Prepares files that will go in the various memory filesystems, 
and creates the bootable iso image. The iso image can obviously been 
bourned with every cd-burning program. 

Other useful scripts are:

floppy_backup.sh - On /scripts livecd's directory, is useful to save
on a floppy some important directories. The directories you can save
are: /etc, /usr/local/etc, /var, /root and /dev.

floppy_restore.sh - This script provides data restore from floppy, and
it's executed at boot. You can launch it by hand at any time.

create_vnodes.sh - On /scripts livecd's directory, is it needed to
create some virtual nodes with the .flp extension on the slices already
present on the system, in order to save informations on the hard disk.
When you launch it, it asks for the mount point for the .flp images,
and then which virtual nodes we will create, and the respective size.
At the end, we'll have a .flp image on the freebsd/ dir of the chosen
mount point. Next boot, FreeSBIE will find this file and it will use it
as virtual node for the filesystem we have choose, without mounting it
as Memory Filesystem.

For any other explain you can reach the development team on Azzurra IRC
Network, #freesbie.

G.U.F.I.



