if {![have_spec x86]} { puts "\nNoux is supported on the x86 architecture only\n" exit 0 } if {[have_spec linux]} { puts "\nLinux not supported because of missing UART driver\n" exit 0 } build "core init drivers/timer drivers/uart noux lib/libc_noux noux-pkg/coreutils" # strip coreutils binaries and create tar archive exec sh -c "[cross_dev_prefix]strip bin/coreutils/bin/*" exec tar cfv bin/coreutils.tar -h -C bin/coreutils . create_boot_directory install_config { } build_boot_image { core init timer uart_drv ld.lib.so noux libc.lib.so libm.lib.so libc_noux.lib.so coreutils.tar } # # 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" if {[have_spec x86_64]} { # coreutils.tar is really huge when built for x86_64 append qemu_args " -m 300 " } run_genode_until "child exited with exit value 0.*\n" 20 puts "[exec cat $noux_output_file]" exec rm bin/coreutils.tar exec rm $noux_output_file