SVN: rc-scripts/trunk: firmware-loader.sh rc.d/rc.sysinit
zbyniu
zbyniu at pld-linux.org
Tue Jul 21 20:25:32 CEST 2009
Author: zbyniu
Date: Tue Jul 21 20:25:31 2009
New Revision: 10422
Added:
rc-scripts/trunk/firmware-loader.sh (contents, props changed)
Modified:
rc-scripts/trunk/rc.d/rc.sysinit
Log:
- added firmware-loader.sh for autoload firmware on systems w/o udev
Added: rc-scripts/trunk/firmware-loader.sh
==============================================================================
--- (empty file)
+++ rc-scripts/trunk/firmware-loader.sh Tue Jul 21 20:25:31 2009
@@ -0,0 +1,26 @@
+#!/bin/sh -e
+
+FIRMWARE_DIRS="/lib/firmware/updates/$(uname -r) /lib/firmware/updates \
+ /lib/firmware/$(uname -r) /lib/firmware"
+
+err() {
+ echo "$@" >&2
+ logger -t "${0##*/}[$$]" "$@" 2>/dev/null || true
+}
+
+if [ ! -e /sys$DEVPATH/loading ]; then
+ err "firmware loader misses sysfs directory"
+ exit 1
+fi
+
+for DIR in $FIRMWARE_DIRS; do
+ [ -e "$DIR/$FIRMWARE" ] || continue
+ echo 1 > /sys$DEVPATH/loading
+ cat "$DIR/$FIRMWARE" > /sys$DEVPATH/data
+ echo 0 > /sys$DEVPATH/loading
+ exit 0
+done
+
+echo -1 > /sys$DEVPATH/loading
+err "Cannot find firmware file '$FIRMWARE'"
+exit 1
Modified: rc-scripts/trunk/rc.d/rc.sysinit
==============================================================================
--- rc-scripts/trunk/rc.d/rc.sysinit (original)
+++ rc-scripts/trunk/rc.d/rc.sysinit Tue Jul 21 20:25:31 2009
@@ -203,7 +203,11 @@
fi
if ! is_no "$START_UDEV"; then
- [ -x /sbin/start_udev ] && /sbin/start_udev
+ if [ -x /sbin/start_udev ]; then
+ /sbin/start_udev
+ elif [ -x /lib/firmware/firmware-loader.sh ]; then
+ /sbin/sysctl -e -w kernel.hotplug=/lib/firmware/firmware-loader.sh
+ fi
fi
# Unmount the initrd, if necessary
More information about the pld-cvs-commit
mailing list