mirror of
https://github.com/genodelabs/genode.git
synced 2024-12-25 00:11:07 +00:00
fe0ad0addb
Right now the same code dealing with nic setup on qemu is duplicated in many different run scripts. It makes it unnecesarily complex to change the existing config or add support for new nic types. Lets move all this common code to qemu.inc. Ref #3825
77 lines
2.0 KiB
Plaintext
77 lines
2.0 KiB
Plaintext
if { [get_cmd_switch --autopilot] } { assert_spec x86 }
|
|
|
|
if { [have_spec linux] } {
|
|
puts "Run script is not supported on this platform."
|
|
exit 0
|
|
}
|
|
|
|
set host_tool [installed_command host]
|
|
set ntp_ip [exec $host_tool -t A pool.ntp.org | head -1 | cut -d " " -f 4]
|
|
|
|
puts "Using NTP server $ntp_ip"
|
|
|
|
create_boot_directory
|
|
|
|
import_from_depot [depot_user]/src/[base_src] \
|
|
[depot_user]/pkg/[drivers_nic_pkg] \
|
|
[depot_user]/src/init
|
|
|
|
build { app/sntp_client server/report_rom }
|
|
|
|
append config {
|
|
<config>
|
|
<parent-provides>
|
|
<service name="ROM"/>
|
|
<service name="IRQ"/>
|
|
<service name="IO_MEM"/>
|
|
<service name="IO_PORT"/>
|
|
<service name="PD"/>
|
|
<service name="RM"/>
|
|
<service name="CPU"/>
|
|
<service name="LOG"/>
|
|
</parent-provides>
|
|
<default-route>
|
|
<any-service> <parent/> <any-child/> </any-service>
|
|
</default-route>
|
|
<default caps="100"/>
|
|
|
|
<start name="report_rom">
|
|
<resource name="RAM" quantum="1M"/>
|
|
<provides> <service name="Report"/> <service name="ROM"/> </provides>
|
|
<config verbose="yes">
|
|
<policy label_suffix="set_rtc" report="sntp_client -> set_rtc"/>
|
|
</config>
|
|
</start>
|
|
|
|
<start name="timer">
|
|
<resource name="RAM" quantum="1M"/>
|
|
<provides><service name="Timer"/></provides>
|
|
</start>
|
|
|
|
<start name="drivers" caps="1000" managing_system="yes">
|
|
<resource name="RAM" quantum="32M"/>
|
|
<binary name="init"/>
|
|
<route>
|
|
<service name="ROM" label="config"> <parent label="drivers.config"/> </service>
|
|
<service name="Timer"> <child name="timer"/> </service>
|
|
<any-service> <parent/> </any-service>
|
|
</route>
|
|
<provides> <service name="Nic"/> </provides>
|
|
</start>
|
|
|
|
<start name="sntp_client">
|
|
<resource name="RAM" quantum="8M"/>
|
|
<config verbose="no" dst_ip="} $ntp_ip {" period_min="1"/>
|
|
</start>
|
|
</config>}
|
|
|
|
install_config $config
|
|
build_boot_image { core ld.lib.so init timer sntp_client report_rom }
|
|
|
|
append qemu_args " -nographic "
|
|
append_qemu_nic_args
|
|
|
|
set done_string "report_rom] <set_rtc year.*?report_rom] <set_rtc year.*?\n"
|
|
|
|
run_genode_until $done_string 90
|