summaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
Diffstat (limited to 'kernel')
-rw-r--r--kernel/.cvsignore2
-rw-r--r--kernel/Makefile16
-rw-r--r--kernel/list_modules.pm294
-rw-r--r--kernel/modules.pl282
-rwxr-xr-xkernel/strip_modules129
-rwxr-xr-xkernel/update_kernel103
6 files changed, 0 insertions, 826 deletions
diff --git a/kernel/.cvsignore b/kernel/.cvsignore
deleted file mode 100644
index 66624465e..000000000
--- a/kernel/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-modules.description
-all.kernels
diff --git a/kernel/Makefile b/kernel/Makefile
deleted file mode 100644
index 0b4695ba1..000000000
--- a/kernel/Makefile
+++ /dev/null
@@ -1,16 +0,0 @@
-all: all.kernels
-
-all.kernels: ../mdk-stage1/mar/mar update_kernel list_modules.pm
- ./update_kernel
-
-../mdk-stage1/mar/mar:
- make -C `dirname $@` mar
-
-clean:
- rm -rf *~ modules.description all.kernels
-
-check:
- perl modules.pl check > /dev/null
- @echo "unlisted drivers: "
- @for i in $$(cut -f 2 -d \" /usr/share/ldetect-lst/pcitable|egrep -v '^#|ADSL:|Bad:|Card:|H[cs]f:|ISDN:|LT:'|sort|uniq|less);do fgrep -q $$i list_modules.pm|| echo -n "$$i ";done
- @echo
diff --git a/kernel/list_modules.pm b/kernel/list_modules.pm
deleted file mode 100644
index a31bf203f..000000000
--- a/kernel/list_modules.pm
+++ /dev/null
@@ -1,294 +0,0 @@
-package list_modules; # $Id$
-
-use MDK::Common;
-
-our @ISA = qw(Exporter);
-our @EXPORT = qw(load_dependencies dependencies_closure category2modules module2category sub_categories kernel_is_26 module_extension);
-
-# the categories have 2 purposes
-# - choosing modules to include on stage1's (cf update_kernel and mdk-stage1/pci-resource/update-pci-ids.pl)
-# - performing a load_category or probe_category (modules.pm and many files in perl-install)
-
-our %l = (
- ################################################################################
- network =>
- {
- main => [
- if_(arch() =~ /ppc/, qw(bmac ibm_emac mace oaknet sungem)),
- if_(arch() =~ /^sparc/, qw(sunbmac sunhme sunqe)),
- if_(arch() !~ /alpha|sparc/,
- qw(3c501 3c503 3c505 3c507 3c509 3c515 3c990 3c990fx),
- qw(82596 ac3200 acenic aironet4500_card amd8111e at1700 atp),
- qw(b44 bcm4400 com20020-pci cs89x0 de2104x de600 de620),
- qw(defxx), # most unused
- qw(depca dgrs dmfe e100 e2100 eepro eepro100 eexpress epic100 eth16i),
- qw(ewrk3 fealnx hamachi hp hp-plus hp100),
- qw(iph5526), #- fibre channel
- qw(lance natsemi ne ne2k-pci ni5010 ni52 ni65 nvnet),
- qw(pcnet32 plip prism2_plx rcpci rhineget),
- qw(sb1000 sis900 skfp smc-ultra smc9194 starfire),
- qw(tc35815 tlan tulip typhoon uli526x via-rhine),
- qw(wd winbond-840 forcedeth),
- qw(sungem sunhme), # drivers for ultrasparc, but compiled in ix86 kernels...
- ),
- qw(3c59x 8139too 8139cp sundance), #rtl8139
- ],
- firewire => [ qw(eth1394 pcilynx) ],
- gigabit => [
- qw(dl2k e1000 ixgb myri_sbus ns83820 r8169 s2io sis190 sk98lin skge tg3 via-velocity yellowfin ),
- qw(bcm5820 bcm5700), #- encrypted
- ],
-
- raw => [
- qw(ppp_generic ppp_async ppp_deflate bsd_comp),
- ],
- pcmcia => [
- qw(3c574_cs 3c589_cs axnet_cs fmvj18x_cs),
- qw(ibmtr_cs nmclan_cs pcnet_cs smc91c92_cs),
- qw(xirc2ps_cs xircom_cb xircom_tulip_cb),
- ],
- #- generic NIC detection for USB seems broken (class, subclass,
- #- protocol reported are not accurate) so we match network adapters against
- #- known drivers :-(
- usb => [
- qw(catc CDCEther kaweth pegasus rtl8150 usbnet),
- ],
- wireless => [
- qw(acx100_pci adm8211 airo airo_cs aironet4500_cs aironet_cs at76c503-rfmd ath_pci atmel_cs atmel_pci dyc_ar5),
- qw(hostap_pci hostap_plx ipw2100 ipw2200 madwifi_pci netwave_cs orinoco orinoco_cs orinoco_pci orinoco_plx),
- qw(prism2_cs prism2_pci prism2_usb prism54 r8180 ray_cs rt2400 rt2500 usbvnet_rfmd vt_ar5k wavelan_cs wvlan_cs zd1201),
- if_(arch() =~ /ppc/, qw(airport)),
- ],
- isdn => [
- qw(avmfritz c4 cdc-acm b1pci divas hfc4s8s_l1 hisax hisax_fcpcipnp hysdn sedlfax t1pci tpam w6692pci),
- qw(fcpci fcdsl fcdsl fcdsl2 fcdslsl fcdslslusb fcdslusb fcdslusba fcusb fcusb2 fxusb fxusb_CZ)
- ],
- modem => [
- qw(ltmodem mwave ),
- ],
- slmodem => [
- qw(slamr slusb snd-atiixp-modem snd-intel8x0m snd-via82xx-modem),
- ],
- tokenring => [ qw(3c359 abyss ibmtr lanstreamer olympic proteon skisa smctr tms380tr tmspci) ],
- wan => [ qw(c101 cosa cyclomx cycx_drv dlci farsync hdlc hostess_sv11 n2 pc300 pci200syn sbni sdla sdladrv sealevel syncppp wanxl z85230) ],
- },
-
- ################################################################################
- disk =>
- {
- # ide drivers compiled as modules:
- ide => [ qw(aec62xx cs5520 cs5530 delkin_cb ide-generic rz1000 sc1200 slc90e66 triflex trm290) ],
- # ide drivers compiled in core kernel:
- all_ide => [
- qw(ali14xx amd74xx dtc2278 ht6560b qd65xx umc8672 aec62xx alim15x3 atiixp cmd64x cs5520 cs5530 cy82c693),
- qw(hpt34x hpt366 ns87415 opti621 pdc202xx_new pdc202xx_old piix rz1000 sc1200 serverworks),
- qw(siimage sis5513 slc90e66 triflex trm290 via82cxxx),
- ],
- scsi => [
- if_(arch() =~ /ppc/, qw(mesh mac53c94)),
- if_(arch() =~ /^sparc/, qw(qlogicpti)),
- if_(arch() !~ /alpha/ && arch() !~ /sparc/,
- '53c7,8xx',
- qw(AM53C974 BusLogic NCR53c406a a100u2w advansys aha152x aha1542 aha1740),
- qw(atp870u dc395x dc395x_trm dmx3191d dtc g_NCR5380 in2000 initio pas16 pci2220i psi240i fdomain),
- qw(qla1280 qla2x00 qlogicfas qlogicfc),
- qw(seagate wd7000 sim710 sym53c416 t128 tmscsim u14-34f ultrastor),
- qw(eata eata_pio eata_dma nsp32),
- ),
- qw(aic7xxx aic7xxx_old aic79xx pci2000 qlogicisp sym53c8xx lpfc lpfcdd), # ncr53c8xx
- ],
- sata => [
- # note that ata_piix manage RAID devices on ICH6R
- qw(ahci ata_adma ata_piix sata_nv sata_promise sata_qstor sata_sil sata_sis sata_svw sata_sx4 sata_uli sata_via sata_vsc sx8),
- ],
- hardware_raid => [
- if_(arch() =~ /^sparc/, qw(pluto)),
- if_(arch() !~ /alpha/ && arch() !~ /sparc/,
- # 3w-xxxx drives ATA-RAID, 3w-9xxx and arcmsr drive SATA-RAID
- qw(a320raid),
- qw(3w-9xxx 3w-xxxx aacraid arcmsr cciss cpqfc cpqarray DAC960 dpt_i2o gdth i2o_block ipr it821x it8212),
- qw(iteraid megaraid megaraid_mbox megaraid_sas mptscsih qla2100 qla2200 qla2300 qla2322 qla4xxx qla6312 qla6322 pdc-ultra),
- qw(ips ppa imm),
- if_(c::kernel_version =~ /^\Q2.4/,
- qw(ataraid hptraid silraid pdcraid)
- ),
- ),
- ],
- pcmcia => [ qw(aha152x_cs fdomain_cs nsp_cs qlogic_cs ide-cs) ], #ide_cs
- raw => [ qw(sd_mod) ],
- usb => [ qw(usb-storage) ],
- firewire => [ qw(sbp2) ],
- cdrom => [ qw(ide-cd sr_mod) ],
- },
-
- ################################################################################
-
- bus =>
- {
- usb => [ qw(usb-uhci usb-ohci ehci-hcd uhci-hcd ohci-hcd) ],
- firewire => [ qw(ohci1394) ],
- i2c => [
- qw(i2c-ali1535 i2c-ali1563 i2c-ali15x3 i2c-amd756 i2c-amd8111 i2c-i801 i2c-i810 i2c-nforce2),
- qw(i2c-piix4 i2c-prosavage i2c-savage4 i2c-sis5595 i2c-sis630 i2c-sis96x i2c-via i2c-viapro i2c-voodoo3),
- if_(arch() !~ /^ppc/, qw(i2c-hydra i2c-ibm_iic i2c-mpc)),
- ],
- pcmcia => [
- if_(arch() !~ /^sparc/, qw(au1x00_ss i82365 i82092 pd6729 tcic vrc4171_card vrc4173_cardu yenta_socket)), # cb_enabler
- ],
- usb_keyboard => [ qw(usbkbd keybdev) ],
- #serial_cs
- #ftl_cs 3c575_cb apa1480_cb epic_cb serial_cb tulip_cb iflash2+_mtd iflash2_mtd
- #cb_enabler
- },
-
- fs =>
- {
- network => [ qw(af_packet nfs) ],
- cdrom => [ qw(isofs) ],
- loopback => [ qw(isofs loop cryptoloop gzloop), if_($ENV{MOVE}, qw(supermount)) ],
- local => [
- if_(arch() =~ /^i.86|x86_64/, qw(vfat ntfs)),
- if_(arch() =~ /^ppc/, qw(hfs)),
- qw(reiserfs),
- ],
- various => [ qw(smbfs romfs ext3 xfs jfs ufs ntfs) ],
-
- },
-
- ################################################################################
- multimedia =>
- {
- sound => [
- if_(arch() =~ /ppc/, qw(dmasound_pmac snd-powermac)),
- if_(arch() =~ /sparc/, qw(snd-sun-amd7930 snd-sun-cs4231 snd-sun-dbri)),
- if_(arch() !~ /^sparc/,
- qw(ad1816 ad1848 ad1889 ali5455 audigy audio awe_wave cmpci cs4232 cs4281 cs46xx),
- qw(emu10k1 es1370 es1371 esssolo1 forte gus i810_audio ice1712 kahlua mad16 maestro),
- qw(maestro3 mpu401 msnd_pinnacle nm256_audio nvaudio opl3 opl3sa opl3sa2 pas2 pss),
- qw(rme96xx sam9407 sb sgalaxy snd-ad1816a snd-ad1848 snd-ali5451 snd-als100),
- qw(snd-als4000 snd-atiixp snd-au8810 snd-au8820 snd-au8830 snd-audigyls snd-azt2320 snd-azt3328 snd-azx),
- qw(snd-bt87x snd-ca0106 snd-cmi8330 snd-cmipci snd-cs4231 snd-cs4232 snd-cs4236 snd-cs4281),
- qw(snd-cs46xx snd-darla20 snd-darla24 snd-dt019x snd-emu10k1 snd-emu10k1x snd-ens1370 snd-ens1371 snd-es1688 snd-es18xx),
- qw(snd-es1938 snd-es1968 snd-es968 snd-fm801 snd-gina20 snd-gina24 snd-gina3g snd-gusclassic snd-gusextreme),
- qw(snd-gusmax snd-hda-intel snd-hdsp snd-hdspm snd-ice1712 snd-ice1724 snd-indi snd-indigo snd-indigodj snd-indigoio snd-intel8x0 snd-interwave),
- qw(snd-interwave-stb snd-korg1212 snd-layla20 snd-layla24 snd-layla3g snd-maestro3 snd-mia snd-mixart snd-mona snd-mpu401 snd-nm256),
- qw(snd-opl3sa2 snd-opti92x-ad1848 snd-opti92x-cs4231 snd-opti93x snd-pcxhr snd-rme32),
- qw(snd-rme96 snd-rme9652 snd-sb16 snd-sb8 snd-sbawe snd-sgalaxy snd-sonicvibes),
- qw(snd-sscape snd-trident snd-via82xx snd-vx222 snd-vxp440 snd-vxpocket snd-wavefront),
- qw(snd-ymfpci sonicvibes sscape trident via82cxxx_audio wavefront ymfpci),
- ),
- ],
- tv => [ qw(bt878 bttv cx8800 cx88-blackbird dpc7146 ivtv saa7134 zr36067) ],
- dvb => [ qw(budget budget-av budget-ci dvb-ttpci hexium_orion hexium_gemini skystar2) ],
- photo => [ qw(dc2xx mdc800) ],
- radio => [ qw(radio-gemtek-pci radio-maxiradio) ],
- scanner => [ qw(scanner microtek) ],
- joystick => [ qw(cs461x ns558 emu10k1-gp fm801-gp iforce lightning ns558 vortex) ],
- webcam => [ qw(cpia_usb cyber2000fb ibmcam mod_quickcam ov511 ov518_decomp pwc quickcam ultracam usbvideo usbvision) ],
- },
-
- various =>
- # just here for classification, unused categories (nor auto-detect, nor load_thiskind)
- {
- raid => [
- qw(dm-crypt dm-mirror dm-mod linear lvm-mod multipath raid0 raid1 raid10 raid5),
- ],
- mouse => [
- qw(atixlmouse busmouse generic_serial inport logibm logibusmouse msbusmouse pcips2 qpmouse synclinkmp),
- if_(arch() =~ /ppc/, 'macserial'),
- qw(hid mousedev usbhid usbmouse),
- ],
- char => [
- if_(arch() =~ /ia64/, qw(efivars)),
- qw(applicom n_r3964 nvram pc110pad ppdev),
- qw(wdt_pci i810-tco sx), #- what are these???
- ],
- crypto => [
- qw(amd768_rng amd7xx_tco i810_rng hw_random leedslite padlock),
- ],
- laptop => [
- qw(i8k sonypi toshiba),
- ],
- serial => [
- qw(8250_pci 8250 epca esp isicom istallion moxa mxser stallion sx synclink synclinkmp),
- ],
- other => [
- qw(defxx i810fb ide-floppy ide-scsi ide-tape loop lp nbd sg st),
- qw(parport_pc parport_serial),
- qw(btaudio),
-
- arch() =~ /i.86/ ? 'aes-i586' : 'aes',
- if_(arch() =~ /sparc/, 'openprom'),
-
- qw(wacom evdev), qw(usblp printer), 'floppy',
-
- #- these need checking
- qw(rrunner meye),
- ],
- agpgart => [
- if_(arch() =~ /alpha/, qw(alpha-agp)),
- if_(arch() =~ /ia64/, qw(hp-agp i460-agp)),
- if_(arch() =~ /ppc/, qw(uninorth-agp)),
-
- qw(ali-agp amd64-agp amd-k7-agp ati-agp efficeon-agp intel-agp),
- qw(k7-agp mch-agp nvidia-agp sis-agp sworks-agp via-agp),
- ],
- },
-);
-
-my %dependencies;
-
-sub load_dependencies {
- my ($file) = @_;
-
- %dependencies = map {
- my ($f, $deps) = split ':';
- $f => [ split ' ', $deps ];
- } cat_($file);
-}
-
-sub dependencies_closure {
- my @l = map { dependencies_closure($_) } @{$dependencies{$_[0]} || []};
- (@l, $_[0]);
-}
-
-sub category2modules {
- map {
- my ($t1, $t2s) = m|(.*)/(.*)|;
- my @sub = $t2s eq '*' ? keys %{$l{$t1}} : split('\|', $t2s);
- map {
- my $l = $l{$t1}{$_} or die "bad category $t1/$_\n" . backtrace();
- @$l;
- } @sub;
- } split(' ', $_[0]);
-}
-
-sub all_modules() {
- map { @$_ } map { values %$_ } values %l;
-}
-
-sub module2category {
- my ($module) = @_;
- foreach my $t1 (keys %l) {
- my $h = $l{$t1};
- foreach my $t2 (keys %$h) {
- $module eq $_ and return "$t1/$t2" foreach @{$h->{$t2}};
- }
- }
- return;
-}
-
-sub ethernet_categories() {
- 'network/main|gigabit|pcmcia|usb|wireless|firewire';
-}
-
-sub sub_categories {
- my ($t1) = @_;
- keys %{$l{$t1}};
-}
-
-sub kernel_is_26 { $_[0] =~ /^2\.6/ }
-
-sub module_extension { kernel_is_26($_[0]) ? 'ko' : 'o' }
-
-1;
diff --git a/kernel/modules.pl b/kernel/modules.pl
deleted file mode 100644
index a08b7c46c..000000000
--- a/kernel/modules.pl
+++ /dev/null
@@ -1,282 +0,0 @@
-use strict;
-
-
-BEGIN {
- #- for testing purpose
- (my $f = __FILE__) =~ s|/[^/]*$||;
- push @INC, $f;
-}
-
-use MDK::Common;
-use list_modules;
-
-#- seldom used modules
-#- we don't bother making a special floppy for those
-my %modules_only_for_all_img = (
-
- 'network/main' => [
- qw(acenic),
- qw(aironet4500_card com20020-pci hamachi starfire winbond-840),
-
- if_(arch() =~ /alpha|ppc/, qw(sb1000)),
- qw(iph5526),
-
- qw(ac3200 at1700 atp ni5010 ni52 ni65), #- unused from Jeff
- ],
-
- 'disk/scsi' => [
- # ISA cards:
- qw(NCR53c406a aha152x psi240i qlogicfas qlogicfc wd7000 sim710 t128 ultrastor), '53c7,8xx',
- qw(qla2x00 in2000 pas16 a100u2w seagate g_NCR5380),
- if_(arch() =~ /x86_64/, qw(53c7,8xx nsp32 initio advansys atp870u)), #- old
- qw(AM53C974), # deprecated by tmscsim
- qw(u14-34f), #- duplicate from ultrastor.o
- #- still used, keeping them: qw(aha1542 sym53c416),
- qw(lpfcdd), #- HUGE!!
-
- qw(dc395x dc395x_trm dmx3191d qla1280 BusLogic fdomain),
- qw(pci2220i eata eata_pio eata_dma),
- 'aic7xxx_old', 'qlogicisp',
- 'dtc',
- ],
- 'disk/sata' => [
- qw(ahci ata_piix sata_nv sata_promise sata_sil sata_sis sata_svw sata_sx4 sata_uli sata_via sata_vsc sx8),
- ],
-
- 'disk/hardware_raid' => [
- qw(i2o_block qla2200 qla2300 cpqfc DAC960 gdth pdc-ultra mptscsih),
- ],
-);
-
-#- modules that will only be available in stage2
-#- those modules are NOT in all.img, network.img...
-#- there should only be modules that can't be used on stage1
-#- completly unused modules should be removed directly from the kernel
-#- (and so be removed from stage2 too)
-my %modules_removed_from_stage1 = (
- 'network/main' => [
- 'plip'
- ],
-
- 'disk/hardware_raid' => [
- qw(imm ppa),
- ],
-);
-
-my @modules_always_on_stage1 = qw(floppy);
-
-
-sub flatten_and_check {
- my ($h) = @_;
- map {
- my $category = $_;
- my @l = @{$h->{$category}};
- if (my @bad = difference2(\@l, [ category2modules($category) ])) {
- foreach (@bad) {
- if (my $cat = module2category($_)) {
- warn "ERROR in modules.pl: module $_ is in category $cat, not in $category\n";
- } else {
- warn "ERROR in modules.pl: unknown module $_\n";
- }
- }
- exit 1;
- }
- @l;
- } keys %$h;
-}
-
-my @modules_only_for_all_img = flatten_and_check(\%modules_only_for_all_img);
-my @modules_removed_from_stage1 = flatten_and_check(\%modules_removed_from_stage1);
-
-
-my %images = (
- pcmcia => 'fs/cdrom|loopback disk/cdrom|raw|pcmcia bus/pcmcia',
- cdrom => 'fs/cdrom|loopback disk/cdrom|raw|scsi',
- network => 'bus/usb|usb_keyboard|pcmcia disk/raw|usb',
- network_drivers => 'fs/network|loopback network/main|pcmcia|usb|raw|gigabit',
- all => 'fs/cdrom disk/cdrom|raw bus/usb|usb_keyboard disk/usb|scsi fs/loopback|local bus/pcmcia disk/ide|pcmcia|sata|hardware_raid fs/network network/main|pcmcia|usb|raw|gigabit bus/firewire disk/firewire',
-);
-
-my $verbose = $ARGV[0] eq '-v' && shift;
-my ($f, @para) = @ARGV;
-$::{$f}->(@para);
-
-sub image2modules {
- my ($image) = @_;
- my $l = $images{$image};
-
- my @modules = if_($image !~ /drivers/, @modules_always_on_stage1);
- push @modules, map { category2modules($_) } split(' ', $l);
-
- @modules = difference2(\@modules, \@modules_removed_from_stage1);
-
- if ($image !~ /all/) {
- @modules = difference2(\@modules, \@modules_only_for_all_img);
- }
-
- @modules;
-}
-
-sub remove_unneeded_modules {
- my ($kern_ver) = @_;
-
- #- need creating a first time the modules.dep for all modules
- #- it will be redone in make_modules_dep when unneeded modules are removed
- make_modules_dep($kern_ver);
- load_dependencies("all.kernels/$kern_ver/modules.dep");
-
- my $ext = module_extension($kern_ver);
-
- my @all = list_modules::all_modules();
- my @all_with_deps = map { dependencies_closure($_) } @all;
- my %wanted_modules = map {; "$_.$ext" => 1 } @all_with_deps;
- foreach (all("all.kernels/$kern_ver/modules")) {
- $wanted_modules{$_} or unlink "all.kernels/$kern_ver/modules/$_";
- }
-}
-
-sub make_modules_per_image {
- my ($kern_ver) = @_;
-
- make_modules_dep($kern_ver);
- load_dependencies("all.kernels/$kern_ver/modules.dep");
-
- my $ext = module_extension($kern_ver);
-
- foreach my $image (keys %images) {
- my @modules_with_deps = uniq(map { dependencies_closure($_) } image2modules($image));
- my @l = map { "$_.$ext" } @modules_with_deps;
-
- my $dir = "all.kernels/$kern_ver/modules";
- @l = grep { -e "$dir/$_" } @l;
-
- if ($image =~ /all/) {
- system("cd $dir ; tar cf ../${image}_modules.tar @l") == 0 or die "tar failed\n";
- } else {
- my $gi_base_dir = chomp_(`pwd`) . '/..';
- system("cd $dir ; $gi_base_dir/mdk-stage1/mar/mar -c ../${image}_modules.mar @l") == 0 or die "mar failed\n";
- }
- }
-}
-
-sub make_modules_dep {
- my ($kern_ver) = @_;
-
- my @l =
- kernel_is_26($kern_ver) ?
- cat_("all.kernels/$kern_ver/lib/modules/$kern_ver/modules.dep") :
- `/sbin/depmod-24 -F all.kernels/$kern_ver/boot/System.map-$kern_ver -e *.o | perl -pe 's/\\\n//'`;
-
- @l = map {
- if (/(\S+):\s+(.*)/) {
- my ($module, @deps) = map { m!.*/(.*)\.k?o(\.gz)$! && $1 } $1, split(' ', $2);
- if (member($module, 'plip', 'ppa', 'imm')) {
- @deps = map { $_ eq 'parport' ? 'parport_pc' : $_ } @deps;
- } elsif ($module eq 'vfat') {
- push @deps, 'nls_cp437', 'nls_iso8859-1';
- }
- if_(@deps, join(' ', "$module:", @deps));
- } else {
- ();
- }
- } @l;
-
- output("all.kernels/$kern_ver/modules.dep", map { "$_\n" } @l);
-}
-
-sub make_modules_description {
- my ($kern_ver) = @_;
- my $ext = module_extension($kern_ver);
- my $dir = "all.kernels/$kern_ver/modules";
-
- my @l;
- if (kernel_is_26(`uname -r`)) { #- modinfo behaves differently depending on the build kernel used
- my $name;
- @l = map {
- $name = $1 if m!^filename:\s*(.*)\.$ext!;
- if_($name && /^description:\s*(.*)/, "$name\t$1");
- } `cd $dir ; /sbin/modinfo *.$ext`;
- } else {
- @l = map {
- if_(/(.*?)\.$ext "(.*)"/, "$1\t$2\n");
- } `cd $dir ; /sbin/modinfo-24 -f '%{filename} %{description}\n' *.$ext`;
- }
- output("modules.description", @l);
-}
-
-sub pci_modules4stage1 {
- my ($category) = @_;
- my @modules = difference2([ category2modules($category) ], \@modules_removed_from_stage1);
- print "$_\n" foreach uniq(map { dependencies_closure($_) } @modules);
-}
-
-sub check() {
- my $error;
- my %listed;
- while (my ($t1, $l) = each %list_modules::l) {
- while (my ($t2, $l) = each %$l) {
- ref $l or die "bad $l in $t1/$t2";
- foreach (@$l) {
- $listed{$_} = "$t1/$t2";
- }
- }
- }
-
- my %module2category;
- my %deprecated_modules = %listed;
- my $not_listed = sub {
- my ($msg, $verbose, @l) = @_;
- my %not_listed;
- foreach (@l) {
- my ($mod) = m|([^/]*)\.k?o(\.gz)?$| or next;
- delete $deprecated_modules{$mod};
- next if $listed{$mod};
- s|.*?mdk(BOOT)?/||;
- s|kernel/||; s|drivers/||; s|3rdparty/||;
- $_ = dirname $_;
- $_ = dirname $_ if $mod eq basename($_);
- $module2category{$mod} = $_;
- push @{$not_listed{$_}}, $mod;
- }
- if ($verbose) {
- print "$msg $_: ", join(" ", @{$not_listed{$_}}), "\n" foreach sort keys %not_listed;
- }
- };
- $not_listed->('NOT LISTED', 1, `cd all.kernels/2.6* ; find -name "*.k?o" -o -name "*.k?o.gz"`);
- $not_listed->('not listed', $verbose, `rpm -qpl /RPMS/kernel-2.6*`);
- if (%deprecated_modules) {
- my %per_cat;
- push @{$per_cat{$listed{$_}}}, $_ foreach keys %deprecated_modules;
- foreach my $cat (sort keys %per_cat) {
- print "bad/old modules ($cat) : ", join(" ", sort @{$per_cat{$cat}}), "\n";
- }
- }
-
- {
- require '/usr/bin/merge2pcitable.pl';
- my $pcitable = read_pcitable("/usr/share/ldetect-lst/pcitable");
- my $usbtable = read_pcitable("/usr/share/ldetect-lst/usbtable");
-
- my @l1 = uniq grep { !/:/ && $_ ne 'unknown' } map { $_->[0] } values %$pcitable;
- if (my @l = difference2(\@l1, [ keys %listed ])) {
- my %not_listed;
- push @{$not_listed{$module2category{$_}}}, $_ foreach @l;
- if (my $l = delete $not_listed{''}) {
- print "bad/old pcitable modules : ", join(" ", @$l), "\n";
- }
- print STDERR "PCITABLE MODULES NOT LISTED $_: ", join(" ", @{$not_listed{$_}}), "\n" foreach sort keys %not_listed;
- #$error = 1;
- }
-
- my @l2 = uniq grep { !/:/ && $_ ne 'unknown' } map { $_->[0] } values %$usbtable;
- if (my @l = difference2(\@l2, [ keys %listed ])) {
- my %not_listed;
- push @{$not_listed{$module2category{$_}}}, $_ foreach @l;
- if ($verbose) {
- print "usbtable modules not listed $_: ", join(" ", @{$not_listed{$_}}), "\n" foreach sort keys %not_listed;
- }
- }
- }
-
- exit $error;
-}
diff --git a/kernel/strip_modules b/kernel/strip_modules
deleted file mode 100755
index cd4077a66..000000000
--- a/kernel/strip_modules
+++ /dev/null
@@ -1,129 +0,0 @@
-#!/bin/sh
-#
-# Given a list of objects, strip all static symbols except those
-# required by insmod.
-#
-# Copyright Keith Owens <kaos@ocs.com.au>. GPL.
-# Sat Feb 1 12:52:17 EST 1997
-#
-# Mainly intended for reducing the size of modules to save space
-# on emergency and install disks. Be aware that removing the
-# static symbols reduces the amount of diagnostic information
-# available for oops. Not recommended for normal module usage.
-#
-# This code requires the modules use MODULE_PARM and EXPORT_.
-# Do not strip modules that have not been converted to use
-# MODULE_PARM or are using the old method of exporting symbols.
-# In particular do not use on modules prior to 2.1.20 (approx).
-#
-# The objects are stripped in /tmp, only if the strip works is
-# the original overwritten. If the command line to strip the
-# symbols becomes too long, the strip is done in multiple passes.
-# Running strip_module twice on the same object is safe (and a
-# waste of time).
-#
-
-sizeofptr="/tmp/$$.sizeofptr"
-echo 'int main() { return sizeof(void *); }' | gcc -xc - -o $sizeofptr
-$sizeofptr
-export SIZEOF_POINTER=$?
-rm -f $sizeofptr
-
-cat > /tmp/$$.awk <<\EOF
-BEGIN {
- strip = "/usr/bin/objcopy";
- nm = "/usr/bin/nm";
- cp = "/bin/cp";
- mv = "/bin/mv";
- rm = "/bin/rm";
- tmp = "/tmp";
- command_size = 400; # arbitrary but safe
-
- getline < "/proc/self/stat";
- pid = $1;
- tmpcopy = tmp "/" pid ".object";
- nmout = tmp "/" pid ".nmout";
-
- for (i = 1; i < ARGC; ++i)
- strip_module(ARGV[i]);
-
- do_command(rm " -f " tmpcopy " " nmout);
-
- exit(0);
-}
-
-function strip_module(object,
- keep_symbol, to_strip, symbol, command, changed) {
- do_command(cp " -a " object " " tmpcopy);
- do_command(nm " " tmpcopy " > " nmout);
- # delete array_name sometimes breaks, internal error, play safe
- for (symbol in keep_symbol)
- delete keep_symbol[symbol];
- for (symbol in to_strip)
- delete to_strip[symbol];
- new_module_format = 0;
- ptrskip = 2 + 2 * ENVIRON["SIZEOF_POINTER"];
- while ((getline < nmout) > 0) {
- $0 = substr($0, ptrskip);
- # b static variable, uninitialised
- # d static variable, initialised
- # r static array, initialised
- # t static label/procedures
- if ($1 ~ /[bdrt]/)
- to_strip[$2] = "";
- else if ($2 ~ /R __ksymtab_/)
- keep_symbol[substr($2, 11)] = "";
- else if ($0 ~ /R __module_parm_/)
- keep_symbol[substr($2, 15)] = "";
- else if ($0 ~ /D __parm_/)
- keep_symbol[substr($2, 8)] = "";
- else if ($3 ~ /__ksymtab/) {
- keep_symbol[$5] = "";
- }
- else if ($1 != "?")
- keep_symbol[$2] = "";
- if ($2 ~ /__module/)
- new_module_format = 1;
- }
- close(nmout);
- command = "";
- changed = 0;
- failure = 0;
- if (new_module_format) {
- for (symbol in to_strip) {
- if (!(symbol in keep_symbol)) {
- changed = 1;
- if (length(command) > command_size) {
- failure = failure || do_command(strip command " " tmpcopy);
- command = "";
- }
- command = command " --strip-symbol=" symbol;
- }
- }
- }
- if (command != "") {
- changed = 1;
- failure = failure || do_command(strip command " " tmpcopy);
- }
- if (changed && !failure)
- do_command(mv " " tmpcopy " " object);
-}
-
-function do_command(command) {
- if ((ret = system(command)) != 0) {
- giveup("command \"" command "\" failed " ret, ret);
- return 1;
- }
- return 0;
-}
-
-function giveup(message, ret) {
- print "strip_module: " message > "/dev/stderr";
-# exit(ret);
-}
-EOF
-
-awk -f /tmp/$$.awk "$@"
-ret=$?
-rm -f /tmp/$$.awk
-exit $ret
diff --git a/kernel/update_kernel b/kernel/update_kernel
deleted file mode 100755
index 135db4acb..000000000
--- a/kernel/update_kernel
+++ /dev/null
@@ -1,103 +0,0 @@
-#!/usr/bin/perl
-
-use MDK::Common;
-use list_modules;
-
-my $RPMS = '/export/media/main';
-my $rpm = 'rpm --nosignature';
-
-
-my $MOVE = $ARGV[0] eq '--move' && shift;
-
-@ARGV <= 1 or die "usage: ./update_kernel [--move] [<kernel rpm>]\n";
-
-
-mkdir 'all.kernels'; # make sure "all.kernels" directory exists
-eval { rm_rf('all.modules') }; #- not used anymore
-
-my $main = chomp_(cat_('all.kernels/.main'));
-my $main_BOOT = chomp_(cat_('all.kernels/.main-BOOT'));
-
-if (@ARGV) {
- install_kernel($ARGV[0]);
-} else {
- update_kernel_from_repository($RPMS, '2.6', 0);
- update_kernel_from_repository($RPMS, '2.6', 1);
-# update_kernel_from_repository($RPMS, '2.4', 1);
-}
-
-
-sub system_verbose { print join(' ', @_), "\n"; system(@_) }
-sub sys { &system_verbose; $? and die }
-
-sub rpm2version {
- my ($kernel_rpm) = @_;
- `$rpm -qpl $kernel_rpm` =~ m!/boot/vmlinuz-(.*)! && $1 or die "can't find vmlinuz in $kernel_rpm\n";
-}
-
-sub update_kernel_from_repository {
- my ($RPMS, $main_ver, $is_BOOT) = @_;
- my $rpm_wildcard = 'kernel-' . ($is_BOOT ? 'BOOT-' : (arch() =~ /i.86/ ? 'i586-up-1GB-' : '')) . $main_ver . '*.rpm';
- my @kernels = glob("$RPMS/$rpm_wildcard");
-
- install_kernel($_, 1) foreach @kernels;
-}
-
-sub install_kernel {
- my ($kernel_rpm, $o_update) = @_;
-
- my $kern_ver = rpm2version($kernel_rpm);
- my $dir = "all.kernels/$kern_ver";
-
- -d $dir and return if $o_update;
-
- my $is_BOOT = $kern_ver =~ /BOOT/;
-
- if (!$main || !-d "all.kernels/$main") {
- $main = $kern_ver;
- output('all.kernels/.main', "$main\n");
- }
- if ($is_BOOT && (!$main_BOOT || !-d "all.kernels/$main_BOOT")) {
- $main_BOOT = $kern_ver;
- output('all.kernels/.main-BOOT', "$main_BOOT\n");
- }
-
- warn "Installing kernel $kern_ver\n";
-
- eval { rm_rf($dir) };
- mkdir_p("$dir/modules");
- sys("rpm2cpio $kernel_rpm | (cd $dir ; cpio -id)");
-
- rename "$dir/boot/vmlinuz-$kern_ver", "$dir/vmlinuz" or die "can't find vmlinuz\n";
-
- sys("find $dir -name '*.gz' | xargs gunzip");
-
- my $ext = module_extension($kern_ver);
-
- open(my $F, "find $dir -name '*.$ext' |");
- my $file; while ($file = <$F>) {
- chomp($file);
- rename $file, "$dir/modules/" . basename($file) or warn "conflict for $file\n";
- }
-
- if (kernel_is_26($kern_ver)) {
- warn "no stripping on 2.6 since it breaks modules\n";
- } else {
- print STDERR "stripping $kern_ver: ";
- sys("./strip_modules $dir/modules/*.$ext");
- print STDERR "done\n";
- }
-
- sys('perl', 'modules.pl', 'remove_unneeded_modules', $kern_ver) if $kern_ver !~ /BOOT/;
-
- sys('perl', 'modules.pl', 'make_modules_per_image', $kern_ver);
- sys('perl', 'modules.pl', 'make_modules_description', $kern_ver) if $kern_ver eq $main;
-
- if (!$MOVE) {
- print STDERR "packdrake $kern_ver: ";
- sys("cd $dir/modules ; ls *.$ext | packdrake -b9s ../modules.cz 400000");
- print STDERR "done\n";
- }
-
- eval { rm_rf("$dir$_") } foreach qw(/boot /lib /usr /modules);
-}