Absolutely no warranty - use at your own risk.
Since yaird is no longer available with Debian lenny, I consider this document obsolete.
If upgrading from etch to lenny and you are currently using yaird, you may have to "undo" this document and reinstall initramfs-tools.

Jun 18 2007. I did a fresh Debian Etch install on a system with an EIDE drive. Upon booting up I get:
Begin: Waiting for root file system... ...
and it stalls there (hangs). Eventually a BusyBox prompt comes up. It appears that even though root was mapped to /dev/hda1 when I installed the system, GRUB (or something) now wants to find root at /dev/hde1. If I repeatedly power down the system, occasionally drive /dev/hda will enumerate instead of the nonexistent /dev/hde and the system will boot. I also have another system that has a SATA drive where root was mapped to /dev/hde1. After upgrading to an Etch kernel, that machine enumerates /dev/hde as /dev/hda so it also will not boot. This is how I fixed both systems - YMMV. I would not attempt this on a RAID system, it will likely leave you with an unbootable system.

When the GRUB menu appears I entered edit mode by pressing 'e'. Then down arrow to:
kernel          /boot/vmlinuz-2.6.18-4-686 root=/dev/hde1 ro
Then 'e' to edit this. The arrow key was used to position the cursor so I could replace the "e" in /hde1 with an "a". Then it was 'b' to boot. The system did come up. Once it came up I edited /boot/grub/menu.lst and edited each incorrect entry I found, in my case replacing each /dev/hde1 with /dev/hda1. I also edited /etc/fstab and did the same.

See what kernel we are using:
uname -r

I got: 2.6.18-4-686

See if we have needed modules for this kernel:
ls -l /lib/modules

I do:
drwxr-xr-x 3 root root 4096 2007-06-14 15:35 2.6.18-4-686

See if we have an initrd-image and other stuff for this kernel:
ls -l /boot

I do:
-rw-r--r-- 1 root root 70781 2007-05-09 16:14 config-2.6.18-4-686
drwxr-xr-x 2 root root 4096 2007-06-18 15:56 grub
-rw-r--r-- 1 root root 4488176 2007-06-18 14:36 initrd.img-2.6.18-4-686
-rw-r--r-- 1 root root 722037 2007-05-09 22:14 System.map-2.6.18-4-686
-rw-r--r-- 1 root root 1261213 2007-05-09 22:14 vmlinuz-2.6.18-4-686

Install Yaird:
apt-get update
apt-get install yaird


and remove initramfs-tools:
apt-get remove initramfs-tools

I suggest reading 'man yaird'

Use yaird to build a new initrd.img (after making a backup of the old one):
cp /boot/initrd.img-2.6.18-4-686 /boot/initrd.img-2.6.18-4-686-backup

mv /boot/initrd.img-2.6.18-4-686 /boot/initrd.img-2.6.18-4-686-backup2
yaird --output=/boot/initrd.img-2.6.18-4-686 2.6.18-4-686

Then you can reboot. Notice that the initrd.img that yaird creates is much smaller that the one that update-initramfs makes. I'm sure this is because yaird does not load every module known to man (it appears update-initramfs might). I can't tell you whether this will be a problem for you or not. It appears configuration files for yaird are in the /etc/yaird directory.

Other helpful links: http://forums.debian.net/viewtopic.php?t=4703
http://www.debian.org/releases/etch/i386/release-notes/ch-information.en.html#s-upgrade-to-2.6

Gary V
mr88talent at yahoo dot com