Re: /lib/modules/$(uname -r)/modules.* [was Re: Who decides what drivers go on the install disk?]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Bill Nottingham (notting@xxxxxxxxxx) said: 
> > I mean, I guess I can just do manual twiddling to rule out things that
> > aren't under drivers/ata with the livecd.  I'm not _that_ tied to having
> > the two separated out if that's the real kicker here
> 
> OK. I'll tweak the stuff in the spec and send it here for comments.

Here you go; sorts them into two piles (networking and block), and expands
the symbol list to catch some of the missing modules such as ahci and
some of the wireless drivers.

Bill
Index: kernel.spec
===================================================================
RCS file: /cvs/extras/rpms/kernel/devel/kernel.spec,v
retrieving revision 1.34
diff -u -r1.34 kernel.spec
--- kernel.spec	27 Jul 2007 17:58:01 -0000	1.34
+++ kernel.spec	27 Jul 2007 21:23:41 -0000
@@ -1425,40 +1425,28 @@
     cat modnames | xargs chmod u+x
 
     # Generate a list of modules for SCSI, sata/pata, and networking.
-    touch $RPM_BUILD_ROOT/lib/modules/$KernelVer/modules.scsi
-    touch $RPM_BUILD_ROOT/lib/modules/$KernelVer/modules.libata
+    touch $RPM_BUILD_ROOT/lib/modules/$KernelVer/modules.block
     touch $RPM_BUILD_ROOT/lib/modules/$KernelVer/modules.networking
-    for i in `cat modnames | grep drivers | grep -v drivers\/ata`
-    do
-      if [ $(nm $i |grep --count scsi_add_host) -ne 0 ];
-      then
-        basename `echo $i` >> $RPM_BUILD_ROOT/lib/modules/$KernelVer/modules.scsi
-      fi
-    done
-    for i in `cat modnames | grep drivers | grep -v drivers\/scsi`
-    do
-      if [ $(nm $i |grep --count blk_init_queue) -ne 0 ];
-      then
-        basename `echo $i` >> $RPM_BUILD_ROOT/lib/modules/$KernelVer/modules.scsi
-      fi
-    done
 
-    for i in `cat modnames | grep drivers\/ata`
-    do
-      if [ $(nm $i |grep --count ata_device_add) -ne 0 -o $(nm $i |grep --count ata_pci_init_one) -ne 0 ];
-      then
-        basename `echo $i` >> $RPM_BUILD_ROOT/lib/modules/$KernelVer/modules.libata
-      fi
-    done
+    drivers=$(grep drivers modnames)
 
-    for i in `cat modnames |grep drivers`
-    do
-      if [ $(nm $i |grep --count register_netdev) -ne 0 ];
-      then
-        basename `echo $i` >> $RPM_BUILD_ROOT/lib/modules/$KernelVer/modules.networking
-      fi
-    done
+    # networking
+    netsyms="register_netdev ieee80211_register_hw usbnet_probe"
 
+    for i in $drivers ; do
+      for symbol in $netsyms ; do
+      	  nm -u $i | grep -q $symbol && echo ${i##*/}
+      done
+    done | sort -u > $RPM_BUILD_ROOT/lib/modules/$KernelVer/modules.networking
+    
+    # block
+    blocksyms="ata_scsi_ioctl scsi_add_host blk_init_queue"
+    for i in $drivers ; do
+      for symbol in $blocksyms ; do
+      	  nm -u $i | grep -q $symbol && echo ${i##*/}
+      done
+    done | sort -u > $RPM_BUILD_ROOT/lib/modules/$KernelVer/modules.block
+    
     # detect missing or incorrect license tags
     for i in `cat modnames`
     do
_______________________________________________
Fedora-kernel-list mailing list
Fedora-kernel-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/fedora-kernel-list

[Index of Archives]     [Fedora General Discussion]     [Older Fedora Users Archive]     [Fedora Advisory Board]     [Fedora Security]     [Fedora Devel Java]     [Fedora Legacy]     [Fedora Desktop]     [ATA RAID]     [Fedora Marketing]     [Fedora Mentors]     [Fedora Package Announce]     [Fedora Package Review]     [Fedora Music]     [Fedora Packaging]     [Centos]     [Fedora SELinux]     [Coolkey]     [Yum Users]     [Tux]     [Yosemite News]     [KDE Users]     [Fedora Art]     [Fedora Docs]     [USB]     [Asterisk PBX]

  Powered by Linux