Problem solved, thanks to all who ventured to help. It ended up being a mkinitrd that had been updated via an apt repository. Once I re-installed the kernel AND mkinitrd rpms from SuSE, everything worked fine. I am duly chastened and have mkinit as well as the kernel (I already had the kernel excluded) excluded from apt. Thank you again, --Moby Stephen Boddy wrote:
On Thursday 31 March 2005 04:33, Moby wrote:
Ok, follow up to my own post. I tried the repair option under install. It did all sorts of checks, found really no errors of any significance (other than missing postfix as I use sendmail on here). Still the same problem. I am not sure what I am doing wrong. This is my first time recovering from kernel failure on SuSE. I have often recovered from kernel failures on RH boxes with almost no hassle. Is there some SuSE specific item I keep on missing?
--Moby
Moby wrote:
Stephen, thank you very much for your help. I followed your suggestion of mounting sysfs and reinstalled the kernel from the binary RPMS. However, I still get the same error on a reboot. Everything works fine during bootup until it hangs. The last lines prior to hanging are :
Loading kernel/fs/reiserfs/reiserfs.ko Waiting for device /dev/hda4 to appear:..... Not found --exiting to /bin/sh sh: Can't access tty; job control turned off
After that I sit at the shell prompt. I would appreciate any help at all in getting this machine back. I shall try the reinstall with the repair option if nothing else works. I am hesitant to do that though for fear it may mess up any installed RPMs on the machine, as it has a number of applications installed on it.
Stephen Boddy wrote:
On Wednesday 30 March 2005 23:30, Moby wrote:
I have a need to reinstall the kernel on a SuSE 9.2 box using the install CDs and booting into rescue mode. The original root partition was at /dev/hda4 and the original /boot was /dev/hda2. Both / and /boot are resierfs. Kernel source and binary RPMS exist on the original / (/dev/hda4) under /home/raw/kernel. Here at the steps I am taking and the issue I keep on facing:
1) Boot off SuSE 9.2 CD1, choose Rescue, login as root. 2) cd /mnt. Then mkdir t4. Then mount /dev/hda4 /mnt/t4. 3) chroot /mnt/t4. 4) mount /dev/hda2 /boot
At this point, my file system is back the way it used to be before I destroyed the kernel. Now to install the kernel I have tried using the binary rpms as well as compiling the installing from sources. The problem is that both steps, installing the binary RPMs or making from source, apparently look for information under /sys. In my case, /sys goes away at step (3) above. I understand /sys is a "virtual" file system. My question is how do I get my kernel back? I would like to install a binary RPM instead of compiling and installing my own. However, even when installing from the binary RPM, I see complaints about being unable to find items under /sys. I think this makes it unable to produce a proper initrd, and as a result of which, even though the RPM appears to install fine and I see all the proper looking files at all the right places, on a reboot the machine complains about waiting for /dev/hda4 and then gives up.
It seems that the use of /sys severely hinders a quick recovery, such as simply booting as in steps (1) through (4) above and installing the binary kernel RPM.
Thanks in advance for any help
Might be stating the bleeding obvious but doesn't mounting sysfs to the appropriate place before chroot'ing work? i.e. mount sysfs /mnt/t4/sysfs -type sysfs
Failing that have you tried going into the Install section of the CD's and choosing to repair the installation? (This is the first question it asks if it detects a previous install.)
I haven't got the foggiest what you've done to hose your kernel. It's possible you've erased the System.map file or something else that's equally tricky to figure out without access.
Where did the binary RPM of the kernel come from? After installing it, have you run SuSEconfig manually?
There is a way of refreshing packages from the CD when booted from the CD, but I can't remember the exact sequence. Try doing your chroot command to be rooted to your normal install, then run yast in the console. Then go into the package management and refresh the kernel from there.
I'm afraid I can't think of anything else.