# # \brief Seoul on Genode - for automated testing # \author Alexander Boettcher # \date 2013-06-11 # # This run script starts the Seoul VMM booting from a multiboot image. # It assumes that the module files are present at '/bin/' # assert_spec x86 if { [get_cmd_switch --autopilot] && [have_spec x86_32] } { puts "Run script does not support autopilot mode on 32 bit" exit 0 } if {[have_spec foc] || [have_spec sel4] || [have_spec nova]} { } else { puts "\n Run script is not supported on this platform. \n"; exit 0 } set use_multiboot 1 set use_genode_iso 0 set use_model_ahci 0 set use_model_ide 0 set use_block_vdi 0 set use_block_ram 0 set use_block_sata 0 set use_part_block 0 set use_nic_session 1 set use_nic_bridge 0 set use_usb 0 set use_framebuffer 1 set use_fancy_stuff 0 set use_top 0 set memory_vmm_vm "128M" set vcpus_to_be_used 2 if {[have_spec sel4]} { # The seL4 kernel dies with an exception XXX set vcpus_to_be_used 1 } set multiboot_files { } set guest_os_binaries { munich bzImage-3.1 seoul-auto.gz} set sha1_os_binaries { 7ecb4ba634a0ecfa6429418ea73490d6f65afead 6b2ef2c5bf16db3ebcbe33ce134e4e0a96944f82 bb6384fe58ab0c945b231f6cc107bcdff1bdacbe} # # Download demo kernel, image and # munich (part of Oslo framework http://os.inf.tu-dresden.de/~kauer/oslo) # set uri "http://genode.org/files/seoul" foreach binary $guest_os_binaries { if {![file exists bin/$binary]} { exec mkdir -p bin puts "Download file bin/$binary" exec >& /dev/null wget -c -O bin/$binary $uri/$binary } } source ${genode_dir}/repos/ports/run/seoul.inc append qemu_args " -cpu phenom -smp 2 " append qemu_args " -nographic " append_qemu_nic_args if { [get_cmd_switch --autopilot] } { run_genode_until {\[init -\> seoul\] VMM: # Hello Genode world!} 300 } else { run_genode_until forever } foreach binary $guest_os_binaries { exec rm -f bin/$binary }