Building the distributive
Frenzy is built with a set of building scripts.
Building scripts structure
Directory | Description |
FRENZY/cd | Frenzy CD content |
FRENZY/fs | Frenzy root filesystem |
ISO | The directory where the ISO image will be created |
packages/FreeBSD.std | FreeBSD packages, Frenzy standard set |
packages/FreeBSD.ext | FreeBSD packages, Frenzy extended set |
packages/Frenzy | Special Frenzy packages |
packages/frenzypkg | Some Frenzy packages source code |
packages/tools | Packages building utilities |
stages | Building scripts main catalogue |
stages/base | Kernel config file and make.conf for Frenzy build |
stages/boot | Set of frenzyroot boot image |
stages/iso | ISO image build files |
stages/lite | List of files which are deleted from the base system |
stages/patches | Patches to be applied after the installation of system and packages |
stages/pkglite/files | Installed packages pathes (deleting and modifying files) |
stages/pkglite/lib | Unneeded libraries deleting script |
stages/pkglite/locales | Unneeded locales deleting script |
systemroot | This files are placed overwriting into root directory
of Frenzy without modification |
tools/mkmenu | Building fluxbox menu |
Configuration
Build parameters are set using config file. The variables which could be changed are:
Variable | Parameter |
BLOCKSIZE | Blocksize for uzip compression. Maximum size is 130560. The bigger the block is, the more compression is, but it will take more time to uncompress the archive on slow machines. |
FRENZY_TYPE | May be “std” (standard build) or “ext” (extended build). The name of the directory with packages and the fluxbox menu depend on it. |
FRENZY_LANG | May be “ru” (Russian) or “en” (English). Sets default locale, package list, locales to be deleted list, Translation and view of the menu. |
FRENZY_ISOIMAGE | The name of Frenzy ISO image. |
FRENZY_VOL | Frenzy ISO image volume label. |
VERSION | System version. This message will be shown in the boot loader and after every system login. In order to fit on screen, this message must fit into the “|” symbols of the ruler over the message. |
Building process
Building process takes a few stages. Make sure, the application packages and frenzy packages are already built and placed in respective directories (see above).
The main building script is frbuild.
Command | Action |
./frbuild build | Make a build stage |
./frbuild install | Make an install stage |
./frbuild frenzy | Make a frenzy stage |
./frbuild iso | Make an iso stage |
./frbuild all | Make all stages |
You can make any stage by yourself by entering stages directory and running the appropriate script with “all” parameter.
FRENZY
First build stage is always performed. During this stage depending of chosen language preparing of locale list is performed, bootmanager localization and fluxbox menu generation.
build
Building from kernel and system sources
world-build
System build from the sources. Configuration file for building is stages/base/make.conf
kernel-build
Building the kernel from the sources. Kernel configuration file is stages/base/FRENZY . This file is createed by utility stages/base/mkkernel from modules located in stages/base/kernel/ directory.
install
Installing built system and kernel to FRENZY/fs directory.
world-install
kernel-install
Installing kernel and modules.
frenzy
Building Frenzy itself - adding packages, patches and so on.
bootloader
Building MFS bootable image. All necessary files are in stages/boot . After the building you will get a file stages/boot/frenzyroot.gz that contains an image.
world-lite
Deleting useless files from base system. File and directory list to delete is stored in file stages/lite/rmfiles .
packages-install-frenzy
Installing packages from packages/Frenzy directory.
packages-install-freebsd
Installing packages from directory packages/FreeBSD.std or packages/FreeBSD.ext (depends on build type).
packages-lite-locales
Deleting useless localizations. Script for deleting and locale list is in stages/pkglite/locales .
packages-lite-files
Deleting useless files and directories, creating useful symbolic links depending of package type. Scripts for these operations are in stages/pkglite/files .
packages-lite-lib
Deleting useless static link libraries (you need them only for building statically linked applications, we don’t need this). Script for this operation is in stages/pkglite/lib .
system-patch
Miscellaneous system patches (creating additional directiries and symbolic links, patches for configuration files, etc). Patches are in stages/patches .
iso
Building Frenzy iso image
iso-prepare
Preparing directory structure on CD in directory FRENZY/cd . Configuration files are in stages/iso .
iso-mkuzip
Creating compressed image of root file system. This is a very prolonged process.
iso-build
Building iso image. This image is stored in ISO directory.
|