mirror of
https://github.com/genodelabs/genode.git
synced 2024-12-27 17:18:53 +00:00
0aa99648d7
Issue #4173
81 lines
2.2 KiB
Plaintext
81 lines
2.2 KiB
Plaintext
#
|
|
# \brief Seoul on Genode - build Linux kernel inside VM
|
|
# \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 '<build-dir>/bin/'
|
|
#
|
|
|
|
assert_spec x86
|
|
|
|
if {[have_include power_on/qemu]} {
|
|
puts "\nAuto test running on Qemu is not recommended.\n"
|
|
exit
|
|
}
|
|
|
|
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 0
|
|
|
|
set use_framebuffer 1
|
|
set use_fancy_stuff 0
|
|
set use_top 0
|
|
|
|
set memory_vmm_vm "950M"
|
|
|
|
# adjust also '-j option' accordingly - see benchmark_cmd
|
|
set vcpus_to_be_used 1
|
|
|
|
set multiboot_files {
|
|
<rom name="munich"/>
|
|
<rom name="bzImage-3.1" cmdline="root=/dev/ram0 earlyprintk=ttyS0 console=ttyS0 text benchmark_cmd='make -C /usr/src/linux-* defconfig && make -j 1 -C /usr/src/linux-* bzImage'"/>
|
|
<rom name="kernelbuild-e2fs.bz2"/>
|
|
}
|
|
|
|
set guest_os_binaries { munich bzImage-3.1 kernelbuild-e2fs.bz2 }
|
|
set sha1_os_binaries { 7ecb4ba634a0ecfa6429418ea73490d6f65afead 6b2ef2c5bf16db3ebcbe33ce134e4e0a96944f82 978b2a297c7ff8e53191321d300e70baa1036519 }
|
|
|
|
#
|
|
# Download demo kernel, image and
|
|
# munich (part of Oslo framework http://os.inf.tu-dresden.de/~kauer/oslo)
|
|
#
|
|
set guest_uri { "http://genode.org/files/seoul" "http://genode.org/files/seoul" "http://os.inf.tu-dresden.de/~nils/imgs" }
|
|
|
|
set binary_counter 0
|
|
foreach binary $guest_os_binaries {
|
|
if {![file exists bin/$binary]} {
|
|
set uri [lindex $guest_uri $binary_counter]
|
|
exec mkdir -p bin
|
|
puts "Download file bin/$binary from $uri"
|
|
exec >& /dev/null wget -c -O bin/$binary $uri/$binary
|
|
}
|
|
incr binary_counter 1
|
|
}
|
|
|
|
source ${genode_dir}/repos/ports/run/seoul.inc
|
|
|
|
append qemu_args " -m 1536 "
|
|
append qemu_args " -cpu phenom "
|
|
append qemu_args " -nographic "
|
|
|
|
run_genode_until {\[init -\> seoul\] VM is starting with } 400
|
|
set serial_id [output_spawn_id]
|
|
|
|
set time_start [ clock seconds ]
|
|
run_genode_until {\[init -\> seoul\] VMM: # ! PERF: kbuild [ 0-9]+ s ok} 2000 $serial_id
|
|
set time_end [ clock seconds ]
|
|
|
|
puts "\n! PERF: runtime [expr $time_end - $time_start ] seconds ok"
|
|
|
|
puts "Test succeeded"
|