Environment
Novell SUSE LINUX Enterprise Server 9
Novell Open Enterprise Server
Novell Open Enterprise Server
Situation
When booting the server, the boot process fails with the following
on the screen:
RAMDISK: Compressed image found a block 0
VFS: Mounted root (ext2 filesystem).
/linuxrc: mount: not found
/linuxrc: mount: not found
/linuxrc: cat: not found
/linuxrc: cat: not found
Starting udev
/linuxrc: cannot create /proc/sys/kernel/hotplug: directory nonexistent
Creating devices
cat: not found
Loading kernel/drivers/scsi/scsi_mod.ko
insmod: not found
< -SNIP- >
cat: not found
Waiting for device /dev/sda6 to appear: expr: not found
.[: 5: unexpected operator
not found -- device nodes:
console fb0 md0 null ram ram0 ram1 ram2 ramdisk shm tty1 tty2 zero
No root device found; exiting to /bin/sh
sh: can't access tty; job control turned off
$
This is caused by an improperly built initrd image. This situation is caused by having an updated glibc package with an outdated mkinitrd package. All required shared libraries do not get built into the image in this environment.
RAMDISK: Compressed image found a block 0
VFS: Mounted root (ext2 filesystem).
/linuxrc: mount: not found
/linuxrc: mount: not found
/linuxrc: cat: not found
/linuxrc: cat: not found
Starting udev
/linuxrc: cannot create /proc/sys/kernel/hotplug: directory nonexistent
Creating devices
cat: not found
Loading kernel/drivers/scsi/scsi_mod.ko
insmod: not found
< -SNIP- >
cat: not found
Waiting for device /dev/sda6 to appear: expr: not found
.[: 5: unexpected operator
not found -- device nodes:
console fb0 md0 null ram ram0 ram1 ram2 ramdisk shm tty1 tty2 zero
No root device found; exiting to /bin/sh
sh: can't access tty; job control turned off
$
This is caused by an improperly built initrd image. This situation is caused by having an updated glibc package with an outdated mkinitrd package. All required shared libraries do not get built into the image in this environment.
Resolution
Resolve the problem by installing an updated mkinitrd:
- Boot into the system from CD1 of the installation media. Select"Installation", accept the license agreement, choose a language and keyboard layout, then select "Boot installed system."
- Use the patching mechanism (YOU or rcd/Red Carpet) to update to mkinitrd-1.2-27.21 or newer.
- Rebuild the initrd by executing 'mkinitrd' as root.
- Reboot.
Additional Information
The problem is caused by mkinitrd improperly detecting the shared
libraries required for the commands that are executed in the
initrd. This can be seen when building the initrd from the "Shared
libs" line:
Bad:
Shared libs: lib/libblkid.so.1.0 lib/libc.so.6 lib/libselinux.so.1 lib/libuuid.so.1.2
Good:
Shared libs: lib/ld-2.3.3.so lib/libblkid.so.1.0 lib/libc.so.6 lib/libselinux.so.1 lib/libuuid.so.1.2
Bad:
Shared libs: lib/libblkid.so.1.0 lib/libc.so.6 lib/libselinux.so.1 lib/libuuid.so.1.2
Good:
Shared libs: lib/ld-2.3.3.so lib/libblkid.so.1.0 lib/libc.so.6 lib/libselinux.so.1 lib/libuuid.so.1.2