VirtualBox

忽略:
時間撮記:
2008-9-1 下午02:59:41 (16 年 以前)
作者:
vboxsync
訊息:

Solaris/installer: Added the bits for vboxnetflt.

位置:
trunk/src/VBox/Installer/solaris
檔案:
修改 4 筆資料

圖例:

未更動
新增
刪除
  • trunk/src/VBox/Installer/solaris/Makefile.kmk

    r11921 r11923  
    6969SOLARIS_STRIP_BINS = \
    7070        vboxdrv \
     71        $(if $(VBOX_WITH_NETFLT),vboxflt) \
    7172        $(if $(VBOX_WITH_VBOXBFE),VBoxBFE) \
    7273        VBoxDD.so \
     
    136137        autoresponse \
    137138        vboxdrv.conf \
     139        $(if $(VBOX_WITH_NETFLT),vboxflt.conf) \
    138140        vboxdrv.sh \
    139141        VBox.sh \
     
    229231                $(if $(and $(not $(VBOX_OSE)),$(VBOX_WITH_QT4GUI)),$(PATH_BIN)/License-$(VBOX_LICENSE_VER).html) \
    230232                $(PATH_ROOT)/src/VBox/HostDrivers/Support/solaris/vboxdrv.conf \
     233                $(if $(VBOX_WITH_NETFLT),$(PATH_ROOT)/src/VBox/HostDrivers/VBoxNetFlt/solaris/vboxflt.conf) \
    231234                $(PATH_ROOT)/src/VBox/Devices/Network/solaris/vnicinit_solaris.sh \
    232235                $(PATH_ROOT)/src/VBox/Devices/Network/solaris/vnicterm_solaris.sh \
     
    241244        $(QUIET)$(if $(VBOX_WITH_VRDP_RDESKTOP),$(MKDIR) -p $(SOLARIS_INST_DIR)/rdesktop-vrdp-keymaps,)
    242245        $(QUIET)$(INSTALL) -m 0644 $(PATH_BIN)/vboxdrv                                                          $(SOLARIS_INST_DIR)/vboxdrv
     246        $(QUIET)$(if $(VBOX_WITH_NETFLT),$(INSTALL) -m 0644 $(PATH_BIN)/vboxflt                                 $(SOLARIS_INST_DIR)/vboxflt,)
    243247        $(QUIET)$(if $(VBOX_WITH_VBOXBFE),$(INSTALL) -m 0755 $(PATH_BIN)/VBoxBFE                                $(SOLARIS_INST_DIR)/VBoxBFE)
    244248ifdef VBOX_WITH_HARDENING
     
    291295        $(call MSG_L1,Stripping binaries $(SOLARIS_INST_DIR))
    292296        $(QUIET)$(if $(VBOX_DO_STRIP),strip $(SOLARIS_INST_DIR)/vboxdrv,)
     297ifdef VBOX_WITH_NETFLT
     298        $(QUIET)$(if $(VBOX_DO_STRIP),strip $(SOLARIS_INST_DIR)/vboxflt,)
     299endif
    293300        $(QUIET)$(if $(VBOX_DO_STRIP),$(if $(VBOX_WITH_VBOXBFE),strip $(SOLARIS_INST_DIR)/VBoxBFE,))
    294301ifdef VBOX_WITH_HARDENING
     
    350357                $(PATH_CURRENT)/vbox.pkginfo
    351358        $(QUIET)$(INSTALL) -m 0644 $(PATH_ROOT)/src/VBox/HostDrivers/Support/solaris/vboxdrv.conf               $(SOLARIS_INST_DIR)/vboxdrv.conf
     359        $(QUIET)$(INSTALL) -m 0644 $(PATH_ROOT)/src/VBox/HostDrivers/VBoxNetFlt/solaris/vboxflt.conf            $(SOLARIS_INST_DIR)/vboxflt.conf
    352360        $(QUIET)$(if $(and $(not $(VBOX_OSE)),$(VBOX_WITH_DOCS)),$(INSTALL) -m 0644 $(PATH_BIN)/UserManual.pdf  $(SOLARIS_INST_DIR)/UserManual.pdf,)
    353361        $(QUIET)$(if $(VBOX_OSE),,$(INSTALL) -m 0644 $(PATH_BIN)/LICENSE                                        $(SOLARIS_INST_DIR)/LICENSE)
     
    429437        $(QUIET)$(MKDIR) -p -- $(SOLARIS_DBG_DIR)/components
    430438        $(QUIET)$(SOL_DBG_OBJCOPY) $(PATH_BIN)/vboxdrv                                                            $(SOLARIS_DBG_DIR)/vboxdrv
     439        $(QUIET)$(SOL_DBG_OBJCOPY) $(PATH_BIN)/vboxflt                                                            $(SOLARIS_DBG_DIR)/vboxflt
    431440        $(QUIET)$(if $(VBOX_WITH_VBOXBFE),$(SOL_DBG_OBJCOPY) $(PATH_BIN)/VBoxBFE                                  $(SOLARIS_DBG_DIR)/VBoxBFE)
    432441ifdef VBOX_WITH_HARDENING
  • trunk/src/VBox/Installer/solaris/makepackage.sh

    r11725 r11923  
    101101fi
    102102
     103# install vboxflt to the right place.
     104if test "$3" = "x86"; then
     105    filelist_fixup prototype '$3 == "opt/VirtualBox/vboxflt=vboxflt"'                                   '$3 = "platform/i86pc/kernel/drv/vboxflt=vboxflt"; $6 = "sys"'
     106else
     107    filelist_fixup prototype '$3 == "opt/VirtualBox/vboxflt=vboxflt"'                                   '$3 = "platform/i86pc/kernel/drv/amd64/vboxflt=vboxflt"; $6 = "sys"'
     108fi
     109
    103110filelist_fixup prototype '$3 == "opt/VirtualBox/vboxdrv.conf=vboxdrv.conf"'                             '$3 = "platform/i86pc/kernel/drv/vboxdrv.conf=vboxdrv.conf"'
     111
     112filelist_fixup prototype '$3 == "opt/VirtualBox/vboxflt.conf=vboxflt.conf"'                             '$3 = "platform/i86pc/kernel/drv/vboxflt.conf=vboxflt.conf"'
    104113
    105114# hardening requires some executables to be marked setuid.
  • trunk/src/VBox/Installer/solaris/postinstall.sh

    r11725 r11923  
    3232    echo "Configuring VirtualBox kernel module..."
    3333    /opt/VirtualBox/vboxdrv.sh restart silentunload
     34   
     35    echo "Configuring VirtualBox NetFilter kernel module..."
     36    if test -f /platform/i86pc/kernel/drv/vboxflt.conf; then
     37        /opt/VirtualBox/vboxdrv.sh fltrestart silentunload
     38    fi
    3439fi
    3540
     
    6974    /usr/sbin/devfsadm -i vboxdrv
    7075fi
    71    
     76
    7277echo "Done."
    7378
  • trunk/src/VBox/Installer/solaris/vboxdrv.sh

    r11725 r11923  
    2020SILENTUNLOAD=""
    2121MODNAME="vboxdrv"
     22FLTMODNAME="vboxflt"
    2223MODDIR32="/platform/i86pc/kernel/drv"
    2324MODDIR64=$MODDIR32/amd64
     
    5354    else
    5455        loadentry=`/usr/sbin/modinfo | grep $MODNAME`
     56    fi
     57    if test -z "$loadentry"; then
     58        return 1
     59    fi
     60    return 0
     61}
     62
     63vboxflt_module_loaded()
     64{
     65    if test -f "/etc/name_to_major"; then
     66        loadentry=`cat /etc/name_to_major | grep $FLTMODNAME`
     67    else
     68        loadentry=`/usr/sbin/modinfo | grep $FLTMODNAME`
    5569    fi
    5670    if test -z "$loadentry"; then
     
    111125}
    112126
     127start_vboxflt()
     128{
     129    if vboxflt_module_loaded; then
     130        info "VirtualBox Net Filter kernel module already loaded."
     131    else
     132        if test -n "_HARDENED_"; then
     133            /usr/sbin/add_drv -m'* 0600 root sys' $FLTMODNAME
     134        else
     135            /usr/sbin/add_drv -m'* 0666 root sys' $FLTMODNAME
     136        fi
     137        /usr/sbin/modload -p drv/$FLTMODNAME
     138        if test ! vboxflt_module_loaded; then
     139            abort "## Failed to load VirtualBox Net Filter kernel module."
     140        elif
     141            info "VirtualBox Net Filter kernel module loaded."
     142        fi
     143    fi
     144}
     145
     146stop_vboxflt()
     147{
     148    if vboxflt_module_loaded; then
     149        /usr/sbin/rem_drv $FLTMODNAME || abort "## Failed to unload VirtualBox Net Filter module."
     150        info "VirtualBox Net Filter kernel module unloaded."
     151    elif test -z "$SILENTUNLOAD"; then
     152        info "VirtualBox Net Filter kernel module not loaded."
     153    fi
     154}
     155
     156restart_vboxflt()
     157{
     158    stop_vboxflt
     159    sync
     160    start_vboxflt
     161    return 0
     162}
     163
    113164status_module()
    114165{
     
    140191    status_module
    141192    ;;
     193fltrestart)
     194    restart_vboxflt
     195    ;;
    142196*)
    143     echo "Usage: $0 {start|stop|restart|status}"
     197    echo "Usage: $0 {start|stop|restart|status|fltrestart}"
    144198    exit 1
    145199esac
注意: 瀏覽 TracChangeset 來幫助您使用更動檢視器

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