Differences between revisions 80 and 81
Revision 80 as of 2005-12-09 11:30:42
Size: 7296
Editor: MarcoAmadori
Comment: Add new EVMS yaird support
Revision 81 as of 2005-12-09 16:07:14
Size: 7370
Editor: ?maximilianattems
Comment: cryptsetup status update
Deletions are marked like this. Additions are marked like this.
Line 26: Line 26:
||'''Crypsetup'''|| {i} Needs test|| (./) Works (ManojSrivasta)|| ||'''Crypsetup'''|| {X} No hooks yet in cryptsetup || {i} Works (ManojSrivasta) not for all (see [http://bugs.debian.org/336599 #336599])||

Comparison of the various replacements for initrd-tools

Architectures

["initramfs-tools"]

["Yaird"]

amd64

(./) Works (MarcoAmadori, fs)

(./) Works (MarcoAmadori)

arm

{i} Needs Test

{i} Needs Test

alpha

{X} linux-2.6/alpha has explicit conflicts for some reason

{X} Fails to exec /sbin/init (invalid interpreter, iirc) (DannFrazier)

hppa

{X} segfault in run_init (?JeffBailey)

{i} Needs Test

i386

(./) Works (Jeff Bailey)

<!> Works, but no upgrade path from Sarge (JonasSmedegaard)

ia64

{X} broken klibc (see [http://bugs.debian.org/341181 #341181]) and broken elilo (see [http://bugs.debian.org/338185 #338185]) (DannFrazier)

<!> Expected to work, but broken elilo (see [http://bugs.debian.org/338185 #338185]) and no upgrade path from Sarge (DannFrazier)

m68k

{X} no klibc (not yet ported)

{i} Needs Test

mips

{X} no klibc (linux-header missing)

{i} Needs Test

mipsel

{X} no klibc (linux-header missing)

{i} Needs Test

powerpc

(./) Works (DannFrazier?)

(./) Works (?SvenLuther)

s390

{X} no klibc, and other problems (see [http://bugs.debian.org/340508 #340508])

<!> Might work with manual editing config (see [http://bugs.debian.org/340344 #340344])

sh

{X} no klibc (unstested?)

{i} Needs Test

sparc

(./) Works (?JeffBailey)

(./) Works (JurijSmakov)

Root Devices

initramfs-tools

yaird

fstab label and UUID

(./) Works?FootNote(No need to parse fstab as bootloader cmdline sets root. No hardcoding of the root partition.)

<!> only ext2 and reiser (see [http://bugs.debian.org/337065 #337065] for workaround)?FootNote(Fstab labels and UUID on yaird works but yuckilly: Needs to be rewritten to blkid, there are good ideas in http://bootutils.sourceforge.net/) (ErikKonijnenburg)

md (fs directly)

(./) Works (maximilianattems)

(./) Works (JonasSmedegaard)

LVM

(./) Works (maximilianattems)

(./) Works (MarcoAmadori)

LVM-over-md

(./) Works (?DanJacobowitz)

(./) Works (MarcoAmadori)

EVMS (fs directly)

(./) Works (Sesse)

(./) Works in 0.12 (MarcoAmadori)

LVM-over-EVMS

md-over-EVMS

LVM-over-md-over-EVMS

Crypsetup

{X} No hooks yet in cryptsetup

{i} Works (?ManojSrivasta) not for all (see [http://bugs.debian.org/336599 #336599])

Crypsetup-luks?FootNote(cryptsetup-luks is not packaged officially for Debian)

{i} Needs test

<!> Tested round 0.0.8 (ErikKonijnenburg)

loopaes

{i} Needs Test

{X} No

NFS

<!> Requires manual editing config file (?JeffBailey)

<!> Requires manual editing config file (JonasSmedegaard)

SCSI

(./) Works (?JeffBailey)

{i} Needs test

SATA

(./) Works (?JeffBailey)

(./) Works (MarcoAmadori)

USB-stick

{i} Needs Test

{i} Needs Test

IEEE1394

{i} Needs Test

{X} No

Compaq Smart Arrays

{i} Unknown

(./) added in 0.0.11-11, see [http://bugs.debian.org/335601 #335601]

dmraid

{i} Needs test, hooks can be found [https://wiki.ubuntu.com/FakeRaidHowto#head-2316ce782c999621d013c90ad3d4cc61349b46db here]

<!> In progress, patch see [http://bugs.debian.org/337724 #337724]

Other features

initramfs-tools

yaird

cramfs initrd

{X} No.

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

USB keyboard

(./) Works (?TommiVainikainen)

(./) Works (ErikKonijnenburg)

swsusp

(./) Works (DavidHärdeman)

{X} No

swsusp2 ?FootNote(swsusp2 is not in mainline kernel)

{i} Needs test

<!> requires manual editing config files, and needs improvements (see [http://bugs.debian.org/329319 #329319])

External hooks

(./) Yes

<!> Requires manual editing config file

Package requirements (risk of delays on some archs)

initramfs-tools

yaird

klibc

<!> Yes

(./) No

busybox

<!> Yes

(./) No

udev

<!> Yes

(./) No

Arch: any

(./) No

<!> Yes (includes a few tiny C-based helper tools)

Runtime requirements

initramfs-tools

yaird

sysfs?FootNote(sysfs required at runtime limits to installing only '''from''' 2.6.8 and newer - specifically making upgrades directly from Linux 2.4.x to Linux 2.6.x impossible (Debian Sarge installed 2.4.x kernel by default on some arches!))

<!> Only sometimes?FootNote(sysfs is required for initramfs-tools at runtime in "dep" mode, but not in "most" mode (the default mode in Debian). Images created in "most" mode might be too big for some arches or bootloaders.)

<!> Yes

Boot-time requirements

initramfs-tools

yaird

udev?FootNote(udev required at boot-time limits to installing only Linux 2.6.12 and newer)

<!> Yes

(./) No

Legend

(./)

Great

<!>

Not great

{X}

Bad

{i}

Unknown, needs to be tested

Recent Linux kernels query the ramdisk tool prior to use if it is expected to succeed. Currently the following simplified queries try to handle all of the above contraints (see ?FlexibleKernelHandling for a future more finegrained approach):

kernel-package query

initramfs-tools

yaird

Supported host version

any

>=2.6.8

Supported target version

>=2.6.12

>=2.6.8

The main goal of all initrd tools is off course to generate an initial ramdisk to help boot a kernel properly. But beyond that, the tools have fundamental differences in their approach:

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

Ramdisk size

Relatively large by default- option of relatively small (with larger risk of failing)

quite small

Dealing with devices

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

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

Dealing with errors

If unsure then creates a larger more safe image

Fails to build image if uncertain it will work

libc used

Both klibc and (externally pulled in) glibc

glibc (can be compiled against klibc if needed)

Hilites not directly comparable

initramfs-tools

  • Written in shell - has backward compatible initrd-tools invocations and an "update-initramfs" for endusers
  • Used by default on Ubuntu releases Breezy, Dapper
  • Maintained by ?JeffBailey, maximilianattems

  • Upstream Adam Conrad, Scott James Remnant https://wiki.ubuntu.com/Initramfs

  • Among the hooks support is "usblash", a funky userspace bootsplash utility https://wiki.ubuntu.com/UsplashInitramfs

yaird