if {[have_spec linux]} { puts "\nLinux not supported because of missing UART driver\n" exit 0 } set build_components { core init drivers/timer drivers/uart noux/minimal lib/libc_noux server/ram_fs test/libc_noux } build $build_components # create tar archive exec tar cfv bin/libc_noux.tar -h -C bin test-libc_noux create_boot_directory append config { <config verbose="yes"> <parent-provides> <service name="ROM"/> <service name="LOG"/> <service name="RAM"/> <service name="RM"/> <service name="CPU"/> <service name="PD"/> <service name="IRQ"/> <service name="IO_PORT"/> <service name="IO_MEM"/> </parent-provides> <default-route> <any-service> <any-child/> <parent/> </any-service> </default-route> <start name="timer"> <resource name="RAM" quantum="1M"/> <provides><service name="Timer"/></provides> </start> <start name="uart_drv"> <resource name="RAM" quantum="1M"/> <provides><service name="Terminal"/></provides> <config> <policy label_prefix="noux" uart="1"/> </config> </start> <start name="ram_fs"> <resource name="RAM" quantum="10M"/> <provides><service name="File_system"/></provides> <config> <!-- constrain sessions according to their labels --> <policy label="noux -> root" root="/" writeable="yes"/> </config> </start> <start name="noux"> <resource name="RAM" quantum="1G" /> <config> <fstab> <tar name="libc_noux.tar" /> <fs label="root" /> </fstab> <start name="/test-libc_noux" /> </config> </start> </config> } install_config $config # # Boot modules # # generic modules set boot_modules { core init timer uart_drv ram_fs noux ld.lib.so libc.lib.so libc_noux.lib.so libc_noux.tar } build_boot_image $boot_modules # # Redirect the output of Noux via the virtual serial port 1 into a file to be # dumped after the successful completion of the test. # set noux_output_file "noux_output.log" append qemu_args " -nographic" append qemu_args " -serial mon:stdio" append qemu_args " -serial file:$noux_output_file" run_genode_until "child.*exited.*\n" 20 set output [exec cat $noux_output_file] puts $output exec rm bin/libc_noux.tar exec rm $noux_output_file grep_output "test finished" compare_output_to "test finished"