SF.net SVN: morphix: [2624] trunk/scripts-base/miniroot
[email protected] Mon, 14 Apr 2008 04:56:55 -0700
| Newsgroups | gmane.linux.morphix.cvs |
|---|---|
| Message-ID | <[email protected]> |
Revision: 2624
http://morphix.svn.sourceforge.net/morphix/?rev=2624&view=rev
Author: alextreme
Date: 2008-04-14 04:56:54 -0700 (Mon, 14 Apr 2008)
Log Message:
-----------
* number of minor changes to get basic USB/SCSI-CD/DVD devices working
Modified Paths:
--------------
trunk/scripts-base/miniroot/linuxrc-scripts/linuxrc
trunk/scripts-base/miniroot/mkminiroot.sh
Modified: trunk/scripts-base/miniroot/linuxrc-scripts/linuxrc
===================================================================
--- trunk/scripts-base/miniroot/linuxrc-scripts/linuxrc 2008-04-05 18:15:43 UTC (rev 2623)
+++ trunk/scripts-base/miniroot/linuxrc-scripts/linuxrc 2008-04-14 11:56:54 UTC (rev 2624)
@@ -218,47 +218,29 @@
echo -n "${CRE}"
}
-case "$CMDLINE" in *bootusb2*) USBBOOT2="yes"; ;; esac
-case "$CMDLINE" in *bootusb1*) USBBOOT1="yes"; ;; esac
-case "$CMDLINE" in *vfat*) VFAT="yes"; ;; esac
-
-if test -n "$VFAT"
- then
# load modules needed to use VFAT filesystem
- $INSMOD -f /modules/nls/nls_cp437$KEXT >/dev/null
- $INSMOD -f /modules/nls/nls_iso8859-1$KEXT >/dev/null
-fi
+$INSMOD -f /modules/nls/nls_cp437$KEXT >/dev/null
+$INSMOD -f /modules/nls/nls_iso8859-1$KEXT >/dev/null
-if test -n "$USBBOOT2" -o -n "$USBBOOT1"
- then
-# load usb-modules first (so that memory-stick becomes /dev/sda1)
- echo "6" > /proc/sys/kernel/printk
-
- # NLS charsets required for VFAT-formatted USB drives
- $INSMOD -f /modules/nls/nls_iso8859-1$KEXT >/dev/null
- $INSMOD -f /modules/nls/nls_cp437$KEXT >/dev/null
+# SCSI modules need to be loaded before usb-storage
+$INSMOD -f /modules/scsi/scsi_mod$KEXT >/dev/null
+$INSMOD -f /modules/scsi/sg$KEXT >/dev/null
+$INSMOD -f /modules/scsi/sr_mod$KEXT >/dev/null
+$INSMOD -f /modules/scsi/sd_mod$KEXT >/dev/null
+$INSMOD -f /modules/scsi/st$KEXT >/dev/null
+
+$INSMOD -f /modules/usb/usbcore$KEXT >/dev/null
+
+$INSMOD -f /modules/usb/ehci-hcd$KEXT >/dev/null
+$INSMOD -f /modules/usb/uhci-hcd$KEXT >/dev/null
+$INSMOD -f /modules/usb/ohci-hcd$KEXT >/dev/null
+$INSMOD -f /modules/scsi/sd_mod$KEXT >/dev/null
+$INSMOD -f /modules/usb/usb-storage$KEXT >/dev/null
- # scsi_mod and sd_mod SCSI modules need to be loaded before usb-storage
- $INSMOD -f /modules/scsi/scsi_mod$KEXT >/dev/null
- $INSMOD -f /modules/usb/usbcore$KEXT >/dev/null
- FOUNDUSB=""
- if test -n "$USBBOOT2"
- then
- $INSMOD -f /modules/usb/ehci-hcd$KEXT >/dev/null && FOUNDUSB="yes"
- fi
- if test -n "$USBBOOT1"
- then
- $INSMOD -f /modules/usb/uhci-hcd$KEXT >/dev/null && FOUNDUSB="yes"
- $INSMOD -f /modules/usb/ohci-hcd$KEXT >/dev/null && FOUNDUSB="yes"
- fi
- $INSMOD -f /modules/scsi/sd_mod$KEXT >/dev/null
- $INSMOD -f /modules/usb/usb-storage$KEXT >/dev/null
+# Wait for devices to be registered
+sleep 2
+echo "0" > /proc/sys/kernel/printk
- # wait 5 seconds for usb device to be registered
- sleep 5
- echo "0" > /proc/sys/kernel/printk
-fi
-
# Check for a Firewire Cdrom boot -- thanatermesis
if test -z "$NOFIREWIRE"; then
@@ -282,21 +264,7 @@
fi
# End of FIREWIRE check
-# Unfortunately, hotpluggable devices tend to need some time in order to register
-if test -n "$FOUNDUSB" -o -n "$FOUNDFIREWIRE"; then
- echo -n "${CRE}${BLUE}Scanning for USB/Firewire devices... ${NORMAL}"
- if test -n "$FOUNDFIREWIRE"; then
-# Wait for driver to register
- sleep 2
-# Kernel 2.6 does this automatically
- case "$(cat /proc/version 2>/dev/null)" in *version\ 2.6.*) ;; *) for host in 0 1 2 3 4 5 6 7; do for channel in 0 1; do for id in 0 1 2 3 4 5 6 7; do echo "scsi add-single-device $host $channel $id 0" >/proc/scsi/scsi 2>/dev/null; done; done; done ;; esac
- fi
- sleep 6
- echo "${BLUE}Done.${NORMAL}"
-fi
-# <--- thanatermesis (Firewire)
-
# Check for SCSI, use modules on bootfloppy first
if test -n "$INTERACTIVE"; then
# Let the user select interactively
@@ -342,16 +310,12 @@
# Now that the right SCSI driver is (hopefully) loaded, try to find CDROM
DEVICES="/dev/hd?"
test -n "$FOUND_SCSI" -a -z "$NOCD" && DEVICES="/dev/scd? /dev/scd?? $DEVICES"
-# New: Also try parallel port CD-Roms [for Mike].
DEVICES="$DEVICES /dev/pcd?"
-# New: also check HD partitions for a MORPHIX/MORPHIX image
-test -n "$FOUND_SCSI" && DEVICES="$DEVICES /dev/sd?[1-9] /dev/sd?[1-9][0-9]"
-test -n "$USBBOOT2" -o -n "$USBBOOT1" && DEVICES="$DEVICES /dev/sda1"
+DEVICES="$DEVICES /dev/sd?[1-9] /dev/sd?[1-9][0-9]"
DEVICES="$DEVICES /dev/hd?[1-9] /dev/hd?[1-9][0-9]"
+DEVICES="/dev/scd? /dev/scd?? $DEVICES"
+DEVICES="$DEVICES /dev/hd?[1-9] /dev/hd?[1-9][0-9]"
-#UML device
-#DEVICES="$DEVICES /dev/ubd[1-9]"
-
MOUNT_IMAGE="cdrom"
MOUNT_OPT="ro"
#you could not define a directory with space
@@ -437,11 +401,9 @@
fi
fi
-# Harddisk-installed script part version has been removed
-# (MORPHIX can be booted directly from HD now).
if test -n "$FOUND_MORPHIX" -a -f /cdrom/base/morphix; then
-# DEBUG
+
if test -n "$DEBUG"; then
echo "6" > /proc/sys/kernel/printk
fi
@@ -450,15 +412,26 @@
$LOSETUP /dev/cloop /cdrom/base/morphix
mountit /dev/cloop /MorphixCD "-o ro" || FOUND_MORPHIX="" 2> /dev/null
else
- echo "Warning: unable to find base module!"
- echo ""
- echo "Dropping you to a simple shell. Make sure /cdrom/base/morphix exists!"
- PS1="morphix# "
- export PS1
- echo "6" > /proc/sys/kernel/printk
+ # Wait until any USB/SCSI devices have been registered, and try again
+ # This is a poor fallback, but tends to work for certain devices
+ sleep 10
+ mount /dev/scd0 /cdrom
+
+ if test -f /cdrom/base/morphix; then
+ $INSMOD -f /modules/cloop$KEXT 2> /dev/null
+ $LOSETUP /dev/cloop /cdrom/base/morphix
+ mountit /dev/cloop /MorphixCD "-o ro" || FOUND_MORPHIX="" 2> /dev/null
+ else
+ echo "Warning: unable to find base module!"
+ echo ""
+ echo "Dropping you to a simple shell. Make sure /cdrom/base/morphix exists!"
+ PS1="morphix# "
+ export PS1
+ echo "6" > /proc/sys/kernel/printk
# Allow signals
- trap 1 2 3 15
- exec /static/ash
+ trap 1 2 3 15
+ exec /static/ash
+ fi
fi
# COPYTORAM copied (ironic, isn't it?) from Fabian's linuxrc.rampatch 2003-07-26
Modified: trunk/scripts-base/miniroot/mkminiroot.sh
===================================================================
--- trunk/scripts-base/miniroot/mkminiroot.sh 2008-04-05 18:15:43 UTC (rev 2623)
+++ trunk/scripts-base/miniroot/mkminiroot.sh 2008-04-14 11:56:54 UTC (rev 2624)
@@ -179,7 +179,7 @@
cp $BASEDIR/lib/modules/*/extra/cloop.* $DESTDIR/modules/
cp $BASEDIR/lib/modules/*/kernel/drivers/cdrom/cdrom.* $DESTDIR/modules/
cp $BASEDIR/lib/modules/*/kernel/drivers/ide/ide-cd.* $DESTDIR/modules/
-cp $BASEDIR/lib/modules/*/kernel/drivers/scsi/{3w-xxxx.*,BusLogic.*,NCR53c406a.*,a100u2w.*,advansys.*,aha152x.*,aha1542.*,aic7xxx/aic7xxx.*,atp870u.*,dtc.*,eata.*,fdomain.*,gdth.*,initio.*,megaraid.*,pas16.*,psi240i.*,qlogicfas.*,qlogicfc.*,seagate.*,t128.*,tmscsim.*,u14-34f.*,ultrastor.*,wd7000.*} $DESTDIR/modules/scsi
+cp $BASEDIR/lib/modules/*/kernel/drivers/scsi/{3w-xxxx.*,BusLogic.*,NCR53c406a.*,a100u2w.*,advansys.*,aha152x.*,aha1542.*,aic7xxx/aic7xxx.*,atp870u.*,dtc.*,eata.*,fdomain.*,gdth.*,initio.*,megaraid.*,pas16.*,psi240i.*,qlogicfas.*,qlogicfc.*,seagate.*,t128.*,tmscsim.*,u14-34f.*,ultrastor.*,wd7000.*,sd_mod.*,sg.*,sr_mod.*,st.*} $DESTDIR/modules/scsi
cp $BASEDIR/lib/modules/*/kernel/drivers/scsi/{scsi_transport_spi.*,scsi_mod.*,qlogicfas408.*,sd_mod.*} $DESTDIR/modules/scsi
cp $BASEDIR/lib/modules/*/kernel/drivers/usb/{core/usbcore.*,host/ehci-hcd.*,host/ohci-hcd.*,host/uhci-hcd.*,storage/usb-storage.*} $DESTDIR/modules/usb
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference
Don't miss this year's exciting event. There's still time to save $100.
Use priority code J8TL2D2.
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone