Creating dd (driver disk) for FC5, installer "disagrees about version of symbol struct_module"

Pasi Kärkkäinen pasik at iki.fi
Mon Jun 19 11:22:27 UTC 2006


On Mon, Jun 19, 2006 at 01:40:00PM +0300, Pasi Kärkkäinen wrote:
> On Mon, Jun 19, 2006 at 10:57:19AM +0100, Paul Howarth wrote:
> > >
> > >Hmm.. all of my files in the dd image look correct.
> > >
> > >In addition to the files above, I also have "pci.ids" file. 
> > >FC5 installer will give 
> > >"ERROR failed to open /tmp/drivers/pci.ids: No such file or directory" 
> > >error if I don't have that file on the dd image.
> > >
> > >"pci.ids", "pcitable" and "modules.pcimap" contain correct pci/device ids
> > >(verified with lspci - and those files are taken from "official" qlogic 
> > >rhel4 qla4xxx dd image)
> > >
> > >$ ls -l
> > >total 593
> > >-rwxr-xr-x 1 root root     85 Jun 15 14:22 modinfo
> > >-rwxr-xr-x 1 root root 603405 Jun 16 12:48 modules.cgz
> > >-rwxr-xr-x 1 root root     35 Jun 15 13:25 modules.dep
> > >-rwxr-xr-x 1 root root    273 Jun 15 13:34 modules.pcimap
> > >-rwxr-xr-x 1 root root    106 Jun 19 11:22 pci.ids
> > >-rwxr-xr-x 1 root root    192 Jun 15 13:25 pcitable
> > >-rwxr-xr-x 1 root root     41 Jun 15 13:27 rhdd
> > >
> > >$ cat modinfo
> > >Version 0
> > >qla4xxx
> > >        scsi
> > >        "Updated qla4xxx driver (5.00.04-d5) for 2.6.15-1.2054_FC5"
> > >
> > >$ cat modules.dep
> > >qla4xxx: scsi_mod
> > >sd_mod: scsi_mod
> > >
> > >$ cat modules.pcimap
> > >qla4xxx              0x00001077 0x00004010 0xffffffff 0xffffffff 
> > >0x00000000 0x00000000 0x0
> > >qla4xxx              0x00001077 0x00004022 0xffffffff 0xffffffff 
> > >0x00000000 0x00000000 0x0
> > >qla4xxx              0x00001077 0x00004000 0xffffffff 0xffffffff 
> > >0x00000000 0x00000000 0x0
> > >
> > >$ cat pci.ids
> > >1077  QLogic Corp.
> > >        4010  QLA4010 iSCSI Adapter
> > >        4022  QLA4022 iSCSI Adapter
> > >        4000  QLA4000 iSCSI Adapter
> > >
> > >$ cat pcitable
> > >0x1077  0x4000  "qla4xxx"       "QLogic Corp.|QLA4000 iSCSI-AL Adapter"
> > >0x1077  0x4010  "qla4xxx"       "QLogic Corp.|QLA4010 iSCSI-AL Adapter"
> > >0x1077  0x4022  "qla4xxx"       "QLogic Corp.|QLA4022 iSCSI-AL Adapter"
> > >
> > >$ cat rhdd
> > >Fedora Core 5 qla4xxx driver update disk
> > >
> > >modules.cgz:
> > >$ ls -l 2*/*/*
> > >-rw-r--r-- 1 root root 1325007 Jun 19 11:39 
> > >2.6.15-1.2054_FC5/i586/qla4xxx.ko
> > >-rw-r--r-- 1 root root  168288 Jun 19 11:39 
> > >2.6.15-1.2054_FC5/i686/qla4xxx.ko
> > >-rw-r--r-- 1 root root  173628 Jun 19 11:39 
> > >2.6.15-1.2054_FC5smp/i686/qla4xxx.ko
> > >
> > >
> > >fs of the dd image is vfat. FC5 installer didn't seem to like ext2.
> > >
> > >Hmm.. that i586 module seems to be a lot bigger than the i686 versions.. 
> > >i586 version is compiled by hand, i686 versions are compiled automatically
> > >by ddiskit.
> > 
> > ddiskit probably strips the module.
> > Try: strip -g 2.6.15-1.2054_FC5/i586/qla4xxx.ko
> > 
> 
> Yep.
> 
> > >
> > >But anyway, FC5 installer doesn't like this image. It starts to read the
> > >floppy ("Reading driver disk"), but it won't load the module. No errors in 
> > >the VC3. 
> > >In VC3 I see only this: 
> > >"INFO  trying to mount sdb"
> > >"INFO  modules to insert"
> > >"INFO  load module set done"
> > >
> > >When I manually extract the i586 qla4xxx.ko from the dd image, I can load 
> > >it
> > >fine with insmod..
> > >
> > >Any ideas? For some reason the installer doesn't even try to load the
> > >qla4xxx module.. 
> > 
> > Are you sure your actual hardware matches one of the PCI IDs listed? 
> > What's the output of "lspci -n"?
> > 
> 
> Yep, it does match. Verified with lspci -n.
> 
> And I'm able to install centos 4.3 with similar selfmade dd image to the same box..
> 
> I'm currently reading the anaconda installer sources to find out what's
> happening.. anaconda/loader2/driverdisk.c 
> 

        case DEV_PROBE: {
            struct device ** devices;

            /* if they didn't specify that we should probe, then we should
             * just fall out */
            if (noprobe) {
                stage = DEV_DONE;
                break;
            }

            busProbe(modInfo, modLoaded, *modDepsPtr, 0);

            devices = probeDevices(class, BUS_UNSPEC, PROBE_LOADED);
            if (devices)
                for(; devices[found]; found++);

            if (found > before) {
                stage = DEV_DONE;
                break;
            }

            /* we don't have any more modules of the proper class.  ask
             * them to manually load */
            rc = newtWinTernary(_("Error"), _("Manually choose"),
                                _("Continue"), _("Load another disk"),
                                _("No devices of the appropriate type were "
                                  "found on this driver disk.  Would you "
                                  "like to manually select the driver, "
                                  "continue anyway, or load another "
                                  "driver disk?"));

That's the error I get.. which means probeDevices() did not find anything..

Trying to figure out why that happens..

-- Pasi
       
                                   ^
                                .     .
                                 Linux
                              /    -    \
                             Choice.of.the
                           .Next.Generation.




More information about the fedora-list mailing list