[gentoo-user] Creating an initrd for loading...

2008-03-27 Thread Benjamen R. Meyer
I'm working on a Sparc system (SunBlade 2000 Desktop Server) that needs 
an initrd image to load (due to having a QLA 2200 SCSI controller); but 
I am having some trouble with the initrd image.


(I had tried the gentoo-sparc list, but it is slow - I'm not getting 
responses - and I need to finish this server by Friday. And the issue 
right now is solely the initrd image.)


The problem I am having is that the kernel is complaining about not 
having the initrd image. I have SILO (sparc equiv of LILO) installed, 
and have told it of the initrd image, but the kernel doesn't seem to 
find it. (SILO reports all is well, so I can only assume it is finding 
the initrd image without a problem.)


My main question comes down to this: I am using the 'genkernel' package 
to build  install the kernel and initrd image. Both show up in /boot. 
How much can I rely on genkernel to build a valid initrd image? How can 
I mount the initrd image to verify it has the modules, etc. and verify 
it is a valid image?


TIA,

Ben
--
gentoo-user@lists.gentoo.org mailing list



Re: [gentoo-user] Creating an initrd for loading...

2008-03-27 Thread Florian Philipp

On Thu, 2008-03-27 at 12:35 -0400, Benjamen R. Meyer wrote:
 I'm working on a Sparc system (SunBlade 2000 Desktop Server) that needs 
 an initrd image to load (due to having a QLA 2200 SCSI controller); but 
 I am having some trouble with the initrd image.
 
 (I had tried the gentoo-sparc list, but it is slow - I'm not getting 
 responses - and I need to finish this server by Friday. And the issue 
 right now is solely the initrd image.)
 
 The problem I am having is that the kernel is complaining about not 
 having the initrd image. I have SILO (sparc equiv of LILO) installed, 
 and have told it of the initrd image, but the kernel doesn't seem to 
 find it. (SILO reports all is well, so I can only assume it is finding 
 the initrd image without a problem.)
 
 My main question comes down to this: I am using the 'genkernel' package 
 to build  install the kernel and initrd image. Both show up in /boot. 
 How much can I rely on genkernel to build a valid initrd image?

Try genkernel menuconfig all to check for a valid kernel config before
genkernel builds it. Refer to genkernel's man-page for further options.

  How can 
 I mount the initrd image to verify it has the modules, etc. and verify 
 it is a valid image?
 
There is a wiki-entry about it: http://gentoo-wiki.com/HOWTO_Initramfs

Hope this helps.


signature.asc
Description: This is a digitally signed message part


Re: [gentoo-user] Creating an initrd for loading...

2008-03-27 Thread Benjamen R. Meyer

Florian Philipp wrote:

On Thu, 2008-03-27 at 12:35 -0400, Benjamen R. Meyer wrote:
My main question comes down to this: I am using the 'genkernel' package 
to build  install the kernel and initrd image. Both show up in /boot. 
How much can I rely on genkernel to build a valid initrd image?

Try genkernel menuconfig all to check for a valid kernel config before
genkernel builds it. Refer to genkernel's man-page for further options.


Yes, I did that. I ran genkernel, and generated it all. The initrd just 
doesn't seem to be working.



 How can 
I mount the initrd image to verify it has the modules, etc. and verify 
it is a valid image?

There is a wiki-entry about it: http://gentoo-wiki.com/HOWTO_Initramfs


Ok, so I used zcat to decompress the image, and then cpio to extract the 
data to a temporary folder. (The instructions on the wiki didn't work 
for some reason...complaints about finding cpio and zcat complaining 
about arguments). Any how...


I snooped around the extracted files and was unable to find either the 
qla2xxx module (or the qla2200 modules, or any modules for that matter) 
or the qla2200 firmware. The firmware is on the hard drive (/dev/sda1 - 
/lib/firmward/qla2200_fw.bin), and so is the module - 
/lib/modules/2.6.24-gentoo-r3/kernel/drivers/scsi/qla2xxx/qla2xxx.ko. Is 
the initrd image invalid?? Or are they stored somehow in the files 
non-obviously?


How could I easily add them to the initrd image? (This is really my 
first time playing with initrd images...)


Thanks,

Ben

--
gentoo-user@lists.gentoo.org mailing list



Re: [gentoo-user] Creating an initrd for loading...

2008-03-27 Thread Florian Philipp

On Thu, 2008-03-27 at 14:31 -0400, Benjamen R. Meyer wrote:
 Florian Philipp wrote:
  On Thu, 2008-03-27 at 12:35 -0400, Benjamen R. Meyer wrote:
  My main question comes down to this: I am using the 'genkernel' package 
  to build  install the kernel and initrd image. Both show up in /boot. 
  How much can I rely on genkernel to build a valid initrd image?
  Try genkernel menuconfig all to check for a valid kernel config before
  genkernel builds it. Refer to genkernel's man-page for further options.
 
 Yes, I did that. I ran genkernel, and generated it all. The initrd just 
 doesn't seem to be working.
 
 
   How can 
  I mount the initrd image to verify it has the modules, etc. and verify 
  it is a valid image?
  There is a wiki-entry about it: http://gentoo-wiki.com/HOWTO_Initramfs
 
 Ok, so I used zcat to decompress the image, and then cpio to extract the 
 data to a temporary folder. (The instructions on the wiki didn't work 
 for some reason...complaints about finding cpio and zcat complaining 
 about arguments). Any how...
 
 I snooped around the extracted files and was unable to find either the 
 qla2xxx module (or the qla2200 modules, or any modules for that matter) 
 or the qla2200 firmware. The firmware is on the hard drive (/dev/sda1 - 
 /lib/firmward/qla2200_fw.bin), and so is the module - 
 /lib/modules/2.6.24-gentoo-r3/kernel/drivers/scsi/qla2xxx/qla2xxx.ko. Is 
 the initrd image invalid?? Or are they stored somehow in the files 
 non-obviously?
 
 How could I easily add them to the initrd image? (This is really my 
 first time playing with initrd images...)
 
 Thanks,
 
 Ben
 

They are in lib/modules. I think it should work if you just copy the
modules to their respective folder and add their names to the respective
file in etc/modules.

To create a initrd new initrd, use the following command:

find . | cpio --quiet --dereference -o -H newc | gzip -9 /boot/initrd


signature.asc
Description: This is a digitally signed message part


Re: [gentoo-user] Creating an initrd for loading...

2008-03-27 Thread Benjamen R. Meyer

Florian Philipp wrote:

On Thu, 2008-03-27 at 14:31 -0400, Benjamen R. Meyer wrote:

Florian Philipp wrote:

On Thu, 2008-03-27 at 12:35 -0400, Benjamen R. Meyer wrote:
 How can 
I mount the initrd image to verify it has the modules, etc. and verify 
it is a valid image?

There is a wiki-entry about it: http://gentoo-wiki.com/HOWTO_Initramfs
Ok, so I used zcat to decompress the image, and then cpio to extract the 
data to a temporary folder. (The instructions on the wiki didn't work 
for some reason...complaints about finding cpio and zcat complaining 
about arguments). Any how...


I snooped around the extracted files and was unable to find either the 
qla2xxx module (or the qla2200 modules, or any modules for that matter) 
or the qla2200 firmware. The firmware is on the hard drive (/dev/sda1 - 
/lib/firmward/qla2200_fw.bin), and so is the module - 
/lib/modules/2.6.24-gentoo-r3/kernel/drivers/scsi/qla2xxx/qla2xxx.ko. Is 
the initrd image invalid?? Or are they stored somehow in the files 
non-obviously?
How could I easily add them to the initrd image? (This is really my 
first time playing with initrd images...)

They are in lib/modules. I think it should work if you just copy the
modules to their respective folder and add their names to the respective
file in etc/modules.


Okay, I tried this two ways:

1) touched files in /etc/modules with the module names. (Probably not 
right) - didn't work.


2) added all the files in 
/lib/modules/2.6.24-gentoo-r3/kernel/drivers/scsi and sub-directories to 
/etc/modules/scsi - didn't work. Perhaps I need to add the information 
for the firmware???



To create a initrd new initrd, use the following command:
find . | cpio --quiet --dereference -o -H newc | gzip -9 /boot/initrd


Okay, used this instead of the lengthy process I was doing before:

find ./ | cpio -H newc -o  /boot/initrd.bmeyer.cpio
gzip /boot/initrd.bmeyer.cpio
mv /boot/initrd.bmeyer.cpio.gz /boot/initrd.bmeyer

Any how...still stuck. Think I'm further along..but don't know.

FYI - right after it runs 'mdev' there is a line saying it can't find 
'ls'...not sure if that is an error with mdev, or an error after mdev. 
Either way, I can't find out since the system goes unusable until I 
reboot manually (cycle power).


TIA,

Ben

--
gentoo-user@lists.gentoo.org mailing list