run: use unambigously named components and pkgs

This commit is contained in:
Stefan Kalkowski
2019-06-03 10:49:45 +02:00
committed by Norman Feske
parent e178109093
commit e639510af5
14 changed files with 279 additions and 584 deletions

View File

@@ -53,7 +53,7 @@ append config {
<provides> <service name="Timer" /> </provides>
</start>
<start name="gpio_drv" caps="200">
<start name="imx6_gpio_drv" caps="200">
<resource name="RAM" quantum="8M"/>
<provides><service name="Gpio"/></provides>
<config/>
@@ -62,6 +62,7 @@ append config {
<!-- networking -->
<start name="nic_drv" caps="200">
<binary name="fec_nic_drv"/>
<resource name="RAM" quantum="16M"/>
<provides><service name="Nic"/></provides>
<config>
@@ -122,6 +123,7 @@ append config {
<!-- block and file system access -->
<start name="sd_card_drv">
<binary name="nit6_solox_sd_card_drv"/>
<resource name="RAM" quantum="1M"/>
<provides><service name="Block"/></provides>
</start>
@@ -269,15 +271,13 @@ install_config $config
set boot_modules {
core init ld.lib.so timer
gpio_drv sd_card_drv part_block
fec_nic_drv imx6_gpio_drv nit6_solox_sd_card_drv part_block
fs_rom report_rom fs_log log_core
nic_router
}
append boot_modules [nic_drv_binary]
append_platform_drv_boot_modules
build_boot_image $boot_modules

View File

@@ -1,36 +1,16 @@
#
# Build
#
set build_components {
core init
timer
drivers/audio
drivers/framebuffer drivers/input
app/dosbox
}
source ${genode_dir}/repos/base/run/platform_drv.inc
# override default platform driver policy
proc platform_drv_policy {} {
return {
<policy label_prefix="ps2_drv"> <device name="PS2"/> </policy>
<policy label_prefix="usb_drv"> <pci class="USB"/> </policy>
<policy label_prefix="fb_drv"> <pci class="VGA"/> </policy>
<policy label_prefix="audio_drv"> <pci class="AUDIO"/> <pci class="HDAUDIO"/> </policy>}
}
append_platform_drv_build_components
build $build_components
create_boot_directory
build { app/dosbox }
import_from_depot [depot_user]/src/[base_src] \
[depot_user]/pkg/[drivers_interactive_pkg] \
[depot_user]/src/init \
[depot_user]/src/libc \
[depot_user]/src/libpng \
[depot_user]/src/sdl \
[depot_user]/src/stdcxx \
[depot_user]/src/vfs \
[depot_user]/src/zlib
#
# Generate config
#
append config {
install_config {
<config>
<parent-provides>
<service name="ROM"/>
@@ -45,49 +25,26 @@ append config {
<default-route>
<any-service> <parent/> <any-child/> </any-service>
</default-route>
<default caps="100"/>}
<default caps="100"/>
append_if [have_spec sdl] config {
<start name="fb_sdl" ld="no">
<resource name="RAM" quantum="4M"/>
<provides>
<service name="Input"/>
<service name="Framebuffer"/>
</provides>
<config width="640" height="480"/>
</start>}
append_platform_drv_config
append_if [have_spec vesa] config {
<start name="fb_drv" caps="200">
<resource name="RAM" quantum="4M"/>
<provides><service name="Framebuffer"/></provides>
<config buffered="yes"> </config>
</start>}
append_if [have_spec pl11x] config {
<start name="fb_drv">
<resource name="RAM" quantum="2M"/>
<provides><service name="Framebuffer"/></provides>
</start>}
append_if [have_spec ps2] config {
<start name="ps2_drv">
<resource name="RAM" quantum="1M"/>
<provides><service name="Input"/></provides>
</start>}
append config {
<start name="audio_drv">
<binary name="} [audio_drv_binary] {"/>
<resource name="RAM" quantum="6M"/>
<provides><service name="Audio_out"/></provides>
</start>
<start name="timer">
<resource name="RAM" quantum="1M"/>
<provides><service name="Timer"/></provides>
</start>
<start name="drivers" caps="1500">
<resource name="RAM" quantum="32M" constrain_phys="yes"/>
<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="Input"/> <service name="Framebuffer"/>
</provides>
</start>
<start name="dosbox" caps="200">
<resource name="RAM" quantum="128M"/>
<config>
@@ -102,8 +59,6 @@ append config {
</start>
</config>}
install_config $config
if {![file exists bin/dosbox.tar]} {
puts ""
puts "You need to provide 'bin/dosbox.tar' that contains the DOS game you want to"
@@ -113,30 +68,5 @@ if {![file exists bin/dosbox.tar]} {
exit 1
}
#
# Boot modules
#
# generic modules
append boot_modules {
core init timer } [audio_drv_binary] {
ld.lib.so
libc.lib.so vfs.lib.so
libm.lib.so libpng.lib.so
stdcxx.lib.so sdl.lib.so sdl_net.lib.so zlib.lib.so
dosbox dosbox.tar
}
# platform-specific modules
lappend_if [have_spec linux] boot_modules fb_sdl
lappend_if [have_spec vesa] boot_modules fb_drv
lappend_if [have_spec ps2] boot_modules ps2_drv
lappend_if [have_spec pl11x] boot_modules fb_drv
append_platform_drv_boot_modules
build_boot_image $boot_modules
append qemu_args " -soundhw es1370 "
build_boot_image { dosbox dosbox.tar }
run_genode_until forever

View File

@@ -1,26 +1,26 @@
assert_spec x86
if {[have_spec linux]} {
puts "The [run_name] scenario requires QEMU networking."
exit 1
}
source ${genode_dir}/repos/base/run/platform_drv.inc
set build_components {
core init
app/drill
timer
drivers/nic
drivers/rtc
lib/vfs/jitterentropy
}
append_platform_drv_build_components
build $build_components
create_boot_directory
import_from_depot [depot_user]/src/[base_src] \
[depot_user]/pkg/[drivers_nic_pkg] \
[depot_user]/src/init \
[depot_user]/src/libc \
[depot_user]/src/libcrypto \
[depot_user]/src/libssl \
[depot_user]/src/posix \
[depot_user]/src/rtc_drv \
[depot_user]/src/vfs_jitterentropy \
[depot_user]/src/vfs_lxip \
[depot_user]/src/vfs
build { app/drill }
append config {
install_config {
<config>
<parent-provides>
<service name="CPU"/>
@@ -35,24 +35,29 @@ append config {
<default-route>
<any-service> <parent/> <any-child/></any-service>
</default-route>
<default caps="100"/>}
<default caps="100"/>
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"/>
<start name="drivers" caps="1000">
<resource name="RAM" quantum="32M" constrain_phys="yes"/>
<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="rtc_drv">
<resource name="RAM" quantum="4M"/>
<provides> <service name="Rtc"/> </provides>
</start>
<start name="drill" caps="256">
<resource name="RAM" quantum="32M"/>
<config>
@@ -74,27 +79,7 @@ append config {
</config>
}
install_config $config
set boot_modules {
core init ld.lib.so
drill
libc.lib.so vfs.lib.so
libcrypto.lib.so
libm.lib.so
libssl.lib.so
posix.lib.so
rtc_drv
timer
vfs_jitterentropy.lib.so
vfs_lxip.lib.so lxip.lib.so
}
# platform-specific modules
append_platform_drv_boot_modules
lappend boot_modules [nic_drv_binary]
build_boot_image $boot_modules
build_boot_image { drill }
append qemu_args " -nographic -net nic,model=e1000 -net user -net dump,file=[run_dir]/dump.pcap"

View File

@@ -12,26 +12,29 @@ assert_spec x86
if {![have_include power_on/qemu]} {
puts "\n Run script is not supported on this platform. \n"; exit 0 }
set build_components {
app/fetchurl
app/tor
core
drivers/nic
drivers/rtc
timer
init
lib/vfs/jitterentropy
server/dynamic_rom
server/nic_router
server/ram_fs
}
source ${genode_dir}/repos/base/run/platform_drv.inc
append_platform_drv_build_components
build $build_components
create_boot_directory
import_from_depot [depot_user]/src/[base_src] \
[depot_user]/pkg/[drivers_nic_pkg] \
[depot_user]/src/init \
[depot_user]/src/curl \
[depot_user]/src/dynamic_rom \
[depot_user]/src/fetchurl \
[depot_user]/src/libc \
[depot_user]/src/libcrypto \
[depot_user]/src/libssl \
[depot_user]/src/libssh \
[depot_user]/src/nic_router \
[depot_user]/src/posix \
[depot_user]/src/ram_fs \
[depot_user]/src/report_rom \
[depot_user]/src/rtc_drv \
[depot_user]/src/vfs_jitterentropy \
[depot_user]/src/vfs_lxip \
[depot_user]/src/vfs \
[depot_user]/src/zlib
build { app/tor }
set config {
install_config {
<config>
<parent-provides>
<service name="ROM"/>
@@ -57,13 +60,16 @@ set config {
<start name="rtc_drv">
<resource name="RAM" quantum="1M"/>
<provides> <service name="Rtc"/> </provides>
</start>}
</start>
append_platform_drv_config
append config {
<start name="nic_drv">
<resource name="RAM" quantum="4M"/>
<start name="drivers" caps="1000">
<resource name="RAM" quantum="32M" constrain_phys="yes"/>
<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>
@@ -91,7 +97,7 @@ append config {
</config>
<route>
<service name="Nic"> <child name="nic_drv"/> </service>
<service name="Nic"> <child name="drivers"/> </service>
<any-service> <parent/> <any-child/> </any-service>
</route>
</start>
@@ -158,11 +164,18 @@ DataDirectory /tor
<service name="Timer"/>
</parent-provides>
<start name="fetchurl" caps="500">
<resource name="RAM" quantum="8M"/>
<resource name="RAM" quantum="40M"/>
<config>
<vfs> <dir name="dev"> <log/> <null/> </dir> </vfs>
<libc stdout="/dev/log" stderr="/dev/log"
ip_addr="10.1.3.2" gateway="10.1.3.1" netmask="255.255.255.0"/>
<vfs>
<dir name="dev">
<log/> <null/> <inline name="rtc">2000-01-01 00:00</inline>
<inline name="random">01234567890123456789</inline>
</dir>
<dir name="socket">
<lxip ip_addr="10.1.3.2" gateway="10.1.3.1" netmask="255.255.255.0"/>
</dir>
</vfs>
<libc stdout="/dev/log" stderr="/dev/log" rtc="/dev/rtc" socket="/socket"/>
<fetch url="https://check.torproject.org/" path="/dev/log"
proxy="socks5h://10.1.3.1:9050"/>
</config>
@@ -189,36 +202,7 @@ DataDirectory /tor
</config>
}
install_config $config
set boot_modules {
core
curl.lib.so
dynamic_rom
fetchurl
init
ld.lib.so
libc.lib.so vfs.lib.so
posix.lib.so
libcrypto.lib.so
libevent.lib.so
libm.lib.so
libssh.lib.so
libssl.lib.so
lwip_legacy.lib.so
nic_drv
nic_router
pthread.lib.so
ram_fs
rtc_drv
timer
tor
vfs_jitterentropy.lib.so
zlib.lib.so
}
append_platform_drv_boot_modules
build_boot_image $boot_modules
build_boot_image { libevent.lib.so tor }
#
# Prepare network environment
@@ -234,9 +218,9 @@ if {[have_include power_on/qemu]} {
if { [info exists ::env(ETH) ] } {
set netdev $::env(ETH) }
exec sudo tunctl -u $username -t $tapdev > /dev/null
exec sudo ifconfig $tapdev up
exec sudo ifconfig $tapdev 10.1.1.1 netmask 255.255.255.0
exec sudo ip tuntap add dev $tapdev mode tap user $username
exec sudo ip address flush dev $tapdev
exec sudo ip address add 10.1.1.1/24 dev $tapdev
exec sudo iptables -t nat -A POSTROUTING -o $netdev -j MASQUERADE
exec sudo iptables -A FORWARD -i $tapdev -o $netdev -j ACCEPT
exec sudo iptables -A FORWARD -i $netdev -o $tapdev -m state --state RELATED,ESTABLISHED -j ACCEPT
@@ -245,7 +229,6 @@ if {[have_include power_on/qemu]} {
append qemu_args " -nographic -net nic,model=e1000 -net tap,ifname=tap0,downscript=no,script=no "
}
#
# Execute test case
#
@@ -263,8 +246,9 @@ if {[have_include power_on/qemu]} {
exec sudo sysctl -w net.ipv4.ip_forward=0 >/dev/null
exec sudo iptables -F
exec sudo iptables -t nat -F
exec sudo ifconfig $tapdev down
exec sudo tunctl -d $tapdev >/dev/null
exec sudo ip link set $tapdev down
exec sudo ip address flush dev $tapdev
exec sudo ip tuntap del dev $tapdev mode tap
}
# vi: set ft=tcl :

View File

@@ -1,28 +1,9 @@
proc nic_drv_opt {} {
if {[have_spec linux]} {
return "ld=\"no\""
}
return ""
}
#
# Test logging to file system
#
set build_components {
core init timer
proxy/log_udp
test/bomb
drivers/nic
}
source ${genode_dir}/repos/base/run/platform_drv.inc
append_platform_drv_build_components
build $build_components
create_boot_directory
build { proxy/log_udp }
import_from_depot [depot_user]/src/[base_src] \
[depot_user]/pkg/[drivers_nic_pkg] \
[depot_user]/src/init \
[depot_user]/src/test-bomb
install_config {
<config prio_levels="2">
@@ -40,34 +21,33 @@ install_config {
<any-service> <parent/> <any-child/> </any-service>
</default-route>
<default caps="100"/>
<start name="timer">
<resource name="CPU" quantum="10"/>
<resource name="RAM" quantum="1M"/>
<provides><service name="Timer"/></provides>
</start>
<start name="nic_drv" } [nic_drv_opt] {>
<binary name="} [nic_drv_binary] {" />
<resource name="RAM" quantum="4M"/>
<start name="drivers" caps="1000">
<resource name="RAM" quantum="32M" constrain_phys="yes"/>
<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>
<config>
<nic tap="tap1"/>
</config>
</start>
<start name="log_udp">
<resource name="RAM" quantum="2M"/>
<config ip="192.168.42.11" />
</start>
</config>}
append boot_modules {
core init ld.lib.so bomb timer log_udp
} [nic_drv_binary] {
}
append_platform_drv_boot_modules
build_boot_image $boot_modules
build_boot_image { log_udp }
append qemu_args " -nographic"
append qemu_args " -net tap,ifname=tap1 "
append qemu_args " -net tap,ifname=tap0 "
run_genode_until forever

View File

@@ -5,28 +5,14 @@ proc nic_drv_opt {} {
return ""
}
#
# Build
#
set build_components { core init timer
server/dynamic_rom
proxy/remote_rom/backend/nic_ip
app/rom_logger
drivers/nic
server/nic_bridge
}
source ${genode_dir}/repos/base/run/platform_drv.inc
append_platform_drv_build_components
build $build_components
create_boot_directory
#
# Generate config
#
build { proxy/remote_rom/backend/nic_ip }
import_from_depot [depot_user]/src/[base_src] \
[depot_user]/pkg/[drivers_nic_pkg] \
[depot_user]/src/init \
[depot_user]/src/nic_bridge \
[depot_user]/src/dynamic_rom \
[depot_user]/src/rom_logger
install_config {
<config>
@@ -40,6 +26,7 @@ install_config {
<service name="CPU" />
<service name="PD" />
<service name="IO_MEM" />
<service name="IO_PORT" />
<service name="IRQ" />
</parent-provides>
<default-route>
@@ -47,10 +34,23 @@ install_config {
<any-service> <parent/> <any-child/> </any-service>
</default-route>
<default caps="100" />
<start name="timer">
<resource name="RAM" quantum="1M"/>
<provides><service name="Timer"/></provides>
</start>
<start name="drivers" caps="1000">
<resource name="RAM" quantum="32M" constrain_phys="yes"/>
<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="dynamic_rom">
<resource name="RAM" quantum="4M"/>
<provides><service name="ROM"/></provides>
@@ -69,6 +69,7 @@ install_config {
</rom>
</config>
</start>
<start name="remote_rom_server">
<resource name="RAM" quantum="8M"/>
<route>
@@ -83,6 +84,7 @@ install_config {
src="192.168.42.10" dst="192.168.42.11" />
</config>
</start>
<start name="remote_rom_client">
<resource name="RAM" quantum="8M"/>
<provides><service name="ROM"/></provides>
@@ -90,23 +92,17 @@ install_config {
<remote_rom name="remote" src="192.168.42.11" dst="192.168.42.10" />
</config>
</start>
<start name="nic_bridge">
<resource name="RAM" quantum="4M"/>
<provides><service name="Nic"/></provides>
<route>
<service name="Nic"> <child name="nic_drv"/> </service>
<service name="Nic"> <child name="drivers"/> </service>
<any-service> <parent/> </any-service>
</route>
<config> <default-policy/> </config>
</start>
<start name="nic_drv" } [nic_drv_opt] {>
<binary name="} [nic_drv_binary] {" />
<resource name="RAM" quantum="4M"/>
<provides><service name="Nic"/></provides>
<config>
<nic tap="tap1"/>
</config>
</start>
<start name="rom_logger">
<resource name="RAM" quantum="4M"/>
<config rom="remote" />
@@ -119,21 +115,7 @@ install_config {
</start>
</config>}
#
# Boot image
#
append boot_modules { core ld.lib.so init timer
remote_rom_server
remote_rom_client
dynamic_rom
rom_logger
} [nic_drv_binary] {
nic_bridge
}
append_platform_drv_boot_modules
build_boot_image $boot_modules
build_boot_image { remote_rom_server remote_rom_client }
append qemu_args " -nographic "

View File

@@ -1,31 +1,12 @@
proc nic_drv_opt {} {
if {[have_spec linux]} {
return "ld=\"no\""
}
return ""
}
#
# Build
#
set build_components { core init timer
create_boot_directory
import_from_depot [depot_user]/src/[base_src] \
[depot_user]/pkg/[drivers_nic_pkg] \
[depot_user]/src/init
build {
app/rom_logger
proxy/remote_rom/backend/nic_ip/client
drivers/nic
}
source ${genode_dir}/repos/base/run/platform_drv.inc
append_platform_drv_build_components
build $build_components
create_boot_directory
#
# Generate config
#
install_config {
<config>
<parent-provides>
@@ -48,6 +29,18 @@ install_config {
<resource name="RAM" quantum="1M"/>
<provides><service name="Timer"/></provides>
</start>
<start name="drivers" caps="1000">
<resource name="RAM" quantum="32M" constrain_phys="yes"/>
<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="rom_logger">
<resource name="RAM" quantum="4M"/>
<config rom="remote" />
@@ -58,6 +51,7 @@ install_config {
<any-service> <parent/> </any-service>
</route>
</start>
<start name="remote_rom_client">
<resource name="RAM" quantum="8M"/>
<provides><service name="ROM"/></provides>
@@ -65,30 +59,12 @@ install_config {
<remote_rom name="remote" src="192.168.42.11" dst="192.168.42.10" />
</config>
</start>
<start name="nic_drv" } [nic_drv_opt] {>
<binary name="} [nic_drv_binary] {" />
<resource name="RAM" quantum="4M"/>
<provides><service name="Nic"/></provides>
<config>
<nic tap="tap1"/>
</config>
</start>
</config>}
#
# Boot image
#
append boot_modules { core ld.lib.so init timer
build_boot_image {
remote_rom_client
rom_logger
} [nic_drv_binary] {
}
append_platform_drv_boot_modules
build_boot_image $boot_modules
append qemu_args " -nographic "
append qemu_args " -net tap,ifname=tap2 "
append qemu_args " -net tap,ifname=tap0 "
run_genode_until forever

View File

@@ -1,30 +1,9 @@
proc nic_drv_opt {} {
if {[have_spec linux]} {
return "ld=\"no\""
}
return ""
}
#
# Build
#
set build_components { core init timer
server/dynamic_rom
proxy/remote_rom/backend/nic_ip/server
drivers/nic
}
source ${genode_dir}/repos/base/run/platform_drv.inc
append_platform_drv_build_components
build $build_components
create_boot_directory
#
# Generate config
#
build { proxy/remote_rom/backend/nic_ip/server }
import_from_depot [depot_user]/src/[base_src] \
[depot_user]/pkg/[drivers_nic_pkg] \
[depot_user]/src/init \
[depot_user]/src/dynamic_rom
install_config {
<config>
@@ -44,10 +23,23 @@ install_config {
<any-service> <parent/> <any-child/> </any-service>
</default-route>
<default caps="100" />
<start name="timer">
<resource name="RAM" quantum="1M"/>
<provides><service name="Timer"/></provides>
</start>
<start name="drivers" caps="1000">
<resource name="RAM" quantum="32M" constrain_phys="yes"/>
<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="dynamic_rom">
<resource name="RAM" quantum="4M"/>
<provides><service name="ROM"/></provides>
@@ -66,13 +58,14 @@ install_config {
</rom>
</config>
</start>
<start name="remote_rom_server">
<resource name="RAM" quantum="8M"/>
<route>
<service name="ROM" label_suffix="remote">
<child name="dynamic_rom" label="test"/>
</service>
<service name="Nic"> <child name="nic_drv"/> </service>
<service name="Nic"> <child name="drivers"/> </service>
<any-service> <parent/> <any-child/> </any-service>
</route>
<config>
@@ -80,30 +73,11 @@ install_config {
src="192.168.42.10" dst="192.168.42.11" />
</config>
</start>
<start name="nic_drv" } [nic_drv_opt] {>
<binary name="} [nic_drv_binary] {" />
<resource name="RAM" quantum="4M"/>
<provides><service name="Nic"/></provides>
<config>
<nic tap="tap1"/>
</config>
</start>
</config>}
#
# Boot image
#
append boot_modules { core ld.lib.so init timer
remote_rom_server
dynamic_rom
} [nic_drv_binary] {
}
append_platform_drv_boot_modules
build_boot_image $boot_modules
build_boot_image { remote_rom_server }
append qemu_args " -nographic "
append qemu_args " -net tap,ifname=tap2 "
append qemu_args " -net tap,ifname=tap0 "
run_genode_until forever

View File

@@ -3,11 +3,7 @@
# \author Emery Hemingway
#
if {[have_spec odroid_xu] || [have_spec linux] ||
[expr [have_spec imx53] && [have_spec trustzone]]} {
puts "Run script does not support this platform."
exit 0
}
assert_spec x86
set build_components {
app/ssh_client
@@ -16,18 +12,9 @@ set build_components {
lib/vfs/lwip
}
proc gpio_drv { } { if {[have_spec rpi] && [have_spec hw]} { return hw_gpio_drv }
if {[have_spec rpi] && [have_spec foc]} { return foc_gpio_drv }
return gpio_drv }
lappend_if [have_spec gpio] build_components drivers/gpio
source ${genode_dir}/repos/base/run/platform_drv.inc
append_platform_drv_build_components
lappend_if [expr {[nic_drv_binary] == "nic_drv"}] build_components drivers/nic
lappend_if [expr {[nic_drv_binary] == "usb_drv"}] build_components drivers/usb
build $build_components
create_boot_directory
@@ -59,26 +46,20 @@ append config {
append_platform_drv_config
append_if [have_spec gpio] config "
<start name=\"[gpio_drv]\" caps=\"140\">
<resource name=\"RAM\" quantum=\"4M\"/>
<provides><service name=\"Gpio\"/></provides>
<config/>
</start>"
append config {
<start name="timer">
<resource name="RAM" quantum="1M"/>
<provides> <service name="Timer"/> </provides>
</start>
<start name="nic_drv" caps="120">
<binary name="} [nic_drv_binary] {"/>
<binary name="ipxe_nic_drv"/>
<resource name="RAM" quantum="16M"/>
<provides> <service name="Nic"/> </provides>
} [nic_drv_config] {
</start>
<start name="fb_drv" caps="200">
<binary name="vesa_fb_drv"/>
<resource name="RAM" quantum="10M"/>
<provides><service name="Framebuffer"/></provides>
<config buffered="yes"/>
@@ -147,6 +128,7 @@ install_config $config
# generic modules
set boot_modules {
ipxe_nic_drv
libc.lib.so
libcrypto.lib.so
libm.lib.so
@@ -160,18 +142,9 @@ set boot_modules {
# platform-specific modules
append_platform_drv_boot_modules
lappend boot_modules [nic_drv_binary]
lappend_if [have_spec ps2] boot_modules ps2_drv
lappend_if [have_spec framebuffer] boot_modules fb_drv
lappend_if [have_spec gpio] boot_modules [gpio_drv]
build_boot_image $boot_modules
append_if [have_spec x86] qemu_args " -net nic,model=e1000 "
append_if [have_spec lan9118] qemu_args " -net nic,model=lan9118 "
append qemu_args " -net nic,model=e1000 "
append qemu_args " -net user -net dump,file=[run_dir].pcap"
run_genode_until forever

View File

@@ -4,6 +4,7 @@
# \date 2016-02-24
#
assert_spec x86
if {![have_include "load/tftp"]} {
puts "please enable TFTP booting first"
exit 1
@@ -51,7 +52,7 @@ append config {
<resource name="RAM" quantum="1M"/>
<provides> <service name="Timer"/> </provides>
</start>
<start name="nic_drv">
<start name="ipxe_nic_drv">
<resource name="RAM" quantum="4M"/>
<provides> <service name="Nic"/> </provides>
</start>
@@ -115,7 +116,7 @@ set boot_modules {
libc.lib.so vfs.lib.so
libm.lib.so
lwip_legacy.lib.so
nic_drv
ipxe_nic_drv
test-libc
tftp_rom
timer

View File

@@ -9,35 +9,18 @@ if {[have_spec odroid_xu] || [have_spec linux] ||
exit 0
}
set build_components {
app/tox_dht_bootstrap
drivers/nic
lib/vfs/import
}
proc gpio_drv { } { if {[have_spec rpi] && [have_spec hw]} { return hw_gpio_drv }
if {[have_spec rpi] && [have_spec foc]} { return foc_gpio_drv }
return gpio_drv }
lappend_if [have_spec gpio] build_components drivers/gpio
source ${genode_dir}/repos/base/run/platform_drv.inc
append_platform_drv_build_components
lappend_if [expr {[nic_drv_binary] == "nic_drv"}] build_components drivers/nic
lappend_if [expr {[nic_drv_binary] == "usb_drv"}] build_components drivers/usb
build $build_components
create_boot_directory
build { app/tox_dht_bootstrap lib/vfs/import }
import_from_depot \
[depot_user]/src/[base_src] \
[depot_user]/pkg/[drivers_nic_pkg] \
[depot_user]/src/init \
[depot_user]/src/libc \
[depot_user]/src/vfs \
[depot_user]/src/vfs_lwip \
[depot_user]/src/report_rom \
append config {
install_config {
<config>
<parent-provides>
<service name="CPU"/>
@@ -54,32 +37,27 @@ append config {
<default-route>
<service name="Report"> <child name="report_rom"/> </service>
<any-service> <parent/> <any-child/> </any-service>
</default-route>}
</default-route>
append_platform_drv_config
append_if [have_spec gpio] config "
<start name=\"[gpio_drv]\" caps=\"140\">
<resource name=\"RAM\" quantum=\"4M\"/>
<provides><service name=\"Gpio\"/></provides>
<config/>
</start>"
append config {
<start name="timer">
<resource name="RAM" quantum="1M"/>
<provides> <service name="Timer"/> </provides>
</start>
<start name="nic_drv" caps="120">
<binary name="} [nic_drv_binary] {"/>
<resource name="RAM" quantum="16M"/>
<start name="drivers" caps="1000">
<resource name="RAM" quantum="32M" constrain_phys="yes"/>
<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>
} [nic_drv_config] {
</start>
<start name="report_rom">
<resource name="RAM" quantum="2M"/>
<provides> <service name="Report"/> </provides>
<provides> <service name="Report"/> <service name="ROM"/> </provides>
<config verbose="yes"/>
</start>
@@ -112,27 +90,12 @@ append config {
</config>
}
install_config $config
# generic modules
set boot_modules {
libc.lib.so
libm.lib.so
build_boot_image {
libsodium.lib.so
c-toxcore.lib.so
tox_dht_bootstrap
vfs.lib.so
}
# platform-specific modules
append_platform_drv_boot_modules
lappend boot_modules [nic_drv_binary]
lappend_if [have_spec gpio] boot_modules [gpio_drv]
build_boot_image $boot_modules
append_if [have_spec x86] qemu_args " -net nic,model=e1000 "
append_if [have_spec lan9118] qemu_args " -net nic,model=lan9118 "
append qemu_args " -net user -net dump,file=[run_dir].pcap"

View File

@@ -1,23 +1,8 @@
if {[expr [have_spec linux]]} {
puts "\n Run script is not supported on this platform. \n"; exit 0 }
#
# Test logging to file system
#
set build_components {
core init timer
proxy/udp_log
test/bomb
drivers/nic
}
source ${genode_dir}/repos/base/run/platform_drv.inc
append_platform_drv_build_components
build $build_components
create_boot_directory
import_from_depot [depot_user]/src/[base_src] \
[depot_user]/pkg/[drivers_nic_pkg] \
[depot_user]/src/init
build { proxy/udp_log test/bomb }
install_config {
<config prio_levels="2">
@@ -35,16 +20,24 @@ install_config {
<any-service> <parent/> <any-child/> </any-service>
</default-route>
<default caps="100"/>
<start name="timer">
<resource name="CPU" quantum="10"/>
<resource name="RAM" quantum="1M"/>
<provides><service name="Timer"/></provides>
</start>
<start name="nic_drv">
<binary name="} [nic_drv_binary] {" />
<resource name="RAM" quantum="2M"/>
<start name="drivers" caps="1000">
<resource name="RAM" quantum="32M" constrain_phys="yes"/>
<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="udp_log">
<resource name="RAM" quantum="2M"/>
<provides><service name="LOG"/></provides>
@@ -52,6 +45,7 @@ install_config {
<default-policy ip="192.168.42.11" />
</config>
</start>
<start name="bomb-master" priority="-1" caps="500">
<binary name="bomb"/>
<resource name="CPU" quantum="90"/>
@@ -63,15 +57,9 @@ install_config {
</start>
</config>}
append boot_modules {
core init ld.lib.so bomb timer udp_log
} [nic_drv_binary] {
}
append_platform_drv_boot_modules
build_boot_image $boot_modules
build_boot_image { bomb udp_log }
append qemu_args " -nographic"
append qemu_args " -net tap,ifname=tap2 "
append qemu_args " -net tap,ifname=tap0 "
run_genode_until forever

View File

@@ -3,30 +3,19 @@ if {![have_include power_on/qemu]} {
exit 0
}
#
# Build
#
set build_components {
core init
timer
drivers/nic
lib/vfs/lwip
app/umurmur
}
source ${genode_dir}/repos/base/run/platform_drv.inc
append_platform_drv_build_components
build $build_components
create_boot_directory
build { app/umurmur }
import_from_depot [depot_user]/src/[base_src] \
[depot_user]/pkg/[drivers_nic_pkg] \
[depot_user]/src/init \
[depot_user]/src/libc \
[depot_user]/src/libcrypto \
[depot_user]/src/libssl \
[depot_user]/src/posix \
[depot_user]/src/vfs_lwip \
[depot_user]/src/vfs
#
# Generate config
#
set config {
install_config {
<config verbose="yes">
<parent-provides>
<service name="ROM"/>
@@ -45,13 +34,16 @@ set config {
<start name="timer">
<resource name="RAM" quantum="1M"/>
<provides> <service name="Timer"/> </provides>
</start>}
</start>
append_platform_drv_config
append config {
<start name="nic_drv" caps="130">
<resource name="RAM" quantum="20M"/>
<start name="drivers" caps="1000">
<resource name="RAM" quantum="32M" constrain_phys="yes"/>
<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>
@@ -94,35 +86,10 @@ default_channel = "Lobby";
</vfs>
<libc stdout="/dev/log" stderr="/dev/log" rtc="/dev/rtc" socket="/socket"/>
</config>
</start>}
append config {
</start>
</config>}
install_config $config
#
# Boot modules
#
# generic modules
set boot_modules {
core init timer nic_drv
ld.lib.so libc.lib.so vfs.lib.so vfs_lwip.lib.so
libcrypto.lib.so libssl.lib.so
libm.lib.so posix.lib.so
libconfig.lib.so protobuf-c.lib.so
umurmur
}
# platform-specific modules
append_platform_drv_boot_modules
build_boot_image $boot_modules
#
# Execute test case
#
build_boot_image { libconfig.lib.so protobuf-c.lib.so umurmur }
# qemu config
append qemu_args " -nographic -net nic,model=e1000 "

View File

@@ -1,3 +1,4 @@
assert_spec x86
set usb_raw_device "x.x"
if {[have_include power_on/qemu]} {
@@ -23,8 +24,6 @@ set build_components {
test/input
}
lappend_if [have_spec gpio] build_components drivers/gpio
source ${genode_dir}/repos/base/run/platform_drv.inc
append_platform_drv_build_components
@@ -56,13 +55,6 @@ set config {
append_platform_drv_config
append_if [have_spec gpio] config {
<start name="gpio_drv">
<resource name="RAM" quantum="4M"/>
<provides><service name="Gpio"/></provides>
<config/>
</start>}
append config {
<start name="timer">
<resource name="RAM" quantum="1M"/>