set use_net 0 set use_ps2 1 set use_usb 0 set use_serial 1 set use_top 1 set use_vbox5_nova 0 # use_gui starts two VMs set use_gui 0 # need a nic bridge for 2 VMs set use_bridge [expr $use_net && $use_gui] set build_components { drivers/framebuffer server/report_rom } append build_components virtualbox5 set virtualbox_binary "virtualbox5" if {$use_vbox5_nova} { set virtualbox_binary "virtualbox5-nova" } create_boot_directory import_from_depot [depot_user]/src/[base_src] \ [depot_user]/src/init \ [depot_user]/src/nitpicker \ [depot_user]/src/vfs_pipe source ${genode_dir}/repos/base/run/platform_drv.inc # override defaults of platform_drv.inc proc platform_drv_priority {} { return { priority="-1"} } lappend_if [expr $use_top] build_components app/top lappend_if [expr $use_ps2] build_components drivers/ps2 lappend_if [expr $use_usb] build_components drivers/usb lappend_if [expr $use_serial] build_components server/log_terminal lappend_if [have_spec x86] build_components drivers/rtc lappend_if [expr $use_net] build_components drivers/nic lappend_if [expr $use_bridge] build_components server/nic_bridge append_platform_drv_build_components build $build_components set config { } append_if [expr $use_top] config { } append config { } append_if [expr $use_top] config { } append_platform_drv_config append_if [expr $use_ps2] config { } append_if [expr $use_usb] config { } append_if [expr $use_usb] config { } append_if [have_board pc] config { } append_if [expr [have_board pc] && [have_include power_on/qemu]] config { } append_if [have_board pc] config { } append_if [have_board linux] config { } append_if [have_spec x86] config { } append_if [expr $use_net] config { } append_if [expr $use_serial] config { } append_if [expr $use_bridge] config { } append config { } append config { } append_if [expr $use_gui] config { } append config { } append_if [expr $use_serial] config { } append config { } append_if [expr $use_bridge] config { } append config { } install_config $config exec cp ${genode_dir}/repos/ports/run/test.vbox bin/. set boot_modules { test.iso test.vbox } append boot_modules $virtualbox_binary # platform-specific modules lappend_if [expr $use_usb] boot_modules usb_drv lappend_if [expr $use_ps2] boot_modules ps2_drv lappend_if [have_board pc] boot_modules vesa_fb_drv lappend_if [have_board linux] boot_modules fb_sdl lappend_if [have_spec x86] boot_modules rtc_drv lappend_if [expr $use_top] boot_modules top lappend_if [expr $use_gui] boot_modules report_rom append boot_modules { libc.lib.so vfs.lib.so libm.lib.so libiconv.lib.so stdcxx.lib.so qemu-usb.lib.so } append_if [expr $use_net] boot_modules { ipxe_nic_drv } append_if [expr $use_bridge] boot_modules { nic_bridge } append_if [expr $use_serial] boot_modules { log_terminal } append_platform_drv_boot_modules build_boot_image $boot_modules if {[have_include "power_on/qemu"]} { if {[expr $use_gui]} { append qemu_args " -m 2048 " } else { append qemu_args " -m 768 " } append qemu_args " -cpu phenom " if {[expr $use_usb]} { append qemu_args " -usbdevice mouse -usbdevice keyboard" } } run_genode_until forever