assert_spec foc # # Build # set build_components { core init drivers/timer drivers/uart drivers/framebuffer l4linux } lappend_if [have_spec x86] build_components drivers/nic lappend_if [have_spec pci] build_components drivers/pci lappend_if [have_spec ps2] build_components drivers/input/ps2 lappend_if [have_spec lan9118] build_components drivers/nic build $build_components create_boot_directory # # Config # set config { } append_if [have_spec pci] config { } append_if [have_spec vesa] config { } append_if [have_spec pl11x] config { } append_if [have_spec ps2] config { } append_if [have_spec x86] config { } append_if [have_spec lan9118] config { } append config { } install_config $config # # Boot modules # set boot_modules { core init timer uart_drv l4linux initrd.gz } lappend_if [have_spec pci] boot_modules pci_drv lappend_if [have_spec ps2] boot_modules ps2_drv lappend_if [have_spec pl11x] boot_modules pl11x_drv lappend_if [have_spec vesa] boot_modules vesa_drv lappend_if [have_spec x86] boot_modules nic_drv lappend_if [have_spec lan9118] boot_modules nic_drv if {[have_spec x86]} { set uri "http://genode.org/files/release-11.11/l4lx/initrd-ia32.gz" } elseif {[have_spec arm]} { set uri "http://genode.org/files/release-11.11/l4lx/initrd-arm.gz" } if {![file exists bin/initrd.gz]} { puts "Download initramfs ..." exec >& /dev/null wget -c -O bin/initrd.gz $uri } build_boot_image [join $boot_modules " "] # # Qemu # append qemu_args " -m 128 -nographic " append qemu_args " -serial unix:/tmp/qemu-pipe,server,nowait " append qemu_args " -serial mon:stdio " append_if [have_spec x86] qemu_args " -net nic,model=e1000 -net user " append_if [have_spec lan9118] qemu_args " -net nic,model=lan9118 -net user " # # Execute test case # run_genode_until {.*\/ #.*} 120 # Wait for network to settle down send "sleep 5\n" send "wget http://genode.org/\n" expect { -re "Connecting to genode.org.*index.html.*\/ #.*" { } timeout { puts stderr "Error: Test execution timed out"; exit -2 } } puts "Test succeeded" exec rm bin/initrd.gz