Documentation on creating a Custom BeOS Edition. (Document Release Version 2)

Requirements:
BeOS 5 PE
All software to be installed
3 available Partitions for BeOS
1st BeOS PE or Pro with Developers Tools
2nd BeOS Initialized Partition for creation of the Custom Edition *
3rd BeOS Initialized Partition for testing **
El Torito Image of a BeOS boot disk (Personal edition floppy image will do fine)

Structure of BeOS Custom Edition Partition *
_packages_ : directory with packages. Contains full directory structure of packages to be installed after selection by the User.
apps, beos, demos, develop, home, preferences : default installation of BeOS 5 PE structure.
Any drivers, add-ons, patches, fonts and default software should be installed normally, before creation of the CD image.

Explanation and Structure of _packages_ directory:
_packages_ is the directory that is read by installer to determine what other software, except the default, can be installed. Every application to be installed is located within a subdirectory inside _packages_. Installer relies on this directory attributes to show its information to the user. Those attributes are:

"INSTALLER PACKAGE: NAME" : The name that will be displayed inside Installer
"INSTALLER PACKAGE: DESCRIPTION" : Description showed when mouse is over the package
"INSTALLER PACKAGE: GROUP" : Group the package belongs in. For example GAMES
"INSTALLER PACKAGE: ON_BY_DEFAULT" : 1 when package being selected by default, 0 when not
"INSTALLER PACKAGE: ALWAYS_ON" : true if packages is to be always selected, false if not
"INSTALLER PACKAGE: SIZE" : Size that will show inside the installer in bytes. It is used for calculation of installation size.

Below is an example script to create the attributes for GNU Tools package:
#!/bin/sh
addattr "INSTALLER PACKAGE: NAME" "BeOS Gnu Tools" gnupro
addattr "INSTALLER PACKAGE: DESCRIPTION" "BeIDE: The BeOS GNU Tools" gnupro
addattr "INSTALLER PACKAGE: GROUP" "Development" gnupro
addattr -t bool "INSTALLER PACKAGE: ON_BY_DEFAULT" 1 gnupro
addattr -t bool "INSTALLER PACKAGE: ALWAYS_ON" false gnupro
addattr -t int "INSTALLER PACKAGE: SIZE" 20213076 gnupro

This script when run inside the _packages_ directory, will add the attributes on the gnupro directory.

The directory structure will be copied as is from _packages_ to /boot on the destenation disk. If you wish to execute installation scripts just add the instructions at the end of /boot/beos/system/boot/InstallerFinishScript and InstallerFinishScript.cd scripts. They will be executed at the end of the installation. Also any messages or scripts you need executed after the installation finishes should be added in /boot/beos/system/boot/setup script.

Creation of image file
After testing by installing from the custom partition Edition to an empty partition, you are ready to create the image to be written on cd.
For this process you use your own BeOS work system (1st partition mentioned in the Requirements).

1) First you calculate the space required by the full installation Cd. NOTE you don't count the hidden var directory (it contains the swap file).
2) Then you create an image file using dd, initialize it using mkbfs and you mount it.
3) Then you copy the full structure of the partition containing our Custom Edition in to the image file (careful not to copy the var directory).
4) You name the mounted partition with a name you wish (I dont mean the image file, but the mount point showing on the Desktop, or the Disks window - depending whether you use the Opentracker way of showing mounted volumes or not).
5) After that you unmount the image file, name it however you wish (usualy custombe.img will do fine and it is easy to remember) .

Sample process with commands:
dd if=/dev/zero of=/boot/home/burn.img bs=1024k count=620
# This wil create the burn.img with a size of 620 megabytes
mkbfs 2048 burn.img
# This will format the image (Always use 2048 so you can burn it on CDs)
mkdir /mnt
mount -t bfs burn.img /mnt # This will mount the image
# now you have a mounted image showing in your volumes as 'untitled'.
# Copy all the files from the Custom BeOS partition in this volume
# rename the 'untitled' volume to something you want like 'My Custom Edition Beta 1'
umount /mnt
# burn.img now contains your custom beos installation.

Burning a CD
Follow these instructions, or use the Nero .cue file.

After that you have a working bootable installation cd with your own Custom BeOS Edition. Just Setup ** and Test.

 

 

Hosted by uCoz