genode/repos/libports/run/libc_getaddrinfo.run
Josef Söntgen 74dcc7a3d5 libc: use socket fs for DNS information
The libc will now use the file given by the 'nameserver_file' attribute
to get the DNS nameserver address instead of reading '/etc/resolv.conf'.
It defaults to '/socket/nameserver' which is the common location when
using the lxip VFS plugin. As a constraint the libc will read the first
line and expects the nameserver address without any keywords in front of
it.

Fixes #2861.
2018-06-29 10:44:55 +02:00

87 lines
1.8 KiB
Plaintext

source ${genode_dir}/repos/base/run/platform_drv.inc
if {[have_spec linux]} {
puts "The [run_name] scenario requires QEMU networking."
exit 1
}
set build_components {
core init
drivers/timer
lib/vfs/lxip
test/libc_getaddrinfo
}
append_platform_drv_build_components
build $build_components
create_boot_directory
append config {
<config>
<parent-provides>
<service name="CPU"/>
<service name="IO_MEM"/>
<service name="IO_PORT"/>
<service name="IRQ"/>
<service name="LOG"/>
<service name="PD"/>
<service name="RM"/>
<service name="ROM"/>
</parent-provides>
<default-route>
<any-service> <parent/> <any-child/> </any-service>
</default-route>
<default caps="128"/>}
append_platform_drv_config
append config {
<start name="timer">
<resource name="RAM" quantum="1M"/>
<provides> <service name="Timer"/> </provides>
</start>
<start name="nic_drv">
<binary name="} [nic_drv_binary] {"/>
<resource name="RAM" quantum="4M"/>
<provides> <service name="Nic"/> </provides>
</start>
<start name="test-libc_getaddrinfo" caps="256">
<resource name="RAM" quantum="32M"/>
<config>
<vfs>
<dir name="dev"> <log/> </dir>
<dir name="socket"> <lxip dhcp="yes"/> </dir>
</vfs>
<libc stdout="/dev/log" socket="/socket"/>
<arg value="test-libc_getenv"/>
<arg value="genode.org"/>
<arg value="hypervisor.org"/>
<arg value="example.com"/>
</config>
</start>
</config>
}
install_config $config
set boot_modules {
core init ld.lib.so
libc.lib.so libm.lib.so posix.lib.so
lxip.lib.so vfs_lxip.lib.so
test-libc_getaddrinfo
timer
}
# platform-specific modules
append_platform_drv_boot_modules
lappend boot_modules [nic_drv_binary]
build_boot_image $boot_modules
append qemu_args " -nographic -net nic,model=e1000 -net user -net dump,file=[run_dir]/dump.pcap"
run_genode_until "child .* exited with exit value 0.*\n" 20