virtualbox.run: support network for multiple VMs

This commit is contained in:
Alexander Boettcher 2017-06-19 09:05:39 +02:00 committed by Christian Helmuth
parent c1a46c29b0
commit 571232fd41
2 changed files with 24 additions and 65 deletions

View File

@ -57,71 +57,9 @@
<DeviceFilters/> <DeviceFilters/>
</USB> </USB>
<Network> <Network>
<Adapter slot="0" enabled="false" MACAddress="08002785385E" cable="true" speed="0" type="82540EM"> <Adapter slot="0" enabled="false" MACAddress="0800271D7901" cable="true" speed="0" type="82540EM">
<DisabledModes> <HostInterface/>
<InternalNetwork name="intnet"/> <DisabledModes/>
<NATNetwork name="NatNetwork"/>
</DisabledModes>
<NAT>
<DNS pass-domain="true" use-proxy="false" use-host-resolver="false"/>
<Alias logging="false" proxy-only="false" use-same-ports="false"/>
</NAT>
</Adapter>
<Adapter slot="1" enabled="false" MACAddress="0800273AD0BB" cable="true" speed="0" type="82540EM">
<DisabledModes>
<NAT>
<DNS pass-domain="true" use-proxy="false" use-host-resolver="false"/>
<Alias logging="false" proxy-only="false" use-same-ports="false"/>
</NAT>
</DisabledModes>
</Adapter>
<Adapter slot="2" enabled="false" MACAddress="0800270786C1" cable="true" speed="0" type="82540EM">
<DisabledModes>
<NAT>
<DNS pass-domain="true" use-proxy="false" use-host-resolver="false"/>
<Alias logging="false" proxy-only="false" use-same-ports="false"/>
</NAT>
</DisabledModes>
</Adapter>
<Adapter slot="3" enabled="false" MACAddress="0800279B9C1E" cable="true" speed="0" type="82540EM">
<DisabledModes>
<NAT>
<DNS pass-domain="true" use-proxy="false" use-host-resolver="false"/>
<Alias logging="false" proxy-only="false" use-same-ports="false"/>
</NAT>
</DisabledModes>
</Adapter>
<Adapter slot="4" enabled="false" MACAddress="080027B94C18" cable="true" speed="0" type="82540EM">
<DisabledModes>
<NAT>
<DNS pass-domain="true" use-proxy="false" use-host-resolver="false"/>
<Alias logging="false" proxy-only="false" use-same-ports="false"/>
</NAT>
</DisabledModes>
</Adapter>
<Adapter slot="5" enabled="false" MACAddress="080027E38E65" cable="true" speed="0" type="82540EM">
<DisabledModes>
<NAT>
<DNS pass-domain="true" use-proxy="false" use-host-resolver="false"/>
<Alias logging="false" proxy-only="false" use-same-ports="false"/>
</NAT>
</DisabledModes>
</Adapter>
<Adapter slot="6" enabled="false" MACAddress="0800275A8627" cable="true" speed="0" type="82540EM">
<DisabledModes>
<NAT>
<DNS pass-domain="true" use-proxy="false" use-host-resolver="false"/>
<Alias logging="false" proxy-only="false" use-same-ports="false"/>
</NAT>
</DisabledModes>
</Adapter>
<Adapter slot="7" enabled="false" MACAddress="0800271CE60A" cable="true" speed="0" type="82540EM">
<DisabledModes>
<NAT>
<DNS pass-domain="true" use-proxy="false" use-host-resolver="false"/>
<Alias logging="false" proxy-only="false" use-same-ports="false"/>
</NAT>
</DisabledModes>
</Adapter> </Adapter>
</Network> </Network>
<UART> <UART>

View File

@ -6,7 +6,10 @@ set use_serial 1
set use_vbox4 1 set use_vbox4 1
set use_vbox5 [expr !$use_vbox4] set use_vbox5 [expr !$use_vbox4]
# use_gui starts two VMs
set use_gui 0 set use_gui 0
# need a nic bridge for 2 VMs
set use_bridge [expr $use_net && $use_gui]
set build_components { set build_components {
core init core init
@ -35,6 +38,7 @@ lappend_if [expr $use_serial] build_components server/log_terminal
lappend_if [have_spec x86] build_components drivers/rtc lappend_if [have_spec x86] build_components drivers/rtc
lappend_if [expr $use_net] build_components drivers/nic lappend_if [expr $use_net] build_components drivers/nic
lappend_if [expr $use_bridge] build_components server/nic_bridge
lappend_if [expr $use_gui] build_components server/report_rom lappend_if [expr $use_gui] build_components server/report_rom
lappend_if [expr $use_gui] build_components server/nitpicker lappend_if [expr $use_gui] build_components server/nitpicker
@ -136,6 +140,18 @@ append_if [expr $use_serial] config {
</start> </start>
} }
append_if [expr $use_bridge] config {
<start name="nic_bridge" priority="-1">
<resource name="RAM" quantum="6M"/>
<provides><service name="Nic"/></provides>
<config/>
<route>
<service name="Nic"><child name="nic_drv"/></service>
<any-service><parent/></any-service>
</route>
</start>
}
append_if [expr $use_gui] config { append_if [expr $use_gui] config {
<start name="report_rom" priority="-1"> <start name="report_rom" priority="-1">
<resource name="RAM" quantum="2M"/> <resource name="RAM" quantum="2M"/>
@ -234,6 +250,7 @@ append_if [expr $use_gui] config {
</vfs> </vfs>
</config> </config>
<route> <route>
<service name="Nic"> <child name="nic_bridge"/> </service>
<service name="Report"> <child name="report_rom"/> </service> <service name="Report"> <child name="report_rom"/> </service>
<service name="Framebuffer"> <child name="nit_fb2" /> </service> <service name="Framebuffer"> <child name="nit_fb2" /> </service>
<service name="Input"> <child name="nit_fb2" /> </service> <service name="Input"> <child name="nit_fb2" /> </service>
@ -262,6 +279,9 @@ append config {
</config> </config>
<route>} <route>}
append_if [expr $use_bridge] config {
<service name="Nic"> <child name="nic_bridge"/> </service>}
append_if [expr $use_gui] config { append_if [expr $use_gui] config {
<service name="Report"> <child name="report_rom"/> </service> <service name="Report"> <child name="report_rom"/> </service>
<service name="Framebuffer"> <child name="nit_fb1" /> </service> <service name="Framebuffer"> <child name="nit_fb1" /> </service>
@ -301,6 +321,7 @@ append boot_modules {
} }
append_if [expr $use_net] boot_modules { nic_drv } append_if [expr $use_net] boot_modules { nic_drv }
append_if [expr $use_bridge] boot_modules { nic_bridge }
append_if [expr $use_serial] boot_modules { log_terminal } append_if [expr $use_serial] boot_modules { log_terminal }
append_platform_drv_boot_modules append_platform_drv_boot_modules