Changes between Version 2 and Version 3 of Tutorial/DeployingVMApplications


Ignore:
Timestamp:
Aug 16, 2011, 1:13:51 AM (13 years ago)
Author:
romw
Comment:

checkpoint

Legend:

Unmodified
Added
Removed
Modified
  • Tutorial/DeployingVMApplications

    v2 v3  
    22
    33== Introduction ==
     4Using virtual machine technology with the BOINC client presents an interesting challenge to projects.  Projects not only have to follow the rules BOINC requires projects to follow but they also have to follow the rules that the virtual machine technology requires as well.  With this document we hope to provide a general outline of how to utilize the VirtualBox virtual machine technology within a BOINC based project.
     5
     6For the purposes of this document we are going to assume that a task instance only requires the use of a single CPU and no network communication is required during the execution of the task instance.
    47
    58
     9=== Configuring  Application Version ===
     10Version.xml:
     11{{{
     12<version>
     13   <file>
     14      <physical_name>vboxwrapper_6.20_windows_x86_64.exe</physical_name>
     15      <copy_file/>
     16      <main_program/>
     17   </file>
     18   <file>
     19      <physical_name>vmimagex64_6_18.vdi</physical_name>
     20      <logical_name>vm_image.vdi</logical_name>
     21      <copy_file/>
     22      <gzip/>
     23   </file>
     24   <file>
     25      <physical_name>vbox_job_6_18_windows_x86_64.xml</physical_name>
     26      <logical_name>vbox_job.xml</logical_name>
     27      <copy_file/>
     28   </file>
     29   <file>
     30      <physical_name>boinc_start_6_18_windows_x86_64.sh</physical_name>
     31      <logical_name>shared/boinc_start.sh</logical_name>
     32      <copy_file/>
     33   </file>
     34   <file>
     35      <physical_name>uppercase_6.18_i686-pc-linux-gnu</physical_name>
     36      <logical_name>shared/uppercase_6.18_i686-pc-linux-gnu</logical_name>
     37      <copy_file/>
     38   </file>
     39   <dont_throttle/>
     40   <file_prefix>shared</file_prefix>
     41</version>
     42}}}
    643
     44=== Configuring Virtual Machine Description ===
     45vbox_job.xml:
     46{{{
     47<vbox_job>
     48    <os_name>Linux26_64</os_name>
     49    <memory_size_mb>256</memory_size_mb>
     50    <enable_shared_directory/>
     51</vbox_job>
     52}}}
    753
     54=== Configuring Startup Script ===
     55boinc_start.sh:
     56{{{
     57#
     58# Automatically executed by the vmimagex64 at startup.
     59#
     60./uppercase_6.18_i686-pc-linux-gnu
     61
     62#
     63# Shutdown when complete
     64#
     65shutdown -hP 0
     66}}}
    867
    968== Appendix ==
    1069
    11 === Premade BOINC Wrapper ===
     70=== Premade BOINC VM Wrapper ===
    1271
    1372Configuration Options for vboxwrapper can be found [VboxApps here].
     
    3089Main advantages:
    3190 * Small install size
    32  * Virtualbox guest additions installed by default
     91 * VirtualBox guest additions installed by default
    3392
    34 The Virtualbox guest extensions are required in order to use the shared directory feature to communicate between the guest and host operating systems.
     93The VirtualBox guest extensions are required in order to use the shared directory feature to communicate between the guest and host operating systems.
    3594
    3695==== Role Selection ====
    3796
    38 During install you'll be asked what role should this linux machine be configured for, make sure all roles are unselected before continuing.
     97During install you'll be asked what role should this Linux machine be configured for, make sure all roles are unselected before continuing.
    3998
    4099==== Updating Grub ====
     
    52111==== Updating Inittab ====
    53112
    54 To configure Linux for automaic login you'll need to install a different terminal handler, mingetty seems to work pretty well for our purposes.
     113To configure Linux for automatic login you'll need to install a different terminal handler, mingetty seems to work pretty well for our purposes.
    55114
    56115You'll need to install mingetty:
     
    78137}}}
    79138
    80 The basic gist here is to give yourself time to break into a console session via CTRL-C to be able to make changes to the VM in the future.  After executing any job you want the VM to accomplish you'll need to shutdown the VM.  If you encounter an error shutdown the VM.
     139The basic gist here is to give you time to break into a console session via CTRL-C to be able to make changes to the VM in the future.  After executing any job you want the VM to accomplish you'll need to shutdown the VM.  If you encounter an error shutdown the VM so that BOINC can error out the task instance and report the failure.
    81140
    82141==== Shared Directory Usage ====