mirror of
https://github.com/genodelabs/genode.git
synced 2025-02-07 03:40:15 +00:00
Noux/net adds network functionality to noux. Currently most basic network related system calls including 'accept', 'bind', 'connect', 'listen', 'recv', 'send', 'shutdown', and 'socket' are implemented by wrapping lwip's network functions. At the moment noux/net is rarely usable, though it is possible to use netcat to send a message to a netcat server which listen on a given port in noux/net.
77 lines
1.9 KiB
Plaintext
77 lines
1.9 KiB
Plaintext
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/minimal lib/libc_noux test/noux_fork"
|
|
|
|
# strip coreutils binaries and create tar archive
|
|
exec tar cfv bin/noux_fork.tar -h -C bin test-noux_fork
|
|
|
|
create_boot_directory
|
|
|
|
install_config {
|
|
<config verbose="yes">
|
|
<parent-provides>
|
|
<service name="ROM"/>
|
|
<service name="LOG"/>
|
|
<service name="CAP"/>
|
|
<service name="RAM"/>
|
|
<service name="RM"/>
|
|
<service name="CPU"/>
|
|
<service name="PD"/>
|
|
<service name="IRQ"/>
|
|
<service name="IO_MEM"/>
|
|
<service name="IO_PORT"/>
|
|
<service name="SIGNAL"/>
|
|
</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="noux" uart="1"/>
|
|
</config>
|
|
</start>
|
|
<start name="noux">
|
|
<resource name="RAM" quantum="1G"/>
|
|
<config>
|
|
<fstab> <tar name="noux_fork.tar" /> </fstab>
|
|
<start name="test-noux_fork"> </start>
|
|
</config>
|
|
</start>
|
|
</config>
|
|
}
|
|
|
|
build_boot_image {
|
|
core init timer uart_drv ld.lib.so noux libc.lib.so
|
|
libc_noux.lib.so noux_fork.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"
|
|
|
|
run_genode_until "child.*exited.*\n" 20
|
|
|
|
puts "[exec cat $noux_output_file]"
|
|
|
|
exec rm bin/noux_fork.tar
|
|
exec rm $noux_output_file
|