I have Intel DP45SG motherboard, 4 GB RAM computer with SuSE 11.1 (64-bit) installed. The latest kernel update (2.6.27.23-0.1) has broke system boot: system starts to boot, producing some message on “EHCI hang-off” failure and gives graphical login screen that it is impossible to use, because both mouse and keyboard are USB (and motherboard itself hasn’t any PS/2 port), so, I can not use both mouse and keyboard.
Booting from the installation DVD, in attempt to repair, doesn’t work: after selection ‘boot installed system’ it boots to console login screen, and after entering ‘root’ and its password, it produces ‘error in service’ message, repeating login request.
Any ideas, how to correct this situation?
It sounds like this newer kernel has an issue with the machine’s USB 2.0 controller (EHCI). Exactly what is impossible to say without doing some research - it could be a kernel boot parameter is now needed, it could be that a needed kernel module is not being loaded now, it could be a bug . . .
What I would do is boot from a previous kernel that worked. If you have a backup containing such, you could copy those kernel and initrd files to a temporary sub-directory under /boot, then configure grub to boot using that kernel. From there you could reinstall the previous kernel, research the problem, etc. Depending on where the backup is, you may be able to do this from your installation DVD in the Rescue System, or better yet, if you have a LiveCD.
If you don’t have a backup, you may be able to reinstall an older kernel using zypper from the DVD’s Rescue System (or again, from a LiveCD). This is a bit complicated, but doable (that is, I’ve done it before on my systems).
If you want to try either of the two above approaches, reply back and I’ll give you the commands. With the backup option, of course I would need to know where the backup is. With either option, I need to know how you connect to the internet.
I appreciate your help.
Unfortunately, I haven’t backup: during last update, old kernel-related files have been lost, so, I have to follow to the ‘repair’ or LiveDVD route. I already downloaded the latest kernel* RPMs and my main problem now is: how to apply them to the my main system, after loading repair or Liv- DVD?
Thank you in advance.
Sincerely yours,
Volodymyr
Because your system is not running, the only way (that I know of) to install software in it is to create a chroot environment. You cannot do that from the Repair module, but you can from the DVD Rescue System or a LiveCD. Using the Rescue System (or from a terminal running the LiveCD):
Boot its kernel, logon as root. Then mount your root partition, for example:
mount -t ext3 /dev/<root partition> /mnt
What you mount does not include the sub-directory data which is dynamically created at boot (such as devices and kernel processes). So you need to attach those from your booted kernel to your mounted file system, like this:
mount --bind /dev /mnt/dev
mount --bind /sys /mnt/sys
mount --bind /proc /mnt/proc
You now have your complete root environment, separate from the booted DVD. You enter that environment with:
chroot /mnt
From here you can install software. If you downloaded rpm’s, you will need to mount that storage to access those files. Then use zypper to install them:
cd <mount point>
zypper install -f <rpm name>
From here you can also enable your network connection, and use zypper to install software from a repository.
After you are finished, exit the chroot and reboot:
exit
shutdown -r now
Good luck.
Thank you for precise and detailed instructions, I have recovered from this problem!
Additionally, I studied (a little) the state of my files before recovery and I found that situation looks like initial kernel update process had failure in some intermediate stages (kernel source directory was very short, and ‘initrd’ has been created shorter than it had become after proper update).
Congratulations - glad you resolved your problem!
fwiw, every time before I do a kernel update, I copy the current kernel, initrd, their symlinks, and menu.lst into a subdirectory under /boot (e.g., “/boot/last”). That way, if the new kernel or initrd are bad, I can still easily boot the system with the old kernel/initrd and then fix the problem.