Bifrost Network Project

Svenska Ladda ner Documentation References Pictures Contact

Version 1 Version 2 Version 3 Version 4 Version 5

Bifrost Distributions

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.

Extra accessories for Bifrost

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.

Copying Images

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

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.

filter:*:200:200:Filter User::


Source Code

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:

Tom Johans <>
Last modified: Tue Mar 30 15:20:26 2004