Frenzy is built with a set of building scripts.
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 |
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 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.
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.
Building from kernel and system sources
System build from the sources. Configuration file for building is stages/base/make.conf
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.
Installing built system and kernel to FRENZY/fs directory.
System installation.
Installing kernel and modules.
Building Frenzy itself - adding packages, patches and so on.
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.
Deleting useless files from base system. File and directory list to delete is stored in file stages/lite/rmfiles
.
Installing packages from packages/Frenzy
directory.
Installing packages from directory packages/FreeBSD.std
or packages/FreeBSD.ext
(depends on build type).
Deleting useless localizations. Script for deleting and locale list is in stages/pkglite/locales
.
Deleting useless files and directories, creating useful symbolic links depending of package type. Scripts for these operations are in stages/pkglite/files
.
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
.
Miscellaneous system patches (creating additional directiries and symbolic links, patches for configuration files, etc). Patches are in stages/patches
.
Building Frenzy iso image
Preparing directory structure on CD in directory FRENZY/cd
. Configuration files are in stages/iso
.
Creating compressed image of root file system. This is a very prolonged process.
Building iso image. This image is stored in ISO directory.