VirtualBox

source: vbox/trunk/src/VBox/Additions/solaris/Installer/postinstall.sh@ 9402

Last change on this file since 9402 was 8963, checked in by vboxsync, 17 years ago

Solaris additions installer: inform user of rebooting during upgrading.
This is we cannot unload the guest kernel module cleanly because X11 drivers
are constantly using them, hence the user might end up using older kernel module
when he upgrades the additions.

  • Property svn:eol-style set to LF
  • Property svn:keywords set to Id
File size: 5.0 KB
Line 
1#!/bin/sh
2# Sun xVM VirtualBox
3# VirtualBox postinstall script for Solaris.
4#
5# Copyright (C) 2008 Sun Microsystems, Inc.
6#
7# This file is part of VirtualBox Open Source Edition (OSE), as
8# available from http://www.virtualbox.org. This file is free software;
9# you can redistribute it and/or modify it under the terms of the GNU
10# General Public License (GPL) as published by the Free Software
11# Foundation, in version 2 as it comes in the "COPYING" file of the
12# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
13# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
14#
15# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
16# Clara, CA 95054 USA or visit http://www.sun.com if you need
17# additional information or have any questions.
18#
19
20echo "Configuring VirtualBox guest kernel module..."
21
22sync
23vboxadditions_path="/opt/VirtualBoxAdditions"
24
25# vboxguest.sh would've been installed, we just need to call it.
26$vboxadditions_path/vboxguest.sh restart silentunload
27
28# suid permissions for timesync
29chmod 04755 $vboxadditions_path/VBoxService
30chmod a+x $vboxadditions_path/VBoxClient
31chmod a+x $vboxadditions_path/VBoxRandR.sh
32
33# create links
34echo "Creating links..."
35/usr/sbin/installf -c none $PKGINST /dev/vboxguest=../devices/pci@0,0/pci80ee,cafe@4:vboxguest s
36/usr/sbin/installf -c none $PKGINST /usr/bin/VBoxClient=$vboxadditions_path/VBoxClient s
37/usr/sbin/installf -c none $PKGINST /usr/bin/VBoxService=$vboxadditions_path/VBoxService s
38/usr/sbin/installf -c none $PKGINST /usr/bin/VBoxRandR=$vboxadditions_path/VBoxRandR.sh s
39
40# Install Xorg components to the required places
41xorgversion_long=`/usr/X11/bin/Xorg -version 2>&1 | grep "X Window System Version"`
42xorgversion=`/usr/bin/expr "${xorgversion_long}" : 'X Window System Version \([^ ]*\)'`
43
44vboxmouse_src=""
45vboxvideo_src=""
46
47case "$xorgversion" in
48 1.3.* )
49 vboxmouse_src="$vboxadditions_path/vboxmouse_drv_71.so"
50 vboxvideo_src="$vboxadditions_path/vboxvideo_drv_13.so"
51 ;;
52 1.4.* )
53 vboxmouse_src="$vboxadditions_path/vboxmouse_drv_14.so"
54 vboxvideo_src="$vboxadditions_path/vboxvideo_drv_14.so"
55 ;;
56 7.1.* | *7.2.* )
57 vboxmouse_src="$vboxadditions_path/vboxmouse_drv_71.so"
58 vboxvideo_src="$vboxadditions_path/vboxvideo_drv_71.so"
59 ;;
60 6.9.* | 7.0.* )
61 vboxmouse_src="$vboxadditions_path/vboxmouse_drv_70.so"
62 vboxvideo_src="$vboxadditions_path/vboxvideo_drv_70.so"
63 ;;
64esac
65
66retval=0
67if test -z "$vboxmouse_src"; then
68 echo "*** Unknown version of the X Window System installed."
69 echo "*** Failed to install the VirtualBox X Window System drivers."
70
71 # Exit as partially failed installation
72 retval=2
73else
74 echo "Configuring Xorg..."
75 vboxmouse_dest="/usr/X11/lib/modules/input/vboxmouse_drv.so"
76 vboxvideo_dest="/usr/X11/lib/modules/input/vboxvideo_drv.so"
77 /usr/sbin/installf -c none $PKGINST "$vboxmouse_dest" f
78 /usr/sbin/installf -c none $PKGINST "$vboxvideo_dest" f
79 cp "$vboxmouse_src" "$vboxmouse_dest"
80 cp "$vboxvideo_src" "$vboxvideo_dest"
81
82 # Removing redudant files
83 /usr/sbin/removef $PKGINST $vboxadditions_path/vboxmouse_drv_* 1>/dev/null 2>/dev/null
84 /usr/sbin/removef $PKGINST $vboxadditions_path/vboxvideo_drv_* 1>/dev/null 2>/dev/null
85 rm -f $vboxadditions_path/vboxmouse_drv_*
86 rm -f $vboxadditions_path/vboxvideo_drv_*
87 /usr/sbin/removef -f $PKGINST
88
89 # Some distros like Indiana have no xorg.conf, deal with this
90 if test ! -f '/etc/X11/xorg.conf' && test ! -f '/etc/X11/.xorg.conf'; then
91 mv -f $vboxadditions_path/solaris_xorg.conf /etc/X11/.xorg.conf
92 fi
93
94 $vboxadditions_path/x11config.pl
95fi
96
97
98# Setup our VBoxClient
99echo "Configuring client..."
100vboxclient_src=$vboxadditions_path
101vboxclient_dest="/usr/dt/config/Xsession.d"
102if test -d "$vboxclient_dest"; then
103 /usr/sbin/installf -c none $PKGINST "$vboxclient_dest/1099.vboxclient" f
104 cp "$vboxclient_src/1099.vboxclient" "$vboxclient_dest/1099.vboxclient"
105 chmod a+rx "$vboxclient_dest/1099.vboxclient"
106elif test -d "/usr/share/gnome/autostart"; then
107 vboxclient_dest="/usr/share/gnome/autostart"
108 /usr/sbin/installf -c none $PKGINST "$vboxclient_dest/vboxclient.desktop" f
109 cp "$vboxclient_src/vboxclient.desktop" "$vboxclient_dest/vboxclient.desktop"
110else
111 echo "*** Failed to configure client!! Couldn't find autostart directory."
112 retval=2
113fi
114
115
116# Remove redundant files
117/usr/sbin/removef $PKGINST $vboxadditions_path/etc/devlink.tab 1>/dev/null
118/usr/sbin/removef $PKGINST $vboxadditions_path/etc 1>/dev/null
119rm -rf $vboxadditions_path/etc
120/usr/sbin/removef -f $PKGINST
121
122/usr/sbin/installf -f $PKGINST
123
124
125# Setup our VBoxService SMF service
126echo "Configuring service..."
127
128/usr/sbin/svccfg import /var/svc/manifest/system/virtualbox/vboxservice.xml
129/usr/sbin/svcadm enable svc:/system/virtualbox/vboxservice
130
131/usr/sbin/devfsadm -i vboxguest
132
133echo "Done."
134if test $retval -eq 0; then
135 echo "Please re-login to activate the X11 guest additions."
136 echo "If you have just un-installed the previous guest additions a REBOOT is required."
137fi
138exit $retval
139
Note: See TracBrowser for help on using the repository browser.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette