# # \brief Virtual-machine monitor demo # \author Stefan Kalkowski # \date 2015-06-25 # assert_spec hw if { ![have_spec imx7d_sabre] && ![have_spec arndale] } { puts "Run script is not supported on this platform" exit 0 } set build_components { core init timer server/terminal_crosslink test/terminal_expect_send server/vmm } build $build_components create_boot_directory install_config { } # # This test uses a Linux kernel built from unmodified vanilla kernel sources # but using a slightly simplified kernel configuration, as well as device tree # for a minimal Versatile Express Cortex A15 like emulated board. # # The used sources, including the modified device tree and configuration file # can be found in the following git repository/branch: # # https://github.com/skalk/linux/tree/vexpress-vt # # To compile the kernel and device tree blob used in this script, do the # following steps: # # ! git checkout https://github.com/skalk/linux.git # ! cd linux # ! git checkout origin/vexpress-vt # ! make ARCH=arm CROSS_COMPILE= vexpress_config # ! make ARCH=arm CROSS_COMPILE= -j8 Image # ! make ARCH=arm CROSS_COMPILE= vexpress-v2p-ca15-tc1.dtb # if {![file exists bin/linux]} { puts "Download linux kernel ..." exec >& /dev/null wget -c -O bin/linux http://genode.org/files/release-15.02/arm_vt/linux } if {![file exists bin/dtb]} { puts "Download device tree blob ..." exec >& /dev/null wget -c -O bin/dtb http://genode.org/files/release-15.02/arm_vt/dtb } set boot_modules { core ld.lib.so init timer terminal_crosslink test-terminal_expect_send vmm linux dtb } build_boot_image $boot_modules # # Execute test case # run_genode_until "\[init -> vm\] .*sbin.*" 220 exec rm bin/linux bin/dtb