Arcboot is the bootloader used to boot Linux on SGI/MIPS IP22 and IP32 machines (Indy, Indigo2 and O2). It currently supports booting kernel and initramfs from ext{2,3} filesystems and usually resides in the volume header of a disk with a SGI disklabel. Also contained is tip22 which is used to embed a loader, kernel and initramfs into a single ELF or ECOFF binary. This allows for installations via bootp/tftp as offered by the Debian Installer.


Tip22 uses a linker script to merge a loader object, kernel and initramfs into one binary. Start and end of the kernel and initramfs are marked by the special symbols _{kernel,initrd}{start,end}.

The resulting binary can be fetched via tftp when netbooting a IP22 or IP32 machine. The loader then extracts kernel and initramfs from itself into the correct memory locations and starts the kernel passing the address of the initramfs on the kernel command line.

Source Code

The source code is available via:

git clone

and can be browsed here.


Releases can be found in the Debian repository.


arcboot and tip22 were written with the help of many contributors (see debian/changelog for details) by Guido G√ľnther <> based on ext2load written by Ralf Baechle.