Rebuilt Kernel at Installation Time
I thought when doing a manual install that any manually loaded block device modules get compiled in to the kernel so that the devices are available for booting, e.g. SCSI controllers, CDROM drivers, etc. I just tried a manual installation of 9.1 Pro and loaded i2o_core, i2o_block and i2o_config manually so that the installer could access my hard drives. The drives were seen and accessed just fine and the installation routine proceeded OK until the first reboot. At that point, the i2o drivers were not loaded, so grub couldn't find what it was looking for and a kernel panic set in. How do I specify during an install that these i2o modules be compiled into the kernel? Thanks, Mark -- ___________________________________________________ A Message From... L. Mark Stone Reliable Networks of Maine, LLC 477 Congress Street Portland, ME 04101 (207) 772-5678
On Tuesday 17 August 2004 14:31, L. Mark Stone wrote:
I thought when doing a manual install that any manually loaded block device modules get compiled in to the kernel so that the devices are
They don't get /compiled/, but /loaded/.
available for booting, e.g. SCSI controllers, CDROM drivers, etc.
I just tried a manual installation of 9.1 Pro and loaded i2o_core, i2o_block and i2o_config manually so that the installer could access my hard drives. The drives were seen and accessed just fine and the installation routine proceeded OK until the first reboot.
At that point, the i2o drivers were not loaded, so grub couldn't find what it was looking for and a kernel panic set in.
Look again. Are you *really* *sure* it was GRUB? GRUB does not load lkernel modules.
How do I specify during an install that these i2o modules be compiled into the kernel?
You can't, because they won't be /compiled/ into the kernel, but /loaded/. On the boot prompt, specify the modules to load like this (in one /single/ line): insmod=i2o_core insmod=i2o_block insmod=i2o_config There is more on linuxrc boot prompt parameters in the linuxrc docs, see /usr/share/doc/packages/linuxrc (these docs are in the package linuxrc). Cheers, Leen
On Tuesday, August 17 2004 09:02 am, Leendert Meyer wrote: <snip>
On the boot prompt, specify the modules to load like this (in one /single/ line):
insmod=i2o_core insmod=i2o_block insmod=i2o_config
There is more on linuxrc boot prompt parameters in the linuxrc docs, see /usr/share/doc/packages/linuxrc (these docs are in the package linuxrc).
Hi Leen, Thank you for your reply and for helping with my kernel education. Unfortunately, the insmod= trick did not work; right at the point where the i2o drivers are due to get loaded I get a kernel panic. These drivers load fine from another SuSE 9.1 installation on a set of IDE disks. The prompt shows: Starting udev Creating devices Loading kernel/fs/reiserfs/reiserfs.ko Warning: can't open /etc/mtab: No such file or directory. VFS: Cannot open root device "5003" or unknown-block (80,3) Please append a correct "root=" boot option Kernel panic: VFS: Unable to mount root fs on unknown-block (80,3) Any ideas? I can access all of this installation's partitions when booted from a different set of disks, so if you need me to look at something specific, I can. Thank you again, Mark -- ___________________________________________________ A Message From... L. Mark Stone Reliable Networks of Maine, LLC 477 Congress Street Portland, ME 04101 (207) 772-5678
The Tuesday 2004-08-17 at 15:51 -0400, L. Mark Stone wrote:
Any ideas? I can access all of this installation's partitions when booted from a different set of disks, so if you need me to look at something specific, I can.
Probably you need to add those modules to the initrd. Maybe there is another way, but, you could try this: boot from rescue cd/dvd mount your root disk (to /mnt, for example) edit /mnt/etc/sysconfig/kernel add the pertinent modules to the INITRD_MODULES line. chroot to /mnt run mk_initrd reboot -- Cheers, Carlos Robinson
On Tuesday, August 17 2004 06:15 pm, Carlos E. R. wrote:
Probably you need to add those modules to the initrd. Maybe there is another way, but, you could try this:
boot from rescue cd/dvd mount your root disk (to /mnt, for example) edit /mnt/etc/sysconfig/kernel add the pertinent modules to the INITRD_MODULES line. chroot to /mnt run mk_initrd reboot
Carlos, you are right that the i2o modules were not listed in the INITRD_MODULES in /etc/sysconfig/kernel. But the rescue system does not contain the i2o modules, so it can't see the hard disks to run mkinitrd on... This box has also a set of IDE disks with an existing 9.1 installation, with the i2o modules loaded, so I can mount and access the new installation. (The goal is to do a fresh 9.1 install on the larger, more reliable and higher performance i2o disk system, transfer data, and then retire the IDE disks.) Is there a way to run mkinitrd from the existing system, but have it rebuild the ramdisk for the new system? Thanks! Mark -- ___________________________________________________ A Message From... L. Mark Stone Reliable Networks of Maine, LLC 477 Congress Street Portland, ME 04101 (207) 772-5678
The Tuesday 2004-08-17 at 21:10 -0400, L. Mark Stone wrote:
Probably you need to add those modules to the initrd. Maybe there is another way, but, you could try this:
boot from rescue cd/dvd mount your root disk (to /mnt, for example) edit /mnt/etc/sysconfig/kernel add the pertinent modules to the INITRD_MODULES line. chroot to /mnt run mk_initrd reboot
Carlos, you are right that the i2o modules were not listed in the INITRD_MODULES in /etc/sysconfig/kernel.
But the rescue system does not contain the i2o modules, so it can't see the hard disks to run mkinitrd on...
I assume you somehow were able to install suse on the HD, therefore, somehow you loaded those modules when booting from the DVD at install time, and been able to write to the HD to create the installation. Do that again, be it rescue system orinstall dvd. If it is the install part, just jump to a console when it gets available (no need to really run the install again) and do the trick I mentioned. Notice that mkinitrd takes the modules from your HD, not from the dvd, after you chroot to it.
This box has also a set of IDE disks with an existing 9.1 installation, with the i2o modules loaded, so I can mount and access the new installation. (The goal is to do a fresh 9.1 install on the larger, more reliable and higher performance i2o disk system, transfer data, and then retire the IDE disks.)
Ok, then boot from the IDE disk, load the modules, mount the scsi, chroot to the scsi, mkinitrd. There are multiples ways to skin a cat :-) -- Cheers, Carlos Robinson
On Tuesday 17 August 2004 21:51, L. Mark Stone wrote:
On Tuesday, August 17 2004 09:02 am, Leendert Meyer wrote: <snip>
On the boot prompt, specify the modules to load like this (in one /single/ line):
insmod=i2o_core insmod=i2o_block insmod=i2o_config
There is more on linuxrc boot prompt parameters in the linuxrc docs, see /usr/share/doc/packages/linuxrc (these docs are in the package linuxrc).
Unfortunately, the insmod= trick did not work; right at the point where the i2o drivers are due to get loaded I get a kernel panic. These drivers load fine from another SuSE 9.1 installation on a set of IDE disks.
The prompt shows: Starting udev Creating devices Loading kernel/fs/reiserfs/reiserfs.ko Warning: can't open /etc/mtab: No such file or directory. VFS: Cannot open root device "5003" or unknown-block (80,3) Please append a correct "root=" boot option Kernel panic: VFS: Unable to mount root fs on unknown-block (80,3)
Any ideas? I can access all of this installation's partitions when booted from a different set of disks, so if you need me to look at something specific, I can.
I thought you are trying to install SuSE. But looking at your error messages it looks more like booting an installed Linux. I'm confused. Which of the two is it? 1) If you are installing, exactly what do you type at the boot prompt? 2) If you are booting an installed Linux, exactly what are the kernel parameters? Please choose between 1) or 2) and answer that question. :) Cheers, Leen
participants (3)
-
Carlos E. R.
-
L. Mark Stone
-
Leendert Meyer