[oe-commits] Jonathan Cameron : IMote2 specific udev config
git version control
git at git.openembedded.org
Sun Jan 24 10:39:20 UTC 2010
Module: openembedded.git
Branch: holger/staging-branch
Commit: 21c6558865514373690a3cf4acef1b004807bb10
URL: http://gitweb.openembedded.net/?p=openembedded.git&a=commit;h=21c6558865514373690a3cf4acef1b004807bb10
Author: Jonathan Cameron <jic23 at cam.ac.uk>
Date: Wed Nov 4 09:52:44 2009 +0000
IMote2 specific udev config
Signed-off-by: Jonathan Cameron <jic23 at cam.ac.uk>
---
recipes/udev/udev-141/imote2/init | 81 ++++++++++++++++++++++++++++++
recipes/udev/udev-141/imote2/local.rules | 45 ++++++++++++++++
2 files changed, 126 insertions(+), 0 deletions(-)
diff --git a/recipes/udev/udev-141/imote2/init b/recipes/udev/udev-141/imote2/init
new file mode 100644
index 0000000..0599ee0
--- /dev/null
+++ b/recipes/udev/udev-141/imote2/init
@@ -0,0 +1,81 @@
+#!/bin/sh -e
+
+### BEGIN INIT INFO
+# Provides: udev
+# Required-Start: mountvirtfs
+# Required-Stop:
+# Default-Start: S
+# Default-Stop:
+# Short-Description: Start udevd, populate /dev and load drivers.
+### END INIT INFO
+
+export TZ=/etc/localtime
+
+[ -d /sys/class ] || exit 1
+[ -r /proc/mounts ] || exit 1
+[ -x /sbin/udevd ] || exit 1
+[ -f /etc/default/udev ] && . /etc/default/udev
+[ -f /etc/udev/udev.conf ] && . /etc/udev/udev.conf
+
+kill_udevd() {
+ if [ -x /sbin/pidof ]; then
+ pid=`/sbin/pidof -x udevd`
+ [ -n "$pid" ] && kill $pid
+ fi
+}
+
+export ACTION=add
+# propagate /dev from /sys
+echo "Starting udev"
+
+# mount the tmpfs on /dev, if not already done
+LANG=C awk "\$2 == \"/dev\" && \$4 == \"tmpfs\" { exit 1 }" /proc/mounts && {
+ mount -n -o mode=0755,nr_inodes=7454 -t tmpfs none "/dev"
+ mkdir -m 0755 /dev/pts
+ mkdir -m 1777 /dev/shm
+}
+
+if [ "$DEVCACHE" != "" ]; then
+ # Invalidate udev cache if the kernel or its bootargs/cmdline have changed
+ [ -x /bin/uname ] && /bin/uname -mrspv > /tmp/uname || touch /tmp/uname
+ [ -r /proc/cmdline ] && cat /proc/cmdline > /tmp/cmdline || touch /tmp/cmdline
+ [ -r /proc/atags ] && cat /proc/atags > /tmp/atags || touch /tmp/atags
+ if [ -e $DEVCACHE ] && \
+ cmp -s /tmp/uname /etc/udev/saved.uname && \
+ cmp -s /tmp/cmdline /etc/udev/saved.cmdline && \
+ cmp -s /tmp/atags /etc/udev/saved.atags; then
+ (cd /; tar xf $DEVCACHE)
+ not_first_boot=1
+ fi
+fi
+
+# make_extra_nodes
+kill_udevd > "/dev/null" 2>&1
+
+ # trigger the sorted events
+ echo -e '\000\000\000\000' > /proc/sys/kernel/hotplug
+ /sbin/udevd -d
+
+ /sbin/udevadm control --env STARTUP=1
+ if [ "$not_first_boot" != "" ];then
+ /sbin/udevadm trigger --subsystem-nomatch=tty --subsystem-nomatch=mem --subsystem-nomatch=vc --subsystem-nomatch=vtconsole --subsystem-nomatch=misc --subsystem-nomatch=dcon --subsystem-nomatch=pci_bus --subsystem-nomatch=graphics --subsystem-nomatch=backlight --subsystem-nomatch=video4linux --subsystem-nomatch=platform
+ (/sbin/udevadm settle --timeout=3; /sbin/udevadm control --env STARTUP=)&
+ if [ "$DEVCACHE" != "" ]; then
+ rm -f /tmp/uname
+ rm -f /tmp/cmdline
+ rm -f /tmp/atags
+ fi
+ else
+ /sbin/udevadm trigger
+ /sbin/udevadm settle
+ if [ "$DEVCACHE" != "" ]; then
+ echo -n "Populating dev cache"
+ (cd /; tar cf $DEVCACHE dev)
+ mv /tmp/uname /etc/udev/saved.uname
+ mv /tmp/cmdline /etc/udev/saved.cmdline
+ mv /tmp/atags /etc/udev/saved.atags
+ echo
+ fi
+ fi
+
+exit 0
diff --git a/recipes/udev/udev-141/imote2/local.rules b/recipes/udev/udev-141/imote2/local.rules
new file mode 100644
index 0000000..241156b
--- /dev/null
+++ b/recipes/udev/udev-141/imote2/local.rules
@@ -0,0 +1,45 @@
+# There are a number of modifiers that are allowed to be used in some
+# of the different fields. They provide the following subsitutions:
+#
+# %n the "kernel number" of the device.
+# For example, 'sda3' has a "kernel number" of '3'
+# %e the smallest number for that name which does not matches an existing node
+# %k the kernel name for the device
+# %M the kernel major number for the device
+# %m the kernel minor number for the device
+# %b the bus id for the device
+# %c the string returned by the PROGRAM
+# %s{filename} the content of a sysfs attribute
+# %% the '%' char itself
+#
+
+# Media automounting
+SUBSYSTEM=="block", ACTION=="add" RUN+="/etc/udev/scripts/mount.sh"
+SUBSYSTEM=="block", ACTION=="remove" RUN+="/etc/udev/scripts/mount.sh"
+
+# Handle network interface setup
+SUBSYSTEM=="net", ACTION=="add" RUN+="/etc/udev/scripts/network.sh"
+SUBSYSTEM=="net", ACTION=="remove" RUN+="/etc/udev/scripts/network.sh"
+
+# The first rtc device is symlinked to /dev/rtc
+KERNEL=="rtc0", SYMLINK+="rtc"
+
+#The first framebuffer is symlinked to /dev/fb
+KERNEL=="fb0", SYMLINK+="fb"
+
+# Try and modprobe for drivers for new hardware
+ACTION=="add", DEVPATH=="/devices/*", ENV{MODALIAS}=="?*", RUN+="/sbin/modprobe $env{MODALIAS}"
+
+# Create a symlink to any touchscreen input device
+SUBSYSTEM=="input", KERNEL=="event[0-9]*", SYSFS{modalias}=="input:*-e0*,3,*a0,1,*18,*", SYMLINK+="input/touchscreen0"
+SUBSYSTEM=="input", KERNEL=="event[0-9]*", SYSFS{modalias}=="ads7846", SYMLINK+="input/touchscreen0"
+
+KERNEL=="ring_event_line*", ID=="0-0034", NAME="iio/max1363_ring_event"
+KERNEL=="ring_access*", ID=="0-0034", NAME="iio/max1363_ring_access"
+
+KERNEL=="ring_event_line*", ID=="spi1.0", DRIVER=="lis3l02dq", NAME="iio/lis3l02dq_ring_event"
+KERNEL=="event_line*", ID=="spi1.0", DRIVER=="lis3l02dq", NAME="iio/lis3l02dq_event"
+KERNEL=="ring_access*", ID=="spi1.0", DRIVER=="lis3l02dq", NAME="iio/lis3l02dq_ring_access"
+
+KERNEL=="ring_event_line*", ID=="0-0035", NAME="iio/max1239_ring_event"
+KERNEL=="ring_access*", ID=="0-0035", NAME="iio/max1239_ring_access"
More information about the Openembedded-commits
mailing list