VirtualBox

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

Last change on this file since 15921 was 15921, checked in by vboxsync, 16 years ago

Solaris/installer: Changes for #3381 (combined package).

  • Property svn:eol-style set to LF
  • Property svn:keywords set to Author Date Id Revision
File size: 5.5 KB
Line 
1#!/bin/sh
2## @file
3# Sun xVM VirtualBox
4# VirtualBox postinstall script for Solaris.
5#
6
7#
8# Copyright (C) 2007-2008 Sun Microsystems, Inc.
9#
10# This file is part of VirtualBox Open Source Edition (OSE), as
11# available from http://www.virtualbox.org. This file is free software;
12# you can redistribute it and/or modify it under the terms of the GNU
13# General Public License (GPL) as published by the Free Software
14# Foundation, in version 2 as it comes in the "COPYING" file of the
15# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
16# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
17#
18# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
19# Clara, CA 95054 USA or visit http://www.sun.com if you need
20# additional information or have any questions.
21#
22
23# Check for xVM/Xen
24currentisa=`uname -i`
25if test "$currentisa" = "i86xpv"; then
26 echo "## VirtualBox cannot run under xVM Dom0! Fatal Error, Aborting installation!"
27 exit 2
28fi
29
30currentzone=`zonename`
31if test "$currentzone" = "global"; then
32 echo "Configuring VirtualBox kernel modules..."
33 /opt/VirtualBox/vboxdrv.sh stopall silentunload checkarch
34 rc=$?
35 if test "$rc" -eq 0; then
36 /opt/VirtualBox/vboxdrv.sh start
37 rc=$?
38 if test "$rc" -eq 0; then
39 if test -f /platform/i86pc/kernel/drv/vboxflt.conf; then
40 /opt/VirtualBox/vboxdrv.sh fltstart
41 rc=$?
42 fi
43 fi
44 fi
45
46 # Fail on any errors while unloading previous modules because it makes it very hard to
47 # track problems when older vboxdrv is hanging about in memory and add_drv of the new
48 # one suceeds and it appears as though the new one is being used.
49 if test "$rc" -ne 0; then
50 echo "## Configuration failed. Aborting installation."
51 exit 2
52 fi
53fi
54
55# create symlinks and hardlinks
56VBOXBASEDIR="/opt/VirtualBox"
57SYSISAEXEC="/usr/lib/isaexec"
58echo "Creating links..."
59if test -f "$VBOXBASEDIR/amd64/VirtualBox" || test -f "$VBOXBASEDIR/i386/VirtualBox"; then
60 /usr/sbin/installf -c none $PKGINST /usr/bin/VirtualBox=$VBOXBASEDIR/VBox.sh s
61 /usr/sbin/installf -c none $PKGINST /usr/bin/VBoxQtconfig=$VBOXBASEDIR/VBox.sh s
62 /usr/sbin/installf -c none $PKGINST $VBOXBASEDIR/VirtualBox f
63 /usr/sbin/installf -c none $PKGINST $VBOXBASEDIR/VBoxQtconfig f
64 ln -f $VBOXBASEDIR/VBoxISAExec $VBOXBASEDIR/VirtualBox
65 ln -f $VBOXBASEDIR/VBoxISAExec $VBOXBASEDIR/VBoxQtconfig
66fi
67/usr/sbin/installf -c none $PKGINST /usr/bin/VBoxManage=$VBOXBASEDIR/VBox.sh s
68/usr/sbin/installf -c none $PKGINST /usr/bin/VBoxSDL=$VBOXBASEDIR/VBox.sh s
69/usr/sbin/installf -c none $PKGINST $VBOXBASEDIR/VBoxManage f
70/usr/sbin/installf -c none $PKGINST $VBOXBASEDIR/VBoxSDL f
71/usr/sbin/installf -c none $PKGINST $VBOXBASEDIR/vboxwebsrv f
72/usr/sbin/installf -c none $PKGINST $VBOXBASEDIR/webtest f
73/usr/sbin/installf -c none $PKGINST $VBOXBASEDIR/VBoxZoneAccess f
74ln -f $VBOXBASEDIR/VBoxISAExec $VBOXBASEDIR/VBoxManage
75ln -f $VBOXBASEDIR/VBoxISAExec $VBOXBASEDIR/VBoxSDL
76ln -f $VBOXBASEDIR/VBoxISAExec $VBOXBASEDIR/vboxwebsrv
77ln -f $VBOXBASEDIR/VBoxISAExec $VBOXBASEDIR/webtest
78ln -f $VBOXBASEDIR/VBoxISAExec $VBOXBASEDIR/VBoxZoneAccess
79if test -f "$VBOXBASEDIR/amd64/VBoxBFE" || test -f "$VBOXBASEDIR/i386/VBoxBFE"; then
80 /usr/sbin/installf -c none $PKGINST $VBOXBASEDIR/VBoxBFE f
81 ln -f $VBOXBASEDIR/VBoxISAExec $VBOXBASEDIR/VBoxBFE
82fi
83if test -f "$VBOXBASEDIR/amd64/VBoxHeadless" || test -f "$VBOXBASEDIR/i386/VBoxHeadless"; then
84 if test -d $VBOXBASEDIR/amd64; then
85 /usr/sbin/installf -c none $PKGINST $VBOXBASEDIR/amd64/rdesktop-vrdp-keymaps=$VBOXBASEDIR/rdesktop-vrdp-keymaps s
86 /usr/sbin/installf -c none $PKGINST $VBOXBASEDIR/amd64/additions=$VBOXBASEDIR/additions s
87 fi
88 if test -d $VBOXBASEDIR/i386; then
89 /usr/sbin/installf -c none $PKGINST $VBOXBASEDIR/i386/rdesktop-vrdp-keymaps=$VBOXBASEDIR/rdesktop-vrdp-keymaps s
90 /usr/sbin/installf -c none $PKGINST $VBOXBASEDIR/i386/additions=$VBOXBASEDIR/additions s
91 fi
92 /usr/sbin/installf -c none $PKGINST /usr/bin/VBoxHeadless=/$VBOXBASEDIR/VBox.sh s
93 /usr/sbin/installf -c none $PKGINST /usr/bin/VBoxVRDP=$VBOXBASEDIR/VBox.sh s
94 /usr/sbin/installf -c none $PKGINST $VBOXBASEDIR/VBoxHeadless f
95 /usr/sbin/installf -c none $PKGINST $VBOXBASEDIR/VBoxVRDP f
96 ln -f $VBOXBASEDIR/VBoxISAExec $VBOXBASEDIR/VBoxHeadless
97 ln -f $VBOXBASEDIR/VBoxISAExec $VBOXBASEDIR/VBoxVRDP
98fi
99
100if test "$currentzone" = "global"; then
101 # Web service
102 if test -f /var/svc/manifest/application/virtualbox/webservice.xml; then
103 /usr/sbin/svccfg import /var/svc/manifest/application/virtualbox/webservice.xml
104 /usr/sbin/svcadm disable -s svc:/application/virtualbox/webservice:default
105 fi
106
107 # add vboxdrv to the devlink.tab
108 sed -e '
109/name=vboxdrv/d' /etc/devlink.tab > /etc/devlink.vbox
110 echo "type=ddi_pseudo;name=vboxdrv \D" >> /etc/devlink.vbox
111 mv -f /etc/devlink.vbox /etc/devlink.tab
112
113 # create the device link
114 /usr/sbin/devfsadm -i vboxdrv
115 sync
116
117 # We need to touch the desktop link in order to add it to the menu right away
118 if test -f "/usr/share/applications/virtualbox.desktop"; then
119 touch /usr/share/applications/virtualbox.desktop
120 fi
121
122 # Zone access service
123 if test -f /var/svc/manifest/application/virtualbox/zoneaccess.xml; then
124 /usr/sbin/svccfg import /var/svc/manifest/application/virtualbox/zoneaccess.xml
125 /usr/sbin/svcadm enable -s svc:/application/virtualbox/zoneaccess
126 fi
127fi
128
129/usr/sbin/installf -f $PKGINST
130
131echo "Done."
132
133# return 20 = requires reboot, 2 = partial failure, 0 = success
134exit 0
135
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