Add new cciss driver module to initrd.img ,stage2.img
Linux - SoftwareThis forum is for Software issues.
Having a problem installing a new program? Want to know which application is best for the job? Post your question in this forum.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Add new cciss driver module to initrd.img ,stage2.img
Hi All ,
I am trying to install RHEL4 update 4 (kernel-2.6.9-5.EL) on HP Prolaint DL380 G5 .
while installing its not detecting the Hard Drive
DL380 G5 having HP Smart Array P400 controller and RHEL4 update 4 dos not contain this driver.
then i downloaded HP Smart Array driver "cpq_cciss-2.6.18-5.rhel4.i686.dd"
form HP site
during installation i have provied the driver disk at boot prompt
boot : linux dd
using this driver disk i have successfully install RHEL4 update 4 on DL380 G5
its working fine .
now i am tring to insert cciss.ko driver module on initrd.img so that i can install RHEL4 on DL380 G5 with out providing the driver disk , means it will take the driver automatically .
I followed the following steps :
A ) extract the "cpq_cciss-2.6.18-5.rhel4.i686.dd.gz"
gunzip cpq_cciss-2.6.18-5.rhel4.i686.dd.gz
mount -o loop cpq_cciss-2.6.18-5.rhel4.i686.dd /mnt/scsi
mkdir /drivers
cp /mnt/* /drivers
cd /drivers
gunzip -S .cgz modules.cgz
cpio -ivd < modules
umount /mnt/scsi
so /drivers contains the following files.
modinfo
modules.pcimap
pcitable
modules.dep
rhdd
2.6.9-6.EL ( directory contains the cciss.ko driver module for HP Smart Array P400 controler)
B ) Insert cciss.ko into initrd.img and edit module-info , modules.dep , modules.pcimap , pcitable
# get the initial ramdisk image out of the RHEL4 update disk CD1
mkdir /CD1
#extract the RHEL4 iso file into /CD1
mkdir /image
cp /CD1/isolinux/initrd.img /image
cd /image
gzip -dc initrd.img > initrd.data # decompress it
# mount the ramdisk so you can access it's contents.
mount -o loop initrd.data /mnt/temp
# so we have a working copy of the compressed modules.
cp /mnt/temp/modules/modules.cgz /image
# extract the modules, which hide in a compressed cpio
gzip -dc modules.cgz > modules.cpio
# extract the modules in the ramdisk
cpio -idv < modules.cpio
# Put the HP Smart Array P400 module cciss.ko in with
the other modules. The source of your driver will vary depending on where
you get it from as mentioned earlier, but it should be in a proper kernel version
folder in the cciss driver download.
I'm trying having a similar issue. I've been successful adding a driver for a SATA RAID card to the initrd.img file that the CD boots to. The installation process detects the drive array and installs the OS successfully. When trying to boot the machine though it fails with the same error posted above. Can anyone tell me what file or files on the CD need to be updated so that the installed OS will boot successfully. Any help is apprecated!
Thanks,
Casper
Okay, at work on Friday, I fixed the problem... really easy actually.
Use your linux CD (with the modified initrd.img) to load into a rescue mode. (Generally all you have to do is type "linux rescue" at the prompt)
After everything loads, load your file system with chroot (for me I think it was "$ chroot /mnt/sysimage" or something to that effect. Add your modules into the /lib/modules/(kernelversion)/drivers/scsi/ folder, and edit module.dep in /lib/modules/(kernelversion)/ and then make a new initrd.
then change your boot loader to point at that initrd, so it loads... and you're done!
Also, to add the modules into your file system through rescue mode, you may have to boot a liveCD and do a "sudo cp" onto your HDD, unless you have other ways to get them on.
If I understand your process correctly, that will only take care of the drivers on the system just installed right? That doesn't fix the problem of having to do that to future machines that are installed from the same disk?
I'm looking for a solution that allows me to install everything my server requires, drivers, rpm's, basically the entire machine, start to finish without user intervention. Kickstart does that for the all the packages, configurations, and additional rpm's I choose to install and then in the %post section I can run any other scripts necessary to complete the process. So that only leaves the drivers. I know you can build them into the initrd.img file. I've been successful at that. It just doesn't propagate down to the installation. There should be another file on the CD I can put the driver images into and have to work, but I don't know what that file is. I'll keep digging around and post back if I come up with anything.
Thanks for the information provided,
Casper
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.