Bug 124562

Summary: Can't install a disk driver diskette - RHEL 3 Update 2 on x86_64
Product: Red Hat Enterprise Linux 3 Reporter: Jack Hammer <jack_hammer>
Component: anacondaAssignee: Jeremy Katz <katzj>
Status: CLOSED NOTABUG QA Contact: Mike McLean <mikem>
Severity: medium Docs Contact:
Priority: medium    
Version: 3.0CC: bwthomas, wendyh
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2004-05-27 19:18:29 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Jack Hammer 2004-05-27 14:47:24 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4)
Gecko/20030624

Description of problem:
When you build a driver diskette ( in my case, it is the ips driver
diskette ) for x86_64, there are two kernels to include in modules.cgz
, 2.4.21-15.EL and 2.4.21-15.ELsmp. 

Normally, during a RedHat Linux install, the booted kernel ( from CD 1
) would load the 2.4.21-15.EL ( the uni-processor version ) driver to
use during the install.

From my investigations, it appears that the RHEL 3 Update 2 x86_64 CD
is booting a kernel that was built for ia32e, not x86_64.
 
1.) If, for the 2.4.21-15.EL kernel, I use a driver that was built for
ia32e, it loads fine and the install goes OK.  However, the driver
will fail for the installed uni-processor kernel ( after installation
), since it has installed a kernel appropriate for x86_64 and a driver
that is for ia32e.
 
2.) If I put the right driver ( built for x86_64 ) on the diskette, it
will fail loading during the Linux install and the driver diskette is
completely ignored.
 
 
I have built the driver diskettes ( for RHEL 3 Update 2 ) and tested
successfully on intel boxes ( i686 kernels ) and 32 bit AMD ( athlon
kernels ) and they are all fine.  Only the x86_64 architecture CD's
have this problem.  

This also appears to work for an ia32e server, since the same kernel
used during install is what gets installed.
 


Version-Release number of selected component (if applicable):


How reproducible:
Always

Steps to Reproduce:
1. Simply attempt an install on an x86_64 box, using a disk driver
update diskette
2.
3.
    

Actual Results:  If the driver diskette is using the correct x86_64
kernels, it will fail trying to lad the driver during install (
because it is not running an x86_64 kernel )

Expected Results:  It should work like all the other architectures.

Additional info:

I can supply ips driver diskettes built both ways ( one with the
proper uni-processor kernel and one with the ia32e kernel in
modules.cgz ) if desired.

That would require that you have a ServeRAID adapter. You do not need
to be installing to drives on the ServRAID adapter to see this.

If we offer a new ServeRAID adapter which requires an updated driver
in order to work, you would be totally unable to install on a system
with that adapter.

Comment 1 Jeremy Katz 2004-05-27 19:18:29 UTC
The boot kernel is the ia32e kernel since that works on both x86_64
and EM64T systems.  To work with this and update a driver on the
system, you want to use the slightly newer and better driver disk
format that will let you put ia32e and x86_64 drivers in the same
modules.cgz.  The differences from a version 0 driver disk to a
version 1 driver disk are:
1) Instead of having /rhdd-6.1, you have /rhdd
2) Instead of having module foo.o as $(uname -r)/foo.o, you have it as
$(uname -r)/$arch/foo.o