(PROTOTYPE) Comparison of the various replacements for initrd-tools

Architectures

initramfs-tools

yaird

amd64

(./) Works (?JeffBailey)

(./) Works (MarcoAmadori)

arm

<!> Needs Test

<!> Needs Test

alpha

<!> Needs Test

<!> Needs Test

hppa

{X} segfault in run_init (?JeffBailey)

<!> Needs Test

i386

(./) Works (Jeff Bailey)

(./) Works (JonasSmedegaard)

ia64

{X} inflate code misreads magic number (?JeffBailey)

{X} Also fails, probably for the same reason (DannFrazier)

m68k

<!> klibc not yet ported

<!> Needs Test

mips

<!> linux-header missing

<!> Needs Test

mipsel

<!> linux-header missing

<!> Needs Test

powerpc

(./) Works (DannFrazier?)

(./) Works (?SvenLuther)

s390

<!> klibc untested?

<!> Needs Test

sh

<!> klibc unstested?

<!> Needs Test

sparc

(./) Works (?JeffBailey)

(./) Works (JurijSmakov)

Root Devices

initramfs-tools

yaird

fstab label and UUID

<!> Unknown

<!> Works but yuckilly. Needs to be rewritten to blkid, there are good ideas in http://bootutils.sourceforge.net/ -- ErikKonijnenburg

md

(./) Works (maximilianattems)

(./) Works (JonasSmedegaard)

LVM

(./) Works (maximilianattems)

(./) Works (MarcoAmadori)

LVM-over-md

<!> Needs Test

(./) Works (MarcoAmadori)

EVMS

<!> Works (Sesse)

<!> In progress see BTS #335230

EVMS-over-lvm

<!> Needs Test, probably some modules to add.

<!> Unknown

Crypsetup

<!> Needs Test

(./) Works (?ManojSrivasta)

Crypsetup-luks

<!> Unknown

<!> Tested round 0.0.8 (ErikKonijnenburg)

loopaes

<!> Unknown

{X} No

NFS

<!> Needs Test

<!> Requires manual editing config file (JonasSmedegaard)

SCSI

<!> Unknown

<!> Needs test

SATA

<!> Needs Test

(./) Works (MarcoAmadori)

USB-stick

<!> Needs Test

<!> Needs Test

IEEE1394

<!> Needs Test

{X} No

Compaq Smart Arrays

<!> Unknown

<!> Needs test

dmraid

<!> Unknown

{X} No

swsusp

<!> Needs Test

{X} No

swsusp2

<!> Unknown

<!> Not in mainline kernel, but so far I've seen two notes from people who got swsusp2 running with yaird, vs nobody for swsusp plain. This seems like a good one for me to work on (ErikKonijnenburg)

Comparable notes

initramfs-tools

yaird

Coding style

Written in shell - mkinitramfs has backward compatible initrd-tools invocations. update-initramfs for enduser.

Written in perl

Dependencies w/ risk of delay

Depends on klibc, recent busybox, udev, mklibs-copy (which pulls in python2.4-minimal).

Arch: any (includes a few tiny C-based helper tools)

libc used

Both klibc and (externally pulled in) glibc

glibc (supports compiling against klibc if needed)

howto compose images

Builds generic image with plenty of included modules, and probes at boot time what to load

Builds specific image probing/resolving with sysfs at build time the modules to include and load at boot time

Dealing with devices

Activates (it seems) all possible md and/or LVM volumes

Activates only md and/or LVM volume needed for mounting rootfs

Supports USB keyboard

<!> Unknown

(./) Works (ErikKonijnenburg)

Supports initrd (instead of initramfs)

{X} No.

{X} Removed in 0.0.12 -- any reason to put it back? (ErikKonijnenburg)

Oldest supported kernel

2.6.12 (?ManojSrivasta)

2.6.8 (JonasSmedegaard)

sysfs needed at build-time ?FootNote(sysfs needed at image build time means upgrade directly from 2.4.x+initrd-tools to 2.6.x+yaird is impossible)

No

Yes

Hooks for external packages

(./) Yes

<!> requires manual editing config file

Hooks for splash boot

(./) Yes (used by usblash an funky userspace bootsplash utility)

<!> requires manual editing config file

Legend

(./)

Works!

<!>

Possibly works

{X}

Doesn't work

Hilites not directly comparable

initramfs-tools

yaird