The distributions are complete disk images of the system and can be unpacked directly on a flash disk with a fresh file system. To be able to mount the flash disk and create new file systems, one must have access to another Linux based PC with a flash disk reader.
Some things are not generally needed in the Bifrost distribution, but can in a few cases turn out to be useful. We have therefor compiled tar files with stuff that we at one time or the other have added to Bifrost to solve a particular task.
An example of how to create a working Linux system (having downloaded the image file to /usr/src on our local support machine):
Note! The following apply only to versions up to v5.18. As of v5.19 and later, we use GRUB as a boot loader and the procedures have changed a bit. To create a bootable USB memory stick using GRUB, you may use the makeusbmem script. A simple guide on how to use the script is in bifrost-install-minihowto.txt.
fdisk /dev/hda ;create a partition interactively fdisk: Remove a possible FAT16 partition using d. Create a new partition (/dev/hda1) with n and set the boot flag with a. Save and exit with w. mke2fs /dev/hda1 ;create file system mount -t ext2 /dev/hda1 /mnt ;mount the disk cd /mnt ;change directory to /mnt tar zxpf /usr/src/bifrost.5.18.tar.gz ;unpack the distribution chroot /mnt /bin/bash ;change root environment cd / ;cd to new root ls -alF ;check that it works lilo ;run lilo exit ;exit the environment cd / ;leave the mount point umount /mnt ;unmount the disk e2fsck -f /dev/hda1 ;check the file system
To be able to get the proper user and group id when writing the image file to disk, you may have to create a user and a group called filter on your machine from which you write the flashdisks. However, the filter user has been removed from Bifrost v4.x.
/etc/passwd filter:*:200:200:Filter User:: /etc/group filter::200:
Development package with gcc, a late version of binutils and libc-5.4.46. Included is also code checking utilities. As a development platform we are using RedHat 9, as of Bifrost v5.6. Currently we are using:
gcc 3.2.2 glibc 2.3.2 autoconf 2.59 automake 1.9.3
Configuration flags are set to (when possible):
CFLAGS="-Os -march=i386" ./configure --prefix=/usr --build=i386 and a few examples of common extra flags ./configure --prefix=/opt/snmp --enable-ipv6 --with-tcp-wrappers --without-xauth --without-x11
For the oldest distribution, we are using the 2.0.35 version of the Linux kernel (as from v1.3b). The source tree with the configuration we are using is available here:
The distribution uptil v3.0beta4 uses the 2.2.5 kernel, complete with ATM-code, new tulip-drivers and configuration. Since v3.0beta5 we're using the 2.2.13 kernel. Note that 2.2.13 is not so healthy when it comes to the network code and it will probably be much better with 2.2.14 or 2.2.16.
Kernels for more recent versions of Bifrost (v4 and v5):
Patches that are added to the Bifrost kernel:
We also have the source code for our own special hacks, as well as a few modified programs or software that is somehow critical for the distribution. Furthermore, one can also find a few manual pages for important programs here: