After installing updates on SLES/OES servers we have had issues where the server doesn’t boot. The console comes to:
"No root device found; exiting to /bin/sh sh: "
Usually the console is unresponsive.
This is because the kernel was upgraded and a new initrd was created but it was not created with EVMS support (for some reason, not sure why, wonder when Novell/Suse is going to fix this??).
Mostly copied from:
# boot with the SLES10 AMD64/EMT64 CD1 or DVD. Use the correct arch, 32 or 64 bit. The link says to use rescue mode of a SLES cd, but I like using RIPLinux 7.2.
(the newer versions don't support evms).
RIPLinux 7.2 has a smaller footprint so it boots faster.
# boot to rescue mode and enter "root" at the prompt. You will be at a command prompt. #This isn't needed, but I left it just in case. # sidenote: to access a CD/DVD at this point, use # modprobe ide-cd; mkdir -p /mnt; mount /dev/hda /mnt # probe EVMS information echo "probe" | evms -s # query devices echo "q:d" | evms -s # query volumes, this should display the name your root container echo "q:v" | evms -s #If you know your mount points, you won't really need to use the commands above. # mount root (note the comma in the mount command after the "sys_lx") This should be mounting your root files system. echo "mount:/dev/evms/lvm2/system/sys_lx,/mnt" | evms -s If you have /var as a separate partition you'll want to mount it also. Ex: mount /dev/evms/lvm2/system/var /mnt/var #and if boot is separate: (it should be) mount /dev/evms/sda1 /mnt/boot # you should see your valuable data on the old root ls -l /mnt/ # turn your old root into the current root mount -t proc none /mnt/proc mount -o bind /dev /mnt/dev chroot /mnt /bin/bash #you must choose the correct RIP kernel for your architecture. #you may get an error here if you did not choose the correct arch # create a new EVMS ramdisk /sbin/mkinitrd -f evms #exit chroot exit #dismount volumes umount /mnt/boot umount /mnt/var umount /mnt # shutdown properly and reboot init 6 or reboot #or press CTRL+ALT+DEL