wok rev 14004
virtualbox-ose: add host usb devices support
author | ernia <monghitri@aruba.it> |
---|---|
date | Sat Feb 16 21:05:29 2013 +0000 (2013-02-16) |
parents | d9abc342bfd6 |
children | bc7e7bf309a8 |
files | virtualbox-ose/receipt virtualbox-ose/stuff/10-vboxdrv.rules virtualbox-ose/stuff/60-vboxguest.rules |
line diff
1.1 --- a/virtualbox-ose/receipt Sat Feb 16 15:38:33 2013 +0100 1.2 +++ b/virtualbox-ose/receipt Sat Feb 16 21:05:29 2013 +0000 1.3 @@ -18,13 +18,13 @@ 1.4 xorg-libXrandr-dev python python-dev xalan-c curl-dev xalan-c-dev \ 1.5 xerces-c-dev openssl-dev zlib-dev libcap-dev glib-dev libvncserver-dev \ 1.6 pam pam-dev bzip2 linux-module-headers pkg-config tar wget vde2-dev \ 1.7 -libpng-dev gsoap-dev libdevmapper-dev" 1.8 +libpng-dev gsoap-dev libdevmapper-dev makeself" 1.9 1.10 # Rules to configure and make the package. 1.11 compile_rules() 1.12 { 1.13 cd $src 1.14 - patch -Np1 -i "$stuff/virtualbox-4-makeself-check.patch" 1.15 + #patch -Np1 -i "$stuff/virtualbox-4-makeself-check.patch" 1.16 #patch -Np1 -i "$stuff/virtualbox-4-mkisofs-check.patch" 1.17 cp $stuff/LocalConfig.kmk . 1.18 ./configure \ 1.19 @@ -39,7 +39,7 @@ 1.20 1.21 # build modules. NOTE: we gor ERROR even if it build and cook will exit 1.22 # sed ERROR to error. 1.23 - cd 1.24 + #cd 1.25 KERN_DIR=/usr/src/linux make -C "$src/out/linux.$BUILD_PLATFORM_ARCH/release/bin/src" 1.26 # build guest additions modules 1.27 KERN_DIR=/usr/src/linux make -C "$src/out/linux.$BUILD_PLATFORM_ARCH/release/bin/additions/src" 1.28 @@ -107,8 +107,10 @@ 1.29 echo 'INSTALL_DIR=/usr/lib/virtualbox' >> "$fs/etc/vbox/vbox.cfg" 1.30 1.31 #udev 1.32 - install -D -m 0644 "$stuff/60-virtualbox.rules" \ 1.33 - "$fs/etc/udev/rules.d/60-virtualbox.rules" 1.34 + #install -D -m 0644 "$stuff/60-virtualbox.rules" \ 1.35 + #"$fs/etc/udev/rules.d/60-virtualbox.rules" 1.36 + install -D -m 0644 "$stuff/10-vboxdrv.rules" \ 1.37 + "$fs/etc/udev/rules.d/10-vboxdrv.rules" 1.38 1.39 mkdir -p $fs/usr/lib/virtualbox/sdk/bindings/xpcom/python/ 1.40 cd sdk/installer 1.41 @@ -121,16 +123,18 @@ 1.42 chmod 644 $fs/usr/lib/virtualbox/sdk/bindings/xpcom/python/xpcom/client/*.py 1.43 cd $src/out/linux.$BUILD_PLATFORM_ARCH/release/bin 1.44 1.45 - # virtualbox-modules 1.46 - KERNEL_VERSION=`grep ^VERSION= $WOK/linux/receipt | cut -d "=" -f2 | sed -e 's/"//g'` 1.47 - 1.48 - #cooking installs module in linux major version dir 1.49 - KERNEL_VERSION=${KERNEL_VERSION:0:3} 1.50 + 1.51 + 1.52 + KERNEL_VERSION=$(grep ^VERSION= $WOK/linux/receipt | cut -d "=" -f2 | sed -e 's/"//g') 1.53 + #cooking installs modules in linux major version dir 1.54 + KBASEVER="${KERNEL_VERSION:0:3}" 1.55 + 1.56 1.57 cd "$src/out/linux.$BUILD_PLATFORM_ARCH/release/bin/src" 1.58 - install -D -m644 vboxdrv.ko "$fs/lib/modules/$KERNEL_VERSION-slitaz/misc/vboxdrv.ko" 1.59 - install -D -m644 vboxnetflt.ko "$fs/lib/modules/$KERNEL_VERSION-slitaz/misc/vboxnetflt.ko" 1.60 - install -D -m644 vboxnetadp.ko "$fs/lib/modules/$KERNEL_VERSION-slitaz/misc/vboxnetadp.ko" 1.61 + install -D -m644 vboxdrv.ko "$fs/lib/modules/$KBASEVER-slitaz/misc/vboxdrv.ko" 1.62 + install -D -m644 vboxnetflt.ko "$fs/lib/modules/$KBASEVER-slitaz/misc/vboxnetflt.ko" 1.63 + install -D -m644 vboxnetadp.ko "$fs/lib/modules/$KBASEVER-slitaz/misc/vboxnetadp.ko" 1.64 + #install -D -m644 vboxpci.ko "$fs/lib/modules/$KBASEVER-slitaz/misc/vboxpci.ko" 1.65 1.66 # virtualbox-ose-additions 1.67 1.68 @@ -166,33 +170,44 @@ 1.69 1.70 cd vboxguest 1.71 install -D -m644 vboxguest.ko \ 1.72 - "$fs/lib/modules/$KERNEL_VERSION-slitaz/misc/vboxguest.ko" 1.73 + "$fs/lib/modules/$KBASEVER-slitaz/misc/vboxguest.ko" 1.74 1.75 cd ../vboxsf 1.76 install -D -m644 vboxsf.ko \ 1.77 - "$fs/lib/modules/$KERNEL_VERSION-slitaz/misc/vboxsf.ko" 1.78 + "$fs/lib/modules/$KBASEVER-slitaz/misc/vboxsf.ko" 1.79 1.80 cd ../vboxvideo 1.81 install -D -m644 vboxvideo.ko \ 1.82 - "$fs/lib/modules/$KERNEL_VERSION-slitaz/misc/vboxvideo.ko" 1.83 + "$fs/lib/modules/$KBASEVER-slitaz/misc/vboxvideo.ko" 1.84 1.85 install -D -m 0644 "$stuff/60-vboxguest.rules" \ 1.86 "$fs/etc/udev/rules.d/60-vboxguest.rules" 1.87 + 1.88 } 1.89 1.90 pre_remove() 1.91 { 1.92 - sed -i "s/vboxdrv vboxnetadp vboxnetflt //" $1/etc/rcS.conf 1.93 + #sed -i "s/vboxdrv vboxnetadp vboxnetflt vboxpci//" $1/etc/rcS.conf 1.94 + sed -i "s/vboxdrv vboxnetadp vboxnetflt//" $1/etc/rcS.conf 1.95 + delgroup vboxusers 1.96 } 1.97 1.98 post_install() 1.99 { 1.100 - KERNEL_VERSION=`grep ^VERSION= $1/var/lib/tazpkg/installed/linux/receipt | cut -d "=" -f2 | sed -e 's/"//g'` 1.101 - 1.102 - #cooking installs module in linux major version dir 1.103 - KERNEL_VERSION=${KERNEL_VERSION:0:3} 1.104 - 1.105 - chroot "$1/" depmod -a $KERNEL_VERSION-slitaz 1.106 + #chroot "$1/" 1.107 + KERNEL_VERSION=$(uname -r) 1.108 + depmod -a $KERNEL_VERSION 1.109 + #modprobe -a vboxdrv vboxnetadp vboxnetflt vboxpci 1.110 + modprobe -a vboxdrv vboxnetadp vboxnetflt 1.111 grep -qs vboxdrv $1/etc/rcS.conf || 1.112 - sed -i 's/LOAD_MODULES="/&vboxdrv vboxnetadp vboxnetflt /' $1/etc/rcS.conf 1.113 + #sed -i 's/LOAD_MODULES="/&vboxdrv vboxnetadp vboxnetflt vboxpci/' /etc/rcS.conf 1.114 + sed -i 's/LOAD_MODULES="/&vboxdrv vboxnetadp vboxnetflt/' /etc/rcS.conf 1.115 + grep -qs vboxuser /etc/group || addgroup -g 199 vboxusers 1.116 + echo "add yourself to vboxusers group if you want to access host" 1.117 + echo "usb devices: addgroup $USER vboxusers" 1.118 + #echo "then logout and login again" 1.119 + echo "then reboot, until i find how to make udev do what it should without reboot..." 1.120 + #addgroup $USER vboxusers 1.121 + udevadm control --reload 1.122 + udevadm trigger 1.123 }
2.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 2.2 +++ b/virtualbox-ose/stuff/10-vboxdrv.rules Sat Feb 16 21:05:29 2013 +0000 2.3 @@ -0,0 +1,5 @@ 2.4 +KERNEL=="vboxdrv", NAME="vboxdrv", OWNER="root", GROUP="root", MODE="0600" ENV{ACL_MANAGE}="1" 2.5 +SUBSYSTEM=="usb_device", ACTION=="add", RUN="/usr/share/virtualbox/VBoxCreateUSBNode.sh $major $minor $attr{bDeviceClass} vboxusers" 2.6 +SUBSYSTEM=="usb", ACTION=="add", ENV{DEVTYPE}=="usb_device", RUN="/usr/share/virtualbox/VBoxCreateUSBNode.sh $major $minor $attr{bDeviceClass} vboxusers" 2.7 +SUBSYSTEM=="usb_device", ACTION=="remove", RUN="/usr/share/virtualbox/VBoxCreateUSBNode.sh --remove $major $minor" 2.8 +SUBSYSTEM=="usb", ACTION=="remove", ENV{DEVTYPE}=="usb_device", RUN="/usr/share/virtualbox/VBoxCreateUSBNode.sh --remove $major $minor
3.1 --- a/virtualbox-ose/stuff/60-vboxguest.rules Sat Feb 16 15:38:33 2013 +0100 3.2 +++ b/virtualbox-ose/stuff/60-vboxguest.rules Sat Feb 16 21:05:29 2013 +0000 3.3 @@ -1,1 +1,2 @@ 3.4 -ACTION=="add", KERNEL=="vboxguest", GROUP="vboxusers", SUBSYSTEM=="misc", OWNER="root", MODE="0600" 3.5 +ACTION=="add", KERNEL=="vboxguest", SUBSYSTEM=="misc", OWNER="root", MODE="0600" 3.6 +ACTION=="add", KERNEL=="vboxuser", SUBSYSTEM=="misc", OWNER="root", MODE="0660"