diff options
author | cinap_lenrek <cinap_lenrek@localhost> | 2011-08-01 02:55:39 +0200 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@localhost> | 2011-08-01 02:55:39 +0200 |
commit | 6f3039351a35eb4310cfa1fc5dec802e74ad73f8 (patch) | |
tree | 8fffdc056a5b071099c1ec3fe06f9b3334dfe757 | |
parent | b43de8eb1fb64d545b12b987646a5823d2e42caf (diff) | |
download | plan9front-6f3039351a35eb4310cfa1fc5dec802e74ad73f8.tar.xz |
nusb: add /rc/bin/nusbrc
-rwxr-xr-x | rc/bin/cpurc | 4 | ||||
-rw-r--r-- | rc/bin/nusbrc | 31 | ||||
-rwxr-xr-x | rc/bin/termrc | 4 |
3 files changed, 37 insertions, 2 deletions
diff --git a/rc/bin/cpurc b/rc/bin/cpurc index 482b13259..61cc32e4a 100755 --- a/rc/bin/cpurc +++ b/rc/bin/cpurc @@ -7,7 +7,9 @@ for(i in m i P S t u '$') bind -a '#'^$i /dev >/dev/null >[2=1] mount -qb /srv/cons /dev -mount -qa /srv/usb /dev + +# usb listener +nusbrc # mount points mntgen -s slashn && chmod 666 /srv/slashn diff --git a/rc/bin/nusbrc b/rc/bin/nusbrc new file mode 100644 index 000000000..624ec527e --- /dev/null +++ b/rc/bin/nusbrc @@ -0,0 +1,31 @@ +#!/bin/rc + +if(! test -e '#σ/usb/usbevent') + exit +if(! bind -a '#u' /dev) + exit + +@{ + rfork ne + fn attach { + switch($4){ + case *01 + nusb/audio $1 + case *02 + # serial and ethernet + nusb/serial $1 + case *03 + # handled /sys/src/9/boot/nusbrc + # nusb/kb $1 + case *08 + # handled /sys/src/9/boot/nusbrc + # nusb/disk $1 + } + } + fn detach { + # handled /sys/src/9/boot/nusbrc + } + rc < '#σ/usb/usbevent' & +} + +bind -a '#σ/usb' /dev diff --git a/rc/bin/termrc b/rc/bin/termrc index 42d38508e..96430b033 100755 --- a/rc/bin/termrc +++ b/rc/bin/termrc @@ -10,7 +10,9 @@ for(i in S f k t m i v L P u U A '$' Σ κ) rm -f /env/i mount -qb /srv/cons /dev -mount -qa /srv/usb /dev + +# usb listener +nusbrc # set up any partitions diskparts |