diff options
author | ncopa <ncopa@f176ef85-8d20-0410-844a-e957b5a1c371> | 2008-01-22 07:51:55 +0000 |
---|---|---|
committer | ncopa <ncopa@f176ef85-8d20-0410-844a-e957b5a1c371> | 2008-01-22 07:51:55 +0000 |
commit | f748fb67f007c7453c8b4cea7439347df60f5ae7 (patch) | |
tree | 96c800fd622a7f5198a97dc2f6ea1aa693d5d331 | |
parent | fefde488e66c2977e1b93e790029eb72d97edeac (diff) | |
download | alpine-baselayout-f748fb67f007c7453c8b4cea7439347df60f5ae7.tar.bz2 alpine-baselayout-f748fb67f007c7453c8b4cea7439347df60f5ae7.tar.xz |
release 1.7.0. fixed mdev stuff
-rw-r--r-- | Makefile | 4 | ||||
-rwxr-xr-x | dvbdev | 18 | ||||
-rw-r--r-- | mdev.conf | 102 | ||||
-rw-r--r-- | subdir_dev | 48 | ||||
-rwxr-xr-x | usbdev | 59 |
5 files changed, 166 insertions, 65 deletions
@@ -1,4 +1,4 @@ -VERSION=1.6.1 +VERSION=1.7.0 PV =alpine-baselayout-$(VERSION) TARBALL =$(PV).tar.gz @@ -13,7 +13,7 @@ SBIN_FILES =runscript-alpine.sh functions.sh rc_add rc_delete rc_status\ modules-update ifenslave RC_SH_FILES =rc-services.sh UDHCPC_FILES =default.script -LIB_MDEV_FILES =ide_links sd_links subdir_dev usbdev +LIB_MDEV_FILES =ide_links sd_links subdir_dev usbdev dvbdev #USR_BIN_FILES =send-pr #GNATS_FILES =send-pr.template send-pr.conf SENDBUG_FILES =sendbug.conf @@ -0,0 +1,18 @@ +#!/bin/sh + +# MDEV=dvb0.demux1 -> ADAPTER=dvb0 -> N=0 +ADAPTER=${MDEV%.*} +N=${ADAPTER#dvb} +# MDEV=dvb0.demux1 -> DEVB_DEV=demux1 +DVB_DEV=${MDEV#*.} + +case "$ACTION" in + add|"") + mkdir -p dvb/adapter${N} + mv ${MDEV} dvb/adapter${N}/${DVB_DEV} + ;; + remove) + rm -f dvb/adapter${N}/${DVB_DEV} + rmdir dvb/adapter${N} 2>/dev/null + rmdir dvb/ 2>/dev/null +esac @@ -2,84 +2,86 @@ # This is a sample mdev.conf. # -SLEEP=10 - -# Symlinks: -# Syntax: %s -> %s -MAKEDEV -> ../sbin/MAKEDEV -/proc/core -> kcore -fd -> /proc/self/fd -mcdx -> mcdx0 -radio -> radio0 -ram -> ram1 -sbpcd -> sbpcd0 -sr0 -> scd0 -sr1 -> scd1 -sr10 -> scd10 -sr11 -> scd11 -sr12 -> scd12 -sr13 -> scd13 -sr14 -> scd14 -sr15 -> scd15 -sr16 -> scd16 -sr2 -> scd2 -sr3 -> scd3 -sr4 -> scd4 -sr5 -> scd5 -sr6 -> scd6 -sr7 -> scd7 -sr8 -> scd8 -sr9 -> scd9 -stderr -> fd/2 -stdin -> fd/0 -stdout -> fd/1 -vbi -> vbi0 -#vcs -> vcs0 -#vcsa -> vcsa0 -video -> video0 - # Devices: # Syntax: %s %d:%d %s # devices user:group mode -null root:root 777 -zero root:root 666 -grsec root:root 660 +# null does already exist; therefore ownerchip has to be changed with command +null root:root 0666 @chmod 666 $MDEV +zero root:root 0666 +grsec root:root 0660 +full root:root 0666 -urandom root:root 444 +random root:root 0666 +urandom root:root 0444 +hwrandom root:root 0660 -console root:tty 0600 +# console does already exist; therefore ownerchip has to be changed with command +console root:tty 0600 @chmod 600 $MDEV && mkdir vc && ln -sf ../$MDEV vc/0 fd0 root:floppy 0660 -kmem root:root 000 +kmem root:root 0640 mem root:root 0640 port root:root 0640 -ptmx root:tty 0660 +ptmx root:tty 0666 -sd[a-z][0-9]* root:disk 0660 */lib/mdev/sd_links -hd[a-z][0-9]* root:disk 0660 */lib/mdev/ide_links +# ram.* +ram[0-9]* root:disk 0660 */lib/mdev/subdir_dev -l -n rd +loop[0-9] root:disk 0660 */lib/mdev/subdir_dev -l -n loop +sd[a-z][0-9]* root:disk 0660 */lib/mdev/sd_links +hd[a-z][0-9]* root:disk 0660 */lib/mdev/ide_links md[0-9] root:disk 0660 tty root:tty 0666 -tty[0-9] root:tty 0660 +tty[0-9] root:root 0600 tty[0-9][0-9] root:tty 0660 -ttyS[0-9]* root:tty 640 +ttyS[0-9]* root:uucp 0660 +pty.* root:tty 0660 +vcs[0-9]* root:tty 0660 +vcsa[0-9]* root:tty 0660 + ttyLTM[0-9] root:dialout 0660 @ln -sf $MDEV modem ttySHSF[0-9] root:dialout 0660 @ln -sf $MDEV modem slamr root:dialout 0660 @ln -sf $MDEV slamr0 slusb root:dialout 0660 @ln -sf $MDEV slusb0 -video.* root:video 0660 fuse root:root 0666 -# alsa sound devices +# dri device +card[0-9] root:video 0660 */lib/mdev/subdir_dev dri + +# alsa sound devices and audio stuff pcm.* root:audio 0660 */lib/mdev/subdir_dev snd control.* root:audio 0660 */lib/mdev/subdir_dev snd midi.* root:audio 0660 */lib/mdev/subdir_dev snd seq root:audio 0660 */lib/mdev/subdir_dev snd timer root:audio 0660 */lib/mdev/subdir_dev snd +adsp root:audio 0660 */lib/mdev/subdir_dev -l sound +audio root:audio 0660 */lib/mdev/subdir_dev -l sound +dsp root:audio 0660 */lib/mdev/subdir_dev -l sound +mixer root:audio 0660 */lib/mdev/subdir_dev -l sound +sequencer.* root:audio 0660 */lib/mdev/subdir_dev -l sound + +# misc stuff +agpgart root:root 0660 */lib/mdev/subdir_dev -l misc +psaux root:root 0660 */lib/mdev/subdir_dev -l misc +rtc root:root 0664 */lib/mdev/subdir_dev -l misc + +# input stuff +mice root:root 0640 */lib/mdev/subdir_dev input +mouse[0-9] root:root 0640 */lib/mdev/subdir_dev input +ts[0-9] root:root 0600 */lib/mdev/subdir_dev input + +# v4l stuff +vbi[0-9] root:video 0660 */lib/mdev/subdir_dev -l v4l +video[0-9] root:video 0660 */lib/mdev/subdir_dev -l v4l + +# dvb stuff +dvb.* root:video 0660 */lib/mdev/dvbdev + # load drivers for usb devices -usbdev[0-9].* root:root 0660 */lib/mdev/usbdev +usbdev[0-9].[0-9] root:root 0660 */lib/mdev/usbdev +usbdev[0-9].[0-9]_.* root:root 0660 # net devices tun[0-9]* root:root 0600 */lib/mdev/subdir_dev net @@ -1,12 +1,48 @@ #!/bin/sh # scripts that moves devices to the $1/ subdir. +# usage: subdir_dev [-ln] DIR [NEW_NAME] +# options: +# -l create link (i.e. /dev/pcm0 -> /dev/snd/pcm0) +# -n devicename from number (i.e. /dev/loop0 => /dev/loop/0) -if [ "$ACTION" = remove ] ; then - mv $1/$MDEV $MDEV - rmdir $1 2>/dev/null -else - mkdir -p $1 - mv $MDEV $1/$2 +while getopts "ln" opt; do + case "$opt" in + l) link=1 + ;; + n) dev=${MDEV%[0-9]*} + new_name=${MDEV#${dev}} + ;; + esac +done +shift $(( $OPTIND - 1 )) + +if [ -n "$2" ]; then + new_name="$2" fi +case "$ACTION" in + add|"") + mkdir -p $1 + mv $MDEV $1/$new_name + if [ "$link" = 1 ] ; then + if [ -z "$new_name" ] ; then + ln -snf $1/$MDEV $MDEV + else + ln -snf $1/$new_name $MDEV + fi + fi + ;; + remove) + if [ "$link" = 1 ] ; then + rm -f $MDEV + fi + if [ -z "$new_name" ]; then + mv $1/$MDEV $MDEV + else + mv $1/$new_name $MDEV + fi + rmdir $1 2>/dev/null + ;; +esac + @@ -1,17 +1,62 @@ #!/bin/sh +# script is buggy; until patched just do exit 0 +#exit 0 + +# add zeros to device or bus +add_zeros () { + case "$(echo $1 | wc -L)" in + 1) echo "00$1" ;; + 2) echo "0$1" ;; + *) echo "$1" + esac + exit 0 +} + + +# bus and device dirs in /sys +local USB_PATH=$(echo $MDEV | sed -e 's/usbdev\([0-9]\).[0-9]/usb\1/') +USB_PATH=$(find /sys/devices -type d -name "$USB_PATH") +local USB_DEV_DIR=$(echo $MDEV | sed -e 's/usbdev\([0-9]\).\([0-9]\)/\1-\2/') + +# dir names in /dev +local BUS=$(add_zeros $(echo $MDEV | sed -e 's/^usbdev\([0-9]\).[0-9]/\1/')) +local USB_DEV=$(add_zeros $(echo $MDEV | sed -e 's/^usbdev[0-9].\([0-9]\)/\1/')) + + # try to load the proper driver for usb devices case "$ACTION" in add|"") - for i in /sys/class/usb_device/$MDEV/device/*/modalias ; do - [ -r "$i" ] && modprobe `cat $i` 2>/dev/null + # load usb bus driver + for i in $USB_PATH/*/modalias ; do + modprobe `cat $i` 2>/dev/null done + # load usb device driver if existent + if [ -d $USB_PATH/$USB_DEV_DIR ]; then + for i in $USB_PATH/$USB_DEV_DIR/*/modalias ; do + modprobe `cat $i` 2>/dev/null + done + fi + # move usb device file + mkdir -p bus/usb/$BUS + mv $MDEV bus/usb/$BUS/$USB_DEV ;; remove) - for i in /sys/class/usb_device/$MDEV/device/*/modalias ; do - [ -r "$i" ] && modprobe -r `cat $i` 2>/dev/null + # unload device driver, if device dir is existent + if [ -d $USB_PATH/$USB_DEV_DIR ]; then + for i in $USB_PATH/$USB_DEV_DIR/*/modalias ; do + modprobe -r `cat $i` 2>/dev/null done + fi + # unload usb bus driver. Does this make sense? + # what happens, if two usb devices are plugged in + # and one is removed? + for i in $USB_PATH/*/modalias ; do + modprobe -r `cat $i` 2>/dev/null + done + # remove device file and possible empty dirs + rm -f bus/usb/$BUS/$USB_DEV + rmdir bus/usb/$BUS/ 2>/dev/null + rmdir bus/usb/ 2>/dev/null + rmdir bus/ 2>/dev/null esac - -# we dont want the ugly usbdev[0-9].[0-9] dev. -rm -f $MDEV |