Bug 206039 - sys-kernel/genkernel-3.4.9 - genkernel initrd SCSI module/driver omission
|
Bug#:
206039
|
Product: Gentoo Hosted Projects
|
Version: unspecified
|
Platform: x86
|
|
OS/Version: Linux
|
Status: RESOLVED
|
Severity: minor
|
Priority: P2
|
|
Resolution: FIXED
|
Assigned To: genkernel@gentoo.org
|
Reported By: richard@reallyrathergood.com
|
|
Component: genkernel
|
|
|
URL:
|
|
Summary: sys-kernel/genkernel-3.4.9 - genkernel initrd SCSI module/driver omission
|
|
Keywords:
|
|
Status Whiteboard:
|
|
Opened: 2008-01-16 00:11 0000
|
I can do a stage3 install very sucessfully onto a relatively old Dell server
(using AMI megaraid SCSI RAID card & disk array), and the install system sees
the SCSI disk subsystem perfectly (provided I use 'doscsi' on the boot command
line). If I then build/install a kernel where the requisite SCSI drivers are
built as modules (as I prefer to do), the various LSI logic more recent
megaraid drivers will be built into an initrd by genkernel, but the correct
module (simply 'megaraid') is missing from the SCSI module list in
/usr/share/genkernel/x86/modules_load, which means that although one might
specify the initrd correctly for grub or lilo, the system will still not boot.
To correct this problem I have to hand-edit
/usr/share/genkernel/x86/modules_load to insert 'megaraid' into the SCSI
modules list, and then run genkernel again. I wouldn't mind except that the
genkernel package changes fairly frequently and modules_load gets overwritten
every time, undoing my 'correction' to the modules list.
Reproducible: Always
Steps to Reproduce:
1. genkernel initrd
Actual Results:
initrd is produced in /boot/, but required megaraid module is missing.
Expected Results:
initrd probably should work straight away without further ado, system should
boot correctly.
Suggest that 'megaraid' be included in the SCSI modules list in
/usr/share/genkernel/x86/modules_load.
I've done a diff on my version of the modules_load file versus that which comes
with this particular package, and these are the results:-
root# diff -C 6 modules_load modules_load.mine
*** modules_load Fri Jan 11 23:44:18 2008
--- modules_load.mine Wed Jan 16 00:00:47 2008
***************
*** 23,34 ****
--- 23,35 ----
MODULES_SCSI="sd_mod sg sr_mod aic79xx aic7xxx aic7xxx_old arcmsr BusLogic \
ncr53c8xx NCR53c406a initio advansys aha1740 aha1542 aha152x \
dtc fdomain gdth pas16 pci2220i pci2000 psi240i qlogicfas qlogicfc qlogicisp
\
seagate t128 u14-34f ultrastor wd7000 NCR53c406a sym53c8xx dmx3191d imm \
in2000 ips qla1280 sim710 sym53c416 dc395x atp870u mptbase mptscsih \
mptspi mptfc mptsas 3w-xxxx 3w-9xxx cpqarray cciss DAC960 sx8 aacraid \
+ megaraid \
megaraid_mbox megaraid_mm megaraid_sas lpfc scsi_transport_fc scsi_wait_scan"
# Hardware (Network)
MODULES_NET="e1000 tg3"
# Hardware (Pluggable)
If I can be more helpful, please tell me!
Is this a new module? Did the name change at some point? Was it in modules_load
at some point and was removed?
AFAIK this module has always been part of the kernel since way-back. I think
this module not being in the initrd is merely an omission - if it was deleted
then it shouldn't have been! The other megaraid_xxx (megaraid_sas etc) modules
refer to the later generation LSI logic megaraid cards; but these don't work
with the old American Megatrends International (AMI) cards, the original
megaraid module is required. In the kernel's .config file, this is
CONFIG_MEGARAID_LEGACY=m. Admittedly, another way of solving this problem is to
build the module into the kernel and not as a module; but then we could all do
this and not bother with initrd's, couldn't we!?
The megaraid module has been added to MODULES_SCSI for all the arches that had
the other megaraid modules in SVN. Thanks.
Woo-hoo! That's my cherry busted then - my first tangible contribution to
Gentoo! :-))
I just released genkernel 3.4.10_pre1, which has this fix included. Feel free
to REOPEN this bug or make a comment if it is not resolved.