[opensuse] Help! - Can't boot kernel because no depmod -a --> can't depmod -a because I can't boot kernel (chicken or the egg??)
listmates, I am having difficulty installing a couple of kernels on 11.0 i586. I have installed them on my x86_64 box without any problems. I've been fighting it for a few hours and now need to cry for help... so... Help Please! I have installed: kernel-pae-2.6.32.11-1.1.i586.rpm kernel-pae-base-2.6.32.11-1.1.i586.rpm kernel-pae-devel-2.6.32.11-1.1.i586.rpm kernel-source-2.6.32.11-1.1.noarch.rpm From: http://download.opensuse.org/repositories/home:/hennichodernich:/backport-st... kernel-pae-2.6.31.12-2.1.i586.rpm is also available from http://download.opensuse.org/repositories/home:/hennichodernich:/backport-st... I did the same thing on my x86_64 box and the kernel booted just fine. (FYI both kernels work very well on 11.0, so you have a good upgrade path to 2.6.31 or 2.6.32 available) On boot the i586 system goes through the grub menu and I select the kernel to boot, and everything looks normal until it goes to mount the root partition. It then give the error similar to: waiting on mandatory device: /dev/disk/by-id/ata-Hitachi_HTS541616J9AT00_SB044DCJEJS1BH-part2................... Then it asks to try the fallback device: /dev/disk/by-id/scsi-SATA_Hitachi_HTS5416_SB044DCJEJS1BH-part2 (new kernel uses the 'ata-Hitachi-blahblah' 2.6.25.20-0.7 uses 'scsi-SATA_Hitachi-blahblah') The problem is that apparently there are no modules compiled into the initrd so it can't mount the ext3 partitions. I know it is a modules issue, because it couldn't even mount my usb-stick, giving the error: unknown filesystem type 'vfat'. To me it seems like a 'chicken and the egg problem'. You need the modules.dep file from the /lib/modules/<newkernel>, but you can't create it with depmod -a until you boot the kernel. (I know this is done all the time, but I can deduce where in the process this takes place) If you wait until you are ready to try and boot the kernel -> your hosed with this problem. This should be a simple fix, but the light bulb upstairs hasn't blinked on. What's the trick and what do I need to do to fix it? I booted the installed OS from the suse install DVD and reinstalled 2.6.25.20-0.7, so I now have all 3 kernels installed. After reinstall, 2.6.25.20-0.7 boot just fine so all the disk/by-id information in grub/device.map and menu.lst and fstab is fine. What say the experts? -- David C. Rankin, J.D.,P.E. Rankin Law Firm, PLLC 510 Ochiltree Street Nacogdoches, Texas 75961 Telephone: (936) 715-9333 Facsimile: (936) 715-9339 www.rankinlawfirm.com -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org For additional commands, e-mail: opensuse+help@opensuse.org
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 2010-05-09 00:20, David C. Rankin wrote:
To me it seems like a 'chicken and the egg problem'. You need the modules.dep file from the /lib/modules/<newkernel>, but you can't create it with depmod -a until you boot the kernel. (I know this is done all the time, but I can deduce where in the process this takes place) If you wait until you are ready to try and boot the kernel -> your hosed with this problem.
I think you have to, with another kernel running, run "depmod --basedir /lib/modules/version" pointing to where the new kernel version is installed. It probably also needs "--filesyms System.map" Actually, we should be able to determine what a suse kernel does to create this file: the kernel rpm contains a POSTIN script to create depmod and initrd. Mmm... I'm not sure. In a kernel of 11.2 I see: # Add symlinks of compatible modules to /lib/modules/$krel/weak-updates/, # run depmod and mkinitrd wm2=/usr/lib/module-init-tools/weak-modules2 if [ -x $wm2 ]; then if [ 1 = 1 ]; then /bin/bash -${-/e/} $wm2 --add-kernel 2.6.31.12-0.2-desktop else nvr=kernel-desktop-2.6.31.12-0.2.1 rpm -ql $nvr | /bin/bash -${-/e/} $wm2 --add-kernel-modules 2.6.31.12-0.2-desktop fi else echo "$wm does not exist, please run depmod and mkinitrd manually" >&2 fi Dunno, but it appears that the weak-modules2 script does it. Maybe in 11.0 they do it differently, but have a look at one of the official kernel's rpms to get an idea. - -- Cheers / Saludos, Carlos E. R. (from 11.2 x86_64 "Emerald" GM (Elessar)) -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.12 (GNU/Linux) Comment: Using GnuPG with SUSE - http://enigmail.mozdev.org/ iEYEARECAAYFAkvl85sACgkQU92UU+smfQVhhQCfUqyhakJLZfXqOfGxMeGdq+Of cugAnRDP0uJsXXtObOYcLj0BCjrOwZjB =OsNJ -----END PGP SIGNATURE----- -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org For additional commands, e-mail: opensuse+help@opensuse.org
On 05/08/2010 06:28 PM, Carlos E. R. wrote:
else echo "$wm does not exist, please run depmod and mkinitrd manually" >&2 fi
Dunno, but it appears that the weak-modules2 script does it. Maybe in 11.0 they do it differently, but have a look at one of the official kernel's rpms to get an idea.
Carlos, If it isn't the same it is real, real close. I don't know why, but I do recall the message to run depmod manually, so I guess with the i586 packages, $wm doesn't exist. I have the kernel packages downloaded locally, so install, uninstall and re-installs are no problem. I'll try contacting the packager and see if he know anything more. In the mean time, if you have any other thoughts, please let me know. Thanks. -- David C. Rankin, J.D.,P.E. Rankin Law Firm, PLLC 510 Ochiltree Street Nacogdoches, Texas 75961 Telephone: (936) 715-9333 Facsimile: (936) 715-9339 www.rankinlawfirm.com -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org For additional commands, e-mail: opensuse+help@opensuse.org
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 2010-05-09 02:18, David C. Rankin wrote:
On 05/08/2010 06:28 PM, Carlos E. R. wrote:
else echo "$wm does not exist, please run depmod and mkinitrd manually" >&2 fi
Dunno, but it appears that the weak-modules2 script does it. Maybe in 11.0 they do it differently, but have a look at one of the official kernel's rpms to get an idea.
Carlos,
If it isn't the same it is real, real close. I don't know why, but I do recall the message to run depmod manually, so I guess with the i586 packages, $wm doesn't exist. I have the kernel packages downloaded locally, so install, uninstall and re-installs are no problem. I'll try contacting the packager and see if he know anything more. In the mean time, if you have any other thoughts, please let me know. Thanks.
Well, that script (/usr/lib/module-init-tools/weak-modules2) comes with module-init-tools-3.10-3.2 in my 11.2. Perhaps it is a new script, so your system doesn't have it. My 11.0 is not up right now, I can't check. Maybe the packager of your kernel also has a new set of tools, and he forgot to say, or they weren't pulled in by dependencies, so you don't have it. Dunno if I make sense. I'm of to bed. :-) - -- Cheers / Saludos, Carlos E. R. (from 11.2 x86_64 "Emerald" GM (Elessar)) -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.12 (GNU/Linux) Comment: Using GnuPG with SUSE - http://enigmail.mozdev.org/ iEYEARECAAYFAkvmBhcACgkQU92UU+smfQVh2ACghMoELrtgxNMILdVFSTT3+FVh TbEAmgOCtY5hnHcm9ZzikQUsF/PrTm0W =NXrV -----END PGP SIGNATURE----- -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org For additional commands, e-mail: opensuse+help@opensuse.org
On 05/08/2010 07:47 PM, Carlos E. R. wrote:
On 2010-05-09 02:18, David C. Rankin wrote:
On 05/08/2010 06:28 PM, Carlos E. R. wrote:
else echo "$wm does not exist, please run depmod and mkinitrd manually" >&2 fi
Dunno, but it appears that the weak-modules2 script does it. Maybe in 11.0 they do it differently, but have a look at one of the official kernel's rpms to get an idea.
Carlos,
If it isn't the same it is real, real close. I don't know why, but I do recall the message to run depmod manually, so I guess with the i586 packages, $wm doesn't exist. I have the kernel packages downloaded locally, so install, uninstall and re-installs are no problem. I'll try contacting the packager and see if he know anything more. In the mean time, if you have any other thoughts, please let me know. Thanks.
Well, that script (/usr/lib/module-init-tools/weak-modules2) comes with module-init-tools-3.10-3.2 in my 11.2. Perhaps it is a new script, so your system doesn't have it. My 11.0 is not up right now, I can't check. Maybe the packager of your kernel also has a new set of tools, and he forgot to say, or they weren't pulled in by dependencies, so you don't have it.
Dunno if I make sense. I'm of to bed. :-)
The weak modules have always be a part of the module tree at least as long as I can remember (~10.0'ish - before then, I didn't go there - wasn't safe ;-) In the current 2.6.25.20-0.7, the results of the script are there: 21:03 alchemy:/lib/modules> find ./ -name "weak*" ./2.6.25.20-0.7-default/weak-updates But, interesting, they are not present in the new kernels. What is notable is that on my x86_64 box, the /lib/modules directory looks complete: 21:08 alchemy:/lib/modules> l 2.6.31.12-1-default total 2348 drwxr-xr-x 4 root root 4096 2010-04-19 08:53 ./ drwxr-xr-x 18 root root 4096 2010-04-14 12:44 ../ drwxr-xr-x 12 root root 4096 2010-04-16 00:50 kernel/ drwxr-xr-x 2 root root 4096 2010-04-16 00:50 vdso/ -rw-r--r-- 1 root root 504692 2010-04-19 08:53 modules.alias -rw-r--r-- 1 root root 3902 2010-02-09 04:19 modules.builtin -rw-r--r-- 1 root root 69 2010-04-19 08:53 modules.ccwmap -rw-r--r-- 1 root root 424145 2010-04-19 08:53 modules.dep -rw-r--r-- 1 root root 1257 2010-04-19 08:53 modules.ieee1394map -rw-r--r-- 1 root root 218 2010-04-19 08:53 modules.inputmap -rw-r--r-- 1 root root 7209 2010-04-19 08:53 modules.isapnpmap -rw-r--r-- 1 root root 74 2010-04-19 08:53 modules.ofmap -rw-r--r-- 1 root root 87040 2010-02-09 04:19 modules.order -rw-r--r-- 1 root root 334706 2010-04-19 08:53 modules.pcimap -rw-r--r-- 1 root root 1219 2010-04-19 08:53 modules.seriomap -rw-r--r-- 1 root root 205644 2010-04-19 08:53 modules.symbols -rw-r--r-- 1 root root 107 2010-04-19 08:53 modules.unsupported.blacklist -rw-r--r-- 1 root root 757312 2010-04-19 08:53 modules.usbmap However, on the i586 box, the module trees are missing a lot of modules.xyz files: 21:04 zephyr:/lib/modules> l 2.6.31.12-2-pae total 112 drwxr-xr-x 4 root root 4096 2010-05-08 13:42 ./ drwxr-xr-x 24 root root 4096 2010-05-08 13:41 ../ lrwxrwxrwx 1 root root 39 2010-05-08 13:42 build -> /usr/src/linux-2.6.31.12-2-obj/i386/pae/ drwxr-xr-x 12 root root 4096 2010-03-22 12:52 kernel/ -rw-r--r-- 1 root root 4040 2010-03-22 12:50 modules.builtin -rw-r--r-- 1 root root 88741 2010-03-22 12:50 modules.order lrwxrwxrwx 1 root root 26 2010-05-08 13:42 source -> /usr/src/linux-2.6.31.12-2/ drwxr-xr-x 2 root root 4096 2010-05-08 13:42 vdso/ 21:05 zephyr:/lib/modules> l 2.6.32.11-1-pae total 116 drwxr-xr-x 4 root root 4096 2010-05-08 06:13 ./ drwxr-xr-x 24 root root 4096 2010-05-08 13:41 ../ drwxr-xr-x 13 root root 4096 2010-05-08 06:13 kernel/ -rw-r--r-- 1 root root 4064 2010-04-06 06:13 modules.builtin -rw-r--r-- 1 root root 91587 2010-04-06 06:13 modules.order drwxr-xr-x 2 root root 4096 2010-05-08 06:13 vdso/ How do I get the rest of the modules.xyz file in the new kernel module trees? I'll give depmod --basedir /lib/modules/version" a bit of research and see if I can get it sorted. If you can think of anything else, let me know. -- David C. Rankin, J.D.,P.E. Rankin Law Firm, PLLC 510 Ochiltree Street Nacogdoches, Texas 75961 Telephone: (936) 715-9333 Facsimile: (936) 715-9339 www.rankinlawfirm.com -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org For additional commands, e-mail: opensuse+help@opensuse.org
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Sunday, 2010-05-09 at 02:47 +0200, I wrote:
Well, that script (/usr/lib/module-init-tools/weak-modules2) comes with module-init-tools-3.10-3.2 in my 11.2. Perhaps it is a new script, so your system doesn't have it. My 11.0 is not up right now, I can't check. Maybe the packager of your kernel also has a new set of tools, and he forgot to say, or they weren't pulled in by dependencies, so you don't have it.
Dunno if I make sense. I'm of to bed. :-)
Quick note: my 11.0 586 machine has a "/usr/lib/module-init-tools/weak-modules" file, no "2" in there. The functionality could be similar. I suggest you have a look inside an official kernel rpm for this distro version, and find out how they create the depmod thing. I'm of in a hurry, can't do now. - -- Cheers, Carlos E. R. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.9 (GNU/Linux) iEYEARECAAYFAkvmpPoACgkQtTMYHG2NR9UNbgCdGevgrN8LtpxKsQu8RpD9Vjim uCwAnjFnrz352wKPOO860MPQrpV0naVC =iXDg -----END PGP SIGNATURE----- -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org For additional commands, e-mail: opensuse+help@opensuse.org
On Sun, 2010-05-09 at 14:05 +0200, Carlos E. R. wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On Sunday, 2010-05-09 at 02:47 +0200, I wrote:
Well, that script (/usr/lib/module-init-tools/weak-modules2) comes with module-init-tools-3.10-3.2 in my 11.2. Perhaps it is a new script, so your system doesn't have it. My 11.0 is not up right now, I can't check. Maybe the packager of your kernel also has a new set of tools, and he forgot to say, or they weren't pulled in by dependencies, so you don't have it.
Dunno if I make sense. I'm of to bed. :-)
Quick note: my 11.0 586 machine has a "/usr/lib/module-init-tools/weak-modules" file, no "2" in there. The functionality could be similar.
I suggest you have a look inside an official kernel rpm for this distro version, and find out how they create the depmod thing. I'm of in a hurry, can't do now.
On my 11.1 i586 I have both weak-modules and weak-modules2
From weak-modules: #! /bin/bash
# This script is only needed to uninstall old KMPs when updating # SLE10 to SLE11+. weak-modules2 is the script what should be used # by new packages and from weak-modules2: #! /bin/bash # FIXME: move the entire depmod / mkinitrd logic from the kernel and kmp # %post scripts here -- how? ############################################################################## # naming conventions used in this script: # $kmp: name-version-release of a kmp, e.g kqemu-kmp-default-1.3.0pre11_2.6.25.16_0.1-7.1 # $kmpshort: name of a kmp, e.g kqemu-kmp-default # $basename: portion of $kmp up to the "-kmp-" part, e.g kqemu # $flavor: flavor of a kmp or kernel, e.g default # $krel: kernel version, as in /lib/modules/$krel # $module: full path to a module below updates/ # $symlink: full path to a module symlink below weak-updates/ # # files in $tmpdir: # krel-$kmp: kernel version for which $kmp was built # modules-$kmp: list of modules in $kmp (full paths) # basenames-$kmp: list of basenames of modules in $kmp # kmps: list of kmps, newest first There are definite differences in the head of the script as well. BTW I have both default and pae (not my bloody idea) kernels installed. -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org For additional commands, e-mail: opensuse+help@opensuse.org
On 05/08/2010 06:28 PM, Carlos E. R. wrote:
I think you have to, with another kernel running, run "depmod --basedir /lib/modules/version" pointing to where the new kernel version is installed. It probably also needs "--filesyms System.map"
Actually, we should be able to determine what a suse kernel does to create this file: the kernel rpm contains a POSTIN script to create depmod and initrd.
We were close :p It turned out to be: depmod -a --errsyms --filesyms /boot/System.map-2.6.32.13-1-default -n -v 2.6.32.13-1-default Just remove the 'n' when you have confirmed it does what you need in order to actually write the files to the new module tree. '-n'='dry-run'. The new kernel works great. The only lingering issue I have is that the fglrx driver will not build under it? Dunno? The Virtualbox drivers built just fine. I've dropped back to 2.6.25.20-0.7 until I can get the fglrx issue resolved. I have both kernels installed so it is just dual-booting for a while. At least yast was smart enough to leave my 2.6.25.20-0.7 module tree alone (even though it was stupid enough to delete both of my other kernels when I 'installed' the latest one today...) -- David C. Rankin, J.D.,P.E. Rankin Law Firm, PLLC 510 Ochiltree Street Nacogdoches, Texas 75961 Telephone: (936) 715-9333 Facsimile: (936) 715-9339 www.rankinlawfirm.com -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org For additional commands, e-mail: opensuse+help@opensuse.org
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Thursday, 2010-05-20 at 03:29 -0500, David C. Rankin wrote:
We were close :p
It turned out to be:
depmod -a --errsyms --filesyms /boot/System.map-2.6.32.13-1-default -n -v 2.6.32.13-1-default
Just remove the 'n' when you have confirmed it does what you need in order to actually write the files to the new module tree. '-n'='dry-run'.
Saved for future reference :-) - -- Cheers, Carlos E. R. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.9 (GNU/Linux) iEYEARECAAYFAkv5gzIACgkQtTMYHG2NR9WYZgCeMZi2Yi1UF5QaOEMc3NxTL40Y By4AnA92kLd92kh2KOtNhamONUXwDFEl =nkfA -----END PGP SIGNATURE----- -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org For additional commands, e-mail: opensuse+help@opensuse.org
participants (3)
-
Carlos E. R.
-
David C. Rankin
-
Mike McMullin