2007-08-12

Fresh out of NEW university: mkelfimage

I maintain the Debian package of mkelfimage, a tool to produce Etherboot images for use with thin client environments such as LTSP, which recently entered the Debian archive.

The key difference between mkelfimage and the aging mknbi is that mkelfimage does not reply upon any traditional BIOS call to produce the bootable code in the ELF image, which makes it possible to boot thin clients with LinuxBIOS as their firmware, such as the Linuterm and several other products designed by Artec.

mkelfimage accomplishes its BIOS-less operation using a simplified kexec implementation. However, this also means that explicit support for each architecture must be implemented with Assembler code. As it currently stands, the upstream tarball only includes support for i386 and ia64. Since amd64 boots in 32-bit mode, it should also work there, but this is untested.

This leaves support for several architectures completely uncovered for. LinuxBIOS developers have taken over the upstream code and they welcome patches towards improving support for other architectures and towards cleaning up the autoconf implementation currently in use.

2 comments:

Christian Jacobsen said...

I'm trying to use artech dbe60 with edubuntu 8.10, but it won't boot.
Is mkelfImage the solution?
I'd tried this with no success:

# mkelfImage --initrd=initrd.img vmlinuz elf.img

in dhcp.conf:
if substring( option vendor-class-identifier, 0, 9 ) = "PXEClient" {
filename "/ltsp/i386/pxelinux.0";
} else {
# filename "/ltsp/i386/nbi.img";
filename "/ltsp/i386/elf.img";
}

Thanx

Martin-Éric said...

The DBE60 is tricky: it uses a proprietary bootloader that is neither Coreboot or a traditional BIOS. The last known tool to work with it was mkelf-linux from the mknbi package.

Alternately, you might wanna try contacting Artec directly and ask for support.