diff options
author | Guillaume Cottenceau <gc@mandriva.com> | 2001-12-04 15:42:15 +0000 |
---|---|---|
committer | Guillaume Cottenceau <gc@mandriva.com> | 2001-12-04 15:42:15 +0000 |
commit | 4ea909d089bcf223822d2370f022c30924dc216b (patch) | |
tree | 629d78c0ecf770c0ba09a03c14c5d5665a67c6b7 | |
parent | 236957fd6340b181d5f34629eceff43546e8e8e9 (diff) | |
download | drakx-backup-do-not-use-4ea909d089bcf223822d2370f022c30924dc216b.tar drakx-backup-do-not-use-4ea909d089bcf223822d2370f022c30924dc216b.tar.gz drakx-backup-do-not-use-4ea909d089bcf223822d2370f022c30924dc216b.tar.bz2 drakx-backup-do-not-use-4ea909d089bcf223822d2370f022c30924dc216b.tar.xz drakx-backup-do-not-use-4ea909d089bcf223822d2370f022c30924dc216b.zip |
support install from USB CDROMS (using usb-storage)
-rw-r--r-- | Makefile | 4 | ||||
-rwxr-xr-x | make_boot_img | 6 | ||||
-rw-r--r-- | mdk-stage1/.cvsignore | 2 | ||||
-rw-r--r-- | mdk-stage1/Makefile | 23 | ||||
-rw-r--r-- | mdk-stage1/probing.c | 29 | ||||
-rwxr-xr-x | mdk-stage1/usb-resource/update-usb-ids.pl | 10 | ||||
-rw-r--r-- | perl-install/modules.pm | 3 | ||||
-rwxr-xr-x | update_kernel | 11 |
8 files changed, 41 insertions, 47 deletions
@@ -1,7 +1,7 @@ ARCH := $(patsubst i%86,i386,$(shell uname -m)) ARCH := $(patsubst sparc%,sparc,$(ARCH)) -RELEASE_BOOT_IMG = cdrom.img hd.img network.img usbnet.img +RELEASE_BOOT_IMG = cdrom.img hd.img network.img usb.img ifeq (i386,$(ARCH)) RELEASE_BOOT_IMG += blank.img pcmcia.img other.img endif @@ -23,7 +23,7 @@ FRELEASE_BOOT_IMG = $(BOOT_IMG:%=images/%) FBOOT_IMG = $(BOOT_IMG:%=images/%) FBOOT_RDZ = $(FBOOT_IMG:%.img=%.rdz) images/all.rdz -BINS = mdk-stage1/init mdk-stage1/stage1-full mdk-stage1/stage1-cdrom mdk-stage1/stage1-network mdk-stage/stage1-usbnet +BINS = mdk-stage1/init mdk-stage1/stage1-full mdk-stage1/stage1-cdrom mdk-stage1/stage1-network mdk-stage1/stage1-usb ifeq (ppc,$(ARCH)) BINS = mdk-stage1/init mdk-stage1/stage1-full endif diff --git a/make_boot_img b/make_boot_img index bc87ffa0a..71ebf2277 100755 --- a/make_boot_img +++ b/make_boot_img @@ -1,6 +1,6 @@ #!/usr/bin/perl -@ARGV >= 2 or die "usage: $0 <image> all|other|cdrom|hd|network|usbnet|blank|pcmcia|live|tftp|tftprd\n"; +@ARGV >= 2 or die "usage: $0 <image> all|other|cdrom|hd|network|usb|blank|pcmcia|live|tftp|tftprd\n"; use Config; use MDK::Common; @@ -34,7 +34,7 @@ $install = $ {{ tftprd => "stage1-full", pcmcia => "stage1-full", network => "stage1-network", - usbnet => "stage1-usbnet", + usb => "stage1-usb", cdrom => "stage1-cdrom", hd => "stage1-disk", live64 => "stage1-full", @@ -108,7 +108,7 @@ sub initrd { install_stripped("$instdir/init", "$mnt/sbin"); install_stripped("$instdir/$install", "$mnt/sbin/stage1"); - if ($type eq "network" || $type eq "usbnet" || $type eq "all" || $type eq "other" || $type eq "blank") { + if ($type eq "network" || $type eq "usb" || $type eq "all" || $type eq "other" || $type eq "blank") { install_stripped("$instdir/ppp/pppd-bin", "$mnt/sbin/pppd"); install_stripped("$instdir/rp-pppoe/pppoe-bin", "$mnt/sbin/pppoe"); _ "$sudo mknod $mnt/dev/ppp c 108 0"; diff --git a/mdk-stage1/.cvsignore b/mdk-stage1/.cvsignore index af2397e4b..a96a43de4 100644 --- a/mdk-stage1/.cvsignore +++ b/mdk-stage1/.cvsignore @@ -8,5 +8,5 @@ debug.log *.rdz* mkinitrd_helper.tar.bz2 hack_* -stage1-usbnet +stage1-usb rescue-gui diff --git a/mdk-stage1/Makefile b/mdk-stage1/Makefile index a58fabaa7..cedaef119 100644 --- a/mdk-stage1/Makefile +++ b/mdk-stage1/Makefile @@ -23,7 +23,7 @@ # # ix86 # init with minilibc - # stage1 with dietlibc except some targets + # stage1 with dietlibc # # ppc # init with dietlibc @@ -122,8 +122,7 @@ STAGE1OBJS-NETWORK = $(subst .c,-NETWORK.o,$(STAGE1SRC) $(NETWORKSRC)) NETWORK_DEFS = -DDISABLE_CDROM -DDISABLE_DISK -STAGE1OBJS-USBNET = $(subst .c,-USBNET.o,$(STAGE1SRC) $(NETWORKSRC)) - +STAGE1OBJS-USB = $(subst .c,-USB.o,$(STAGE1SRC) $(CDROMSRC) $(DISKSRC) $(NETWORKSRC)) STAGE1OBJS-FULL = $(subst .c,-FULL.o,$(STAGE1SRC) $(CDROMSRC) $(DISKSRC) $(NETWORKSRC)) @@ -144,7 +143,7 @@ endif BINS = init stage1-full ifeq (i386, $(ARCH)) -BINS += stage1-cdrom stage1-disk stage1-network stage1-usbnet +BINS += stage1-cdrom stage1-disk stage1-network stage1-usb endif ifneq (ia64, $(ARCH)) @@ -164,8 +163,8 @@ PCMCIA_DEFS = -DENABLE_PCMCIA endif -USBNET_DEFS_GEN = -DENABLE_USB -DENABLE_USBNET -USBNET_DEFS = $(USBNET_DEFS_GEN) -DDISABLE_PCINET +USB_DEFS_GEN = -DENABLE_USB +USB_DEFS = -DENABLE_USB -DDISABLE_PCIADAPTERS all: dirs $(BINS) @@ -190,7 +189,7 @@ stage1-network: $(STAGE1OBJS-NETWORK) $(STAGE1_OWN_LIBS) $(STAGE1_NETWORK_LIBS) $(CC) $(LDFLAGS_STAGE1) -o $@ $^ $(STRIPCMD) $@ -stage1-usbnet: $(STAGE1OBJS-USBNET) $(STAGE1_OWN_LIBS) $(STAGE1_NETWORK_LIBS) $(FRONTEND_LINK) $(STAGE1_LIBC) +stage1-usb: $(STAGE1OBJS-USB) $(STAGE1_OWN_LIBS) $(STAGE1_NETWORK_LIBS) $(FRONTEND_LINK) $(STAGE1_LIBC) $(CC) $(LDFLAGS_STAGE1) -o $@ $^ $(STRIPCMD) $@ @@ -211,11 +210,11 @@ $(STAGE1OBJS-DISK): %-DISK.o: %.c $(STAGE1OBJS-NETWORK): %-NETWORK.o: %.c $(COMPILE) $(INCLUDES) $(NETWORK_DEFS) -c $< -o $@ -$(STAGE1OBJS-USBNET): %-USBNET.o: %.c - $(COMPILE) $(INCLUDES) $(NETWORK_DEFS) $(USBNET_DEFS) -c $< -o $@ +$(STAGE1OBJS-USB): %-USB.o: %.c + $(COMPILE) $(INCLUDES) $(USB_DEFS) -c $< -o $@ $(STAGE1OBJS-FULL): %-FULL.o: %.c - $(COMPILE) $(INCLUDES) $(USBNET_DEFS_GEN) $(PCMCIA_DEFS) -c $< -o $@ + $(COMPILE) $(INCLUDES) $(USB_DEFS_GEN) $(PCMCIA_DEFS) -c $< -o $@ .c.o: $(COMPILE) $(INCLUDES) -c $< @@ -225,7 +224,7 @@ clean: @for n in $(DIRS); do \ (cd $$n; make clean) \ done - rm -f *.o .depend *.rdz *.img $(BINS) + rm -f *.o .depend *.rdz *.img rescue-gui $(BINS) tar-mkinitrd_helper: clean @@ -255,7 +254,7 @@ endif *-NETWORK.o: %-NETWORK.o: %.o -*-USBNET.o: %-USBNET.o: %.o +*-USB.o: %-USB.o: %.o *-FULL.o: %-FULL.o: %.o diff --git a/mdk-stage1/probing.c b/mdk-stage1/probing.c index 3390636e2..7dca40336 100644 --- a/mdk-stage1/probing.c +++ b/mdk-stage1/probing.c @@ -136,6 +136,7 @@ static void probe_that_type(enum driver_type type) struct pci_module_map * pcidb = NULL; switch (type) { +#ifndef DISABLE_PCIADAPTERS #ifndef DISABLE_MEDIAS case SCSI_ADAPTERS: pcidb = medias_pci_ids; @@ -143,7 +144,6 @@ static void probe_that_type(enum driver_type type) break; #endif #ifndef DISABLE_NETWORK -#ifndef DISABLE_PCINET case NETWORK_DEVICES: pcidb = network_pci_ids; len = network_num_ids; @@ -225,17 +225,6 @@ static void probe_that_type(enum driver_type type) char buf[200]; struct usb_module_map * usbdb = NULL; - switch (type) { -#ifdef ENABLE_USBNET - case NETWORK_DEVICES: - usbdb = usbnet_usb_ids; - len = usbnet_usb_num_ids; - break; -#endif - default: - goto end_usb_probe; - } - if (!already_probed_usb_controllers) { already_probed_usb_controllers = 1; probe_that_type(USB_CONTROLLERS); @@ -243,6 +232,7 @@ static void probe_that_type(enum driver_type type) if (!already_mounted_usbdev) { already_mounted_usbdev = 1; + my_insmod("usb-storage", SCSI_ADAPTERS, NULL); if (mount("/proc/bus/usb", "/proc/bus/usb", "usbdevfs", 0, NULL)) { log_message("USB: couldn't mount /proc/bus/usb"); goto end_usb_probe; @@ -257,11 +247,20 @@ static void probe_that_type(enum driver_type type) goto end_usb_probe; } + switch (type) { + case NETWORK_DEVICES: + usbdb = usb_usb_ids; + len = usb_usb_num_ids; + break; + default: + goto end_usb_probe; + } + while (1) { int i, vendor, id; if (!fgets(buf, sizeof(buf), f)) break; - + if (strstr(buf, "Keyboard")) { my_insmod("usbkbd", ANY_DRIVER_TYPE, NULL); my_insmod("keybdev", ANY_DRIVER_TYPE, NULL); @@ -273,7 +272,6 @@ static void probe_that_type(enum driver_type type) for (i = 0; i < len; i++) { if (usbdb[i].vendor == vendor && usbdb[i].id == id) { log_message("USB: device %04x %04x is \"%s\" (%s)", vendor, id, usbdb[i].name, usbdb[i].module); -#ifdef ENABLE_USBNET if (type == NETWORK_DEVICES) { stg1_info_message("About to load driver for usb network device:\n \n%s", usbdb[i].name); prepare_intf_descr(usbdb[i].name); @@ -281,7 +279,6 @@ static void probe_that_type(enum driver_type type) if (intf_descr_for_discover) /* for modules providing more than one net intf */ net_discovered_interface(NULL); } -#endif } } @@ -630,7 +627,7 @@ char ** get_net_devices(void) "tr0", "plip0", "plip1", "plip2", "fddi0", -#ifdef ENABLE_USBNET +#ifdef ENABLE_USB "usb0", "usb1", "usb2", "usb3", #endif NULL diff --git a/mdk-stage1/usb-resource/update-usb-ids.pl b/mdk-stage1/usb-resource/update-usb-ids.pl index 2e66db638..03ddb1355 100755 --- a/mdk-stage1/usb-resource/update-usb-ids.pl +++ b/mdk-stage1/usb-resource/update-usb-ids.pl @@ -25,8 +25,7 @@ struct usb_module_map { }; '; -print "#ifdef ENABLE_USB -struct pci_module_map usb_pci_ids[] = { +print "struct pci_module_map usb_pci_ids[] = { "; @@ -42,11 +41,10 @@ while (my ($k, $v) = each %$drivers) { print "}; int usb_num_ids=sizeof(usb_pci_ids)/sizeof(struct pci_module_map); -#endif "; -my @t = ('usbnet'); +my @t = ('usb'); foreach $type (@t) { @@ -56,8 +54,7 @@ foreach $type (@t) { push @$modulez, (`../mar/mar -l $_`); } - print "#ifdef ENABLE_".uc($type)." -struct usb_module_map ${type}_usb_ids[] = { + print "struct usb_module_map ${type}_usb_ids[] = { "; foreach my $usbentry (@usbtable) { grep(/^\t$usbentry->{'module'}\.o\s/, @$modulez) or next; @@ -67,7 +64,6 @@ struct usb_module_map ${type}_usb_ids[] = { print "}; int ${type}_usb_num_ids=sizeof(${type}_usb_ids)/sizeof(struct usb_module_map); -#endif "; } diff --git a/perl-install/modules.pm b/perl-install/modules.pm index a3f9e19e5..3351680ab 100644 --- a/perl-install/modules.pm +++ b/perl-install/modules.pm @@ -127,6 +127,9 @@ if_(arch() !~ /alpha/ && arch() !~ /sparc/, "catc" => "CATC EL1210A NetMate USB Ethernet driver", "CDCEther" => "CDCEther", }], +[ 'usbstorage', { + "usb-storage" => "usb-storage", +}], [ 'isdn', { "hisax" => "hisax", "hysdn" => "hysdn", diff --git a/update_kernel b/update_kernel index 8a22ca68c..5bcf9b942 100755 --- a/update_kernel +++ b/update_kernel @@ -39,7 +39,7 @@ function create_modules() { create_marfile cdrom_modules.mar $CDROM_MODULES $GENERIC_MODULES create_marfile hd_modules.mar $HD_MODULES $GENERIC_MODULES create_marfile pcmcia_modules.mar $PCMCIA_MODULES $PCMCIA_COREMODULES $GENERIC_MODULES - create_marfile usbnet_modules.mar $USBNET_MODULES $GENERIC_MODULES + create_marfile usb_modules.mar $USB_MODULES $GENERIC_MODULES create_marfile other_modules.mar $BIG_MODULES $GENERIC_MODULES create_marfile all_modules.mar $ALL_MODULES $PCMCIA_COREMODULES $GENERIC_MODULES rm -f $ALL_MODULES $PCMCIA_COREMODULES $NOT_USEFULL_IN_STAGE1 # leave in the directory non-install1 used modules @@ -63,15 +63,14 @@ f "disk" ; DISK_DRIVERS=$v f "net" ; NETWORK_DRIVERS=$v f "scsi cdrom" ; CD_DRIVERS=$v f "pcmcia net_raw cdrom_raw scsi_raw disk_raw" ; PCMCIA_DRIVERS=$v -f "usb" ; USB_DRIVERS=$v -f "usbnet net_raw" ; USBNET_DRIVERS=$v +f "usb usbnet net_raw usbstorage scsi_raw cdrom_raw disk_raw" ; USB_DRIVERS=$v f "big net_raw cdrom_raw scsi_raw disk_raw" ; BIG_DRIVERS=$v -f "pcmcia net usb usbnet cdrom scsi disk keepbig" ; ALL_DRIVERS=$v +f "pcmcia net usb usbnet usbstorage cdrom scsi disk keepbig" ; ALL_DRIVERS=$v [ $ARCH == "i386" ] && DOSMODULES="vfat.o fat.o" echo "done." NETWORK_MODULES=" $NETWORK_DRIVERS" -USBNET_MODULES=" $USB_DRIVERS $USBNET_DRIVERS usbkbd.o keybdev.o input.o" +USB_MODULES=" $USB_DRIVERS usbkbd.o keybdev.o input.o" CDROM_MODULES=" $CD_DRIVERS" HD_MODULES=" $DOSMODULES $SCSI_DRIVERS $DISK_DRIVERS loop.o isofs.o reiserfs.o" [ "$ARCH" == "ppc" ] && HD_MODULES="$HD_MODULES hfs.o" @@ -79,7 +78,7 @@ PCMCIA_MODULES=" $DOSMODULES $PCMCIA_DRIVERS" BIG_MODULES=" $BIG_DRIVERS" ALL_MODULES=" $DOSMODULES $ALL_DRIVERS loop.o isofs.o reiserfs.o" [ "$ARCH" == "ppc" ] && ALL_MODULES="$ALL_MODULES hfs.o" -NOT_USEFULL_IN_STAGE1="nls_*.o parport_probe.o raid*.o serial.o smbfs.o usb-*.o" +NOT_USEFULL_IN_STAGE1="nls_*.o parport_probe.o raid*.o serial.o smbfs.o" GENERIC_MODULES="isa-pnp.o floppy.o" |