LiveCD
Documentation Project
ISO Image and Generation Tool Set
Project Introduction and Gerneral Information can be found at the Project Home.
System
Requirements
There are system
requeriments when you are about to create your own custom LiveCD with the FreeBSD LiveCD
Tool Set. At this point, you need a box running FreeBSD, and its source (/usr/src/)
has to be syncronized with the FreeBSD -STABLE Branch (via cvsup, usually) and
you need about 2GB free space under the /usr/local/ slice - this issue can be
configured and the path changed - and mkisofs(8). The Tool Set has even a CD Creation
routine, so a CD Recorder is always the main requirement when you wish to test your custom
LiveCD, despiste it doesn't need to be present at the same machine you are creating the
image.
At running time,
it's a good idea to have about 64MB Memory, obviously because usually you will mount every
Read/Write partition under MFS (memory filesystem) and read-only data will be brought to
main memory everytime you need to read it - this issue is even more relevant if you run
graphical applications.
LiveCD
Technical Overview
How to use it?
This Tool Set usage is an easy challenge. It is made up of only 3 shell scripts:
- LiveCD/livecd.sh
- LiveCD/scripts/make_vnodes.sh
- LiveCD/scripts/install_freebsd.sh
livecd.sh is the main shell script, it executes all the routines that are
pertnent to the CD generation works. The user input interface is dialogged, so it's pretty
easy to understand all the CD creation steps. The other 2 scripts are only support
routines that may be used later, when you are already running LiveCD. They are issues.
livecd.sh usage.
Before running livecd.sh you must set some variable options at the config file.
Those options will define the directory structure where the LiveCD generation will be
made, the directory where the ISO image will be created, etc...
When you run livecd.sh a dialog box will show you every value defined at the config
file. If you agree with those values, just press ENTER. If you want to redefine the
values, abort the livecd.sh - just press Ctrl-C.
There are 8 steps need to create a FreeBSD LiveCD. Every step is shown - in order - at the
livecd.sh main menu. You just need to run them at the sequence they are shown,
and you will have a Live CD at the end of the process.
Steps "F" (burn CD) and "C" (insalling applications) are not required,
it's up to you, to optionally use them.
At any time you can abort a step and restart the Cd Creation Process from the last step
that was sucessfully ran. You don't need to restart the process from the begin when you
abort something.
make_vnodes.sh usage.
This script can be found under /scripts on your LiveCD directory structure. It
is used to easily handdle the set of files that can expand your filesystem facilities on
LiveCD. When LiveCD boots, it will attempt to detect and mount FAT/NTFS/EXT2FS/UFS
partitions, if they exist on your Hard Disk. Once LiveCD has identified and mounted a
partition, you will be able to create virtual nodes at any of those FS, to
install LiveCD programs, save permanent configuration data, and everything else you can do
with larger writable nodes.
With virtual nodes you can have a 100% functional Unix Desktop, without needs to
repartitioning your HD to install the system. This enviroment is not as safe as a native
FreeBSD install, but it is a great way to try FreeBSD before definitively installing it.
It's a great demonstration enviroment.
When you run the script, it will ask you where is the mount point for the .flp
image files, and there, they will be created (ie. /mnt/dos.1). You only need
to set the desired path.
After that, it will show you a menu, where you can choose wich .flp image nodes
you wish to create. Selecting it, a dialog box will ask you the size (In MB) for that virtual
node.
At the end of this process, you will have a .flp file created under the freebsd/
directory at the mount point you have chose. At the next boot time, LiveCD will
find this file and will use it as a virtual node for the filesystem you have
selected, and will use this vnode, not mounting this FS as Memory File System as
usual :-)
install_freebsd.sh usage.
This script can be found under scripts/ directory at your LiveCD directory
structure. It allows you to permanently install FreeBSD on your Hard Disk. The following
requirements are needed to use this:
- If your Hard Disk is IDE Type, it must be controlled by your first IDE Controller -
IDE-0, First IDE Master.
- You can't have any other O.S. on your Hard Disk. You you wish to dual boot your system,
we recomend you to try the usual installation media, distributed as Disk #1 by the FreeBSD
Project. Our script will allocate the whole HD for the FreeBSD System. Any other partition
or system will be overwritten. Here, our goal is to offer an advanced FreeBSD System
installation media, and under production enviroment, FreeBSD should live alone in your
box.
When you run it, this script will ask you to confirm the disk that it will install
FreeBSD. Even if there are more than one Disk, it will show you always the first one. When
you choose the disk, the script will ask you, via dialog boxes, 3 questions, asking the
size you respectively want to allocate for the /, swap and /var partitions.
/usr size definition will be auto allocated, based on the remaining Hard
Disk free space. After that, a confirmation window will prompt, and if you continue
the process, it will delete all data on your disk, will define de proper disk information
and will install FreeBSD.
After a few minutes, the installation process will be done. Remove your LiveCD cd-rom and
reboot your system.
You may also run this scrint on a non-interactive way, allowing you to run it in
batch-mode. In example, if you issue the commands:
/scripts/install_freebsd.sh ad0 300 256 1000
It will install FreeBSD at ad0 disk, creating a 300Mb partition for the / FS,
256Mb for swap, 1Gb for /var the the remaining disk space for /usr.
When you run it this way, NO EXTRA DATA WILL BE REQUIRED, so TAKE CARE, the process will
start automatically and will only stop after the whole installation os done.
* Using LiveCD as a Rescue Disk (Disaster Recovery)
The ability to install FreeBSD from LiveCD was a requirement at the FUGSPBR. We wanted a
Tool that would make simple a task of reinstalling a previously configured server if
hardware problem happened.
You can create a very custom version of the whole script-set, allowing it to create your
own partition definitions, and the ability to install previously configured programs (like
Apache, Postfix, Samba, etc...) together, the easy batch-mode install may become a great
tool that allows you to recover server enviroments.
A good idea is to create a rc.local file under your LiveCD's /etc/ ant
set the desired parameters to call install_freebsd.sh. This way, when you boot a
machine with LiveCD, automatically the install process will begin :-)
So, if you create your own LiveCD and keep it up to date - a scenario where a CD-RW would
perfectly fit your needs - you will make the new server installation task as trivial as a
single system boot. Obviously you may also try those features to "clone" your
servers.
Conclusions.
LiveCD usage possibility are numerous. You may customize your scripts, create very own
CD sets up to your imagination limits. Anyway, as soon as you start using LiveCD, as
rescue disk, install disk, demonstration stuff, etc, it is a fact that you will wish to
keep your own LiveCD up to date. This way, we desire you luck and a smart usage of this
tool set.
Extra Information.
Memory is always an issue when you run LiveCD. The quality and compatibility of your
memory cards - when you have more than one - must be certain. If reliable memory is not
reality, you may find 'strange' behavior on some programs (like coredumps, signal 10 and
11), because the Memory File System is a wide used feature.
Firts Boot.
If you did not customize user/group and passwords, the default root account is
passwordles. Enjoy ;-)
Currently there are
8 FreeBSD Users actively envolved on the this project development.
We are organized accordingly to
distinct duties and goals. We are:
Edson Brandi - Project Manager, Main Developer, Headman,
Child's Father.
Patrick Tracanelli - Developer,
Eng. Language Maintainer, Website Maintainer, Doc Writer and Translator.
Carlos A. Capriotti - Documentation Translator.
Douglas Santos - Documentation Writer.
Jean M. Duarte - Website Maintainer.
Odemur Cezar Marangoni - Website Maintainer.
Marcelo Eyng - Official Tester.
Djony Weverton Tambosi - Developer.
|