This is the BSD Installer project from SummerOfCode2005
Project Name
Integrate BSD Installer into the FreeBSD install CD's
Synopsis
Integrating the BSD Installer into the FreeBSD release building process.
Building from Perforce
Checkout the perforce tree
cd to the scripts directory
Copy the config.txt.eg to config.txt
Change the variables to be correct for your system:
PATCH_DIR is a directory where the patches are placed
SRC_DIR is the location of the source code for the version of FreeBSD you are currently running
BUILDNAME, CVSROOT and CHROOTDIR are to be set as for release(7)
Run 'sh build_patch.sh'. This will create a patch, a script and tarballs to be used with LOCAL_PATCHES and LOCAL_SCRIPT during release
The release/Makefile needs to be patched to export the -DBSDINSTALLER to the child script. There is a patch in the scripts directory for RELENG_6 for rev. 1.853.2.16
Run 'sh build_release.sh'. This will run 'make buildworld' in SRC_DIR from config.txt followed by 'cd release' and 'make release -DBSDINSTALLER …'
Bugs
Releases
BETA 1
BETA 2
Snapshot 2006-05-12
Todo
Install to multiple disks
Create a scriptable backend for large scale installations
Install on GVinum, GMirror, etc
Update the building instructions to show how to install packages
Details
Parts
Installation locations
libaura → /usr/local/lib/libaura3.so
libdfui → /usr/local/lib/libdfui4.so
liblua → /usr/local/lib/liblua.so
liblualib → /usr/local/lib/liblualib.so
Lua → /usr/local/bin/lua
lua modules → /usr/local/lib/lib/lua/5.0/ and /usr/local/lib/share/lua/5.0/
BSDInstaller backend → /usr/libexec/bsdinstaller/
ncurses frontend → /usr/sbin/bsd_installer_ncurses
The Lua modules are all in the ports tree.
The Lua modules are:
app - devel/lua50-app
compat-5.1 - devel/lua50-compat51
dfui - devel/lua50-dfui
filename - devel/lua50-filename
luasocket - net/luasocket
posix - devel/lua50-posix
pty - devel/lua50-pty
Other parts:
Virtual consoles
There are three virtual consoles:
To see the installation log change to console ttyv1. It is also written to /var/log/install.log on the installed disk.
Packages
Packages are only installable from the first CD.
Architecture
BSD Installer is split into three main parts:
A Frontend to display the menu to the user.
A Backend to tell the Frontend what to display.
A library to get the Frontend and Backend talking to each other.
The BSD Installer is installed from a minimal live CD. The front and back ends run from separate virtual consoles. This is to display any output from the backend to the console, eg. the results of newfs.
Links