diff options
author | Jonathan Bauer | 2018-04-19 16:57:29 +0200 |
---|---|---|
committer | Jonathan Bauer | 2018-04-19 16:57:29 +0200 |
commit | 33095bd72259fffed819da9802a67687bfc054f5 (patch) | |
tree | fa56eddbd260ccc0ea40d0fd2fc5a4120c9adc5f /core/modules/vbox-src/data | |
parent | [vbox-src] add floppy host device (diff) | |
download | mltk-33095bd72259fffed819da9802a67687bfc054f5.tar.gz mltk-33095bd72259fffed819da9802a67687bfc054f5.tar.xz mltk-33095bd72259fffed819da9802a67687bfc054f5.zip |
[vbox-src] add CDROM support
Diffstat (limited to 'core/modules/vbox-src/data')
-rwxr-xr-x | core/modules/vbox-src/data/opt/openslx/vmchooser/plugins/virtualbox/includes/finalize_machine_config.inc | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/core/modules/vbox-src/data/opt/openslx/vmchooser/plugins/virtualbox/includes/finalize_machine_config.inc b/core/modules/vbox-src/data/opt/openslx/vmchooser/plugins/virtualbox/includes/finalize_machine_config.inc index 61605b42..07f7e170 100755 --- a/core/modules/vbox-src/data/opt/openslx/vmchooser/plugins/virtualbox/includes/finalize_machine_config.inc +++ b/core/modules/vbox-src/data/opt/openslx/vmchooser/plugins/virtualbox/includes/finalize_machine_config.inc @@ -65,6 +65,44 @@ setup_floppies() { "uuid={${SLX_FLOPPY_UUID}}" } +setup_optical_drives() { + if isempty CDROM_0 && isempty CDROM_1; then + writelog "No host CD-ROM detected." + return 1 + fi + local controller='StorageController[@type="AHCI"]' + local devnum=1 + if node_exists '/VirtualBox/Machine/StorageControllers/'"$controller"; then + # TODO validating port count... + writelog "AHCI controller found, will add CDROMs to it." + else + writelog "Adding SATA controller for CDROMs." + add_node \ + "/VirtualBox/Machine/StorageControllers" "StorageController" \ + "name=SATA-CDROM" \ + "type=AHCI" \ + "PortCount=1" \ + "useHostIOCache=true" + controller='StorageController[@name="SATA-CDROM"]' + devnum=0 + fi + # now add the devices + for cdrom in $CDROM_0 $CDROM_1; do + writelog "Adding passthrough CDROM" + add_node \ + '/VirtualBox/Machine/StorageControllers/'"$controller" "AttachedDevice" \ + "type=DVD" \ + "passthrough=true" \ + "hotpluggable=false" \ + "port=1" \ + "device=$devnum" + (( devnum ++ )) + add_node \ + '/VirtualBox/Machine/StorageControllers/'"$controller"'/AttachedDevice[@type="DVD"]' "HostDrive" \ + "src=${cdrom}" + done +} + setup_shared_folders() { # TODO common share through shared folders? if isempty SHARED_FOLDERS HOME_SHARE_NAME HOME_SHARE_PATH; then @@ -148,6 +186,7 @@ finalize_machine_config() { setup_disk_image setup_floppies + setup_optical_drives setup_ethernet setup_cpu_ram setup_sound |