diff --git a/repos/ports/run/bash.run b/repos/ports/run/bash.run index f8d2ed2bc0..075ddf3dd6 100644 --- a/repos/ports/run/bash.run +++ b/repos/ports/run/bash.run @@ -145,8 +145,8 @@ set fd [open [run_dir]/genode/focus w] puts $fd " \" domain=\"default\"/>" close $fd -build { lib/ld test/fork test/execve } +build { lib/ld lib/libc lib/vfs lib/posix test/fork test/execve } -build_boot_image { ld.lib.so libc.lib.so libm.lib.so vfs.lib.so posix.lib.so } +build_boot_image [build_artifacts] run_genode_until forever diff --git a/repos/ports/run/gdb_monitor.run b/repos/ports/run/gdb_monitor.run index f09bffcb5c..c79db2f38b 100644 --- a/repos/ports/run/gdb_monitor.run +++ b/repos/ports/run/gdb_monitor.run @@ -14,16 +14,11 @@ if {![have_include "power_on/qemu"] || puts "Run script is only supported for NOVA in Qemu"; exit 0 } -# -# Build -# - set build_components { - core init timer - drivers/uart - app/gdb_monitor - test/gdb_monitor + core lib/ld init timer lib/libc lib/libm lib/vfs lib/posix lib/stdcxx lib/vfs_pipe + drivers/uart + app/gdb_monitor lib/gdbserver_platform test/gdb_monitor } lappend build_components "lib/gdbserver_platform-$::env(KERNEL)" @@ -32,11 +27,7 @@ build $build_components create_boot_directory -# -# Generate config -# - -set config { +install_config { @@ -90,31 +81,17 @@ set config { } -install_config $config - -# -# Boot modules -# - # evaluated by the run tool proc binary_name_gdbserver_platform_lib_so { } { return "gdbserver_platform-$::env(KERNEL).lib.so" } -# generic modules -set boot_modules { - core init timer - ld.lib.so libc.lib.so vfs.lib.so libm.lib.so - pc_uart_drv posix.lib.so stdcxx.lib.so vfs_pipe.lib.so - gdb_monitor gdbserver_platform.lib.so test-gdb_monitor -} - -build_boot_image $boot_modules +build_boot_image [build_artifacts] # # Execute test case # -# + set local_port 5555 # qemu config diff --git a/repos/ports/run/gdb_monitor_interactive.run b/repos/ports/run/gdb_monitor_interactive.run index bc1c2f624d..8c0d56f1d4 100644 --- a/repos/ports/run/gdb_monitor_interactive.run +++ b/repos/ports/run/gdb_monitor_interactive.run @@ -10,16 +10,11 @@ if {![have_include "power_on/qemu"] || puts "Run script is only supported for NOVA in Qemu"; exit 0 } -# -# Build -# - set build_components { - core init timer + core lib/ld init timer + lib/libc lib/libm lib/vfs lib/stdcxx lib/vfs_pipe lib/posix drivers/uart - app/gdb_monitor - test/gdb_monitor - lib/vfs_pipe + app/gdb_monitor lib/gdbserver_platform test/gdb_monitor } lappend build_components "lib/gdbserver_platform-$::env(KERNEL)" @@ -28,11 +23,7 @@ build $build_components create_boot_directory -# -# Generate config -# - -set config { +install_config { @@ -86,31 +77,17 @@ set config { } -install_config $config - -# -# Boot modules -# - # evaluated by the run tool proc binary_name_gdbserver_platform_lib_so { } { return "gdbserver_platform-$::env(KERNEL).lib.so" } -# generic modules -set boot_modules { - core init timer - ld.lib.so libc.lib.so libm.lib.so vfs.lib.so stdcxx.lib.so - pc_uart_drv posix.lib.so vfs_pipe.lib.so - gdb_monitor gdbserver_platform.lib.so test-gdb_monitor -} - -build_boot_image $boot_modules +build_boot_image [build_artifacts] # # Execute test case # -# + set local_port 5555 # qemu config diff --git a/repos/ports/run/gdb_monitor_target_config.run b/repos/ports/run/gdb_monitor_target_config.run index 4040dc609d..621e6b68a8 100644 --- a/repos/ports/run/gdb_monitor_target_config.run +++ b/repos/ports/run/gdb_monitor_target_config.run @@ -9,16 +9,10 @@ if {![have_include "power_on/qemu"] || puts "Run script is only supported for NOVA in Qemu"; exit 0 } -# -# Build -# - set build_components { - core init timer + core lib/ld init timer lib/libc lib/libm lib/vfs lib/stdcxx lib/vfs_pipe drivers/uart - app/gdb_monitor - test/gdb_monitor_target_config - lib/vfs_pipe + app/gdb_monitor lib/gdbserver_platform test/gdb_monitor_target_config } lappend build_components "lib/gdbserver_platform-$::env(KERNEL)" @@ -27,11 +21,7 @@ build $build_components create_boot_directory -# -# Generate config -# - -set config { +install_config { @@ -86,31 +76,17 @@ set config { } -install_config $config - -# -# Boot modules -# - # evaluated by the run tool proc binary_name_gdbserver_platform_lib_so { } { return "gdbserver_platform-$::env(KERNEL).lib.so" } -# generic modules -set boot_modules { - core init timer - ld.lib.so libc.lib.so libm.lib.so vfs.lib.so stdcxx.lib.so - pc_uart_drv vfs_pipe.lib.so - gdb_monitor gdbserver_platform.lib.so test-gdb_monitor_target_config -} - -build_boot_image $boot_modules +build_boot_image [build_artifacts] # # Execute test case # -# + set local_port 5555 # qemu config diff --git a/repos/ports/run/lighttpd.run b/repos/ports/run/lighttpd.run index 89462fab82..c32f99b548 100644 --- a/repos/ports/run/lighttpd.run +++ b/repos/ports/run/lighttpd.run @@ -220,8 +220,7 @@ EpA5DBBklj8UE2CdONvN } -#build { } -build_boot_image { } +build_boot_image [build_artifacts] append qemu_args " -nographic " append_qemu_nic_args "hostfwd=tcp::5555-:80,hostfwd=tcp::5556-:443" diff --git a/repos/ports/run/microcode.run b/repos/ports/run/microcode.run index a3d04c7dba..3407fdd5f4 100644 --- a/repos/ports/run/microcode.run +++ b/repos/ports/run/microcode.run @@ -29,7 +29,7 @@ if {![file exists bin/micro.code]} { proc apply_microcode { } { return true } -build "core init test/microcode" +build { core lib/ld init test/microcode } create_boot_directory @@ -55,14 +55,9 @@ foreach file $microcode_files { copy_file $file bin/ } -set boot_modules { core ld.lib.so init test-microcode } - - set microcode_files [glob -tails -dir bin {[0-9,a-f][0-9,a-f]-[0-9,a-f][0-9,a-f]-[0-9,a-f][0-9,a-f]}] -append boot_modules $microcode_files - -build_boot_image $boot_modules +build_boot_image [list {*}[build_artifacts] {*}$microcode_files] append qemu_args "-nographic " diff --git a/repos/ports/run/netperf.inc b/repos/ports/run/netperf.inc index 5718846936..2c2a49ff20 100644 --- a/repos/ports/run/netperf.inc +++ b/repos/ports/run/netperf.inc @@ -453,8 +453,7 @@ if { $use_usb_driver } { close $fd } -set boot_modules { netserver } -build_boot_image $boot_modules +build_boot_image [build_artifacts] # # Execute test case diff --git a/repos/ports/run/vbox_share.inc b/repos/ports/run/vbox_share.inc index 2d9367375c..27bc37c45d 100644 --- a/repos/ports/run/vbox_share.inc +++ b/repos/ports/run/vbox_share.inc @@ -101,11 +101,10 @@ catch { exec dd if=/dev/urandom of=bin/test.bin bs=4096 count=8160 } # Step 1: prepare and start the actual VM # set build_components { - server/event_filter - server/report_rom server/fs_rom server/vfs - server/tcp_terminal drivers/nic - lib/vfs_lwip lib/vfs_pipe lib/vfs_import - server/nic_router + lib/vfs lib/libc lib/posix lib/vfs_lwip lib/vfs_pipe lib/vfs_import + server/event_filter server/report_rom server/fs_rom server/vfs + server/tcp_terminal server/nic_router + drivers/nic } # @@ -114,15 +113,10 @@ set build_components { foreach pkg {bash coreutils} { lappend_if [expr ![file exists bin/$pkg]] build_components noux-pkg/$pkg } -set boot_modules { - vfs fs_rom nic_router - posix.lib.so bash.tar coreutils.tar - tcp_terminal vfs_lwip.lib.so vfs_pipe.lib.so vfs_import.lib.so - pc_nic_drv report_rom event_filter - test.bin template.bat -} +set boot_modules [build_artifacts] -append boot_modules $vbox_file +lappend boot_modules { bash.tar coreutils.tar test.bin template.bat } +lappend boot_modules $vbox_file set config_of_app { diff --git a/repos/ports/run/vbox_win.inc b/repos/ports/run/vbox_win.inc index fe3516c32a..5828d56dcd 100644 --- a/repos/ports/run/vbox_win.inc +++ b/repos/ports/run/vbox_win.inc @@ -44,14 +44,7 @@ set build_components { server/dynamic_rom } -set boot_modules { - nic_router - event_filter - pc_nic_drv - pci_audio_drv - report_rom - dynamic_rom -} +set boot_modules [build_artifacts] set virtualbox5_binary "virtualbox5-nova" diff --git a/repos/ports/run/verify.run b/repos/ports/run/verify.run index 7d69ee1bb0..6eaf3f0a48 100644 --- a/repos/ports/run/verify.run +++ b/repos/ports/run/verify.run @@ -45,13 +45,13 @@ install_config { } -build { app/verify } +build { app/verify lib/libc lib/vfs } exec tar cf [run_dir]/genode/test.tar -C [genode_dir]/repos/ports/src/app/verify/test . copy_file [select_from_repositories sculpt/depot/nfeske/pubkey] [run_dir]/genode/pubkey -build_boot_image { verify libc.lib.so vfs.lib.so } +build_boot_image [build_artifacts] append qemu_args " -nographic " diff --git a/repos/ports/run/vim.run b/repos/ports/run/vim.run index c7cc9d410e..c6c9aba444 100644 --- a/repos/ports/run/vim.run +++ b/repos/ports/run/vim.run @@ -218,6 +218,6 @@ copy_file [genode_dir]/repos/gems/recipes/raw/motif_wm/wm.config [run_dir]/genod build { server/wm server/clipboard server/terminal } -build_boot_image { wm clipboard terminal } +build_boot_image [build_artifacts] run_genode_until forever diff --git a/repos/ports/run/virtualbox.run b/repos/ports/run/virtualbox.run index 9749b0ec35..fbfbb97294 100644 --- a/repos/ports/run/virtualbox.run +++ b/repos/ports/run/virtualbox.run @@ -9,14 +9,12 @@ set use_top 1 set use_gui 0 set build_components { - drivers/framebuffer + lib/libiconv lib/qemu-usb lib/libyuv server/report_rom + drivers/framebuffer + virtualbox5 } -append build_components virtualbox5 - -set virtualbox_binary "virtualbox5-nova" - create_boot_directory import_from_depot [depot_user]/src/[base_src] \ @@ -37,8 +35,6 @@ lappend_if [have_spec x86] build_components drivers/rtc lappend_if [expr $use_net] build_components drivers/nic lappend_if [expr $use_net] build_components server/nic_router -build $build_components - set config { @@ -279,26 +275,7 @@ install_config $config exec cp ${genode_dir}/repos/ports/run/test.vbox bin/. -set boot_modules { test.iso test.vbox } - -append boot_modules $virtualbox_binary - -# platform-specific modules -lappend_if [have_spec x86] boot_modules rtc_drv -lappend_if [expr $use_top] boot_modules top -lappend_if [expr $use_gui] boot_modules report_rom - -append boot_modules { - libiconv.lib.so - qemu-usb.lib.so - libyuv.lib.so -} - -append_if [expr $use_net] boot_modules { pc_nic_drv } -append_if [expr $use_net] boot_modules { nic_router } -append_if [expr $use_serial] boot_modules { log_terminal } - -build_boot_image $boot_modules +build_boot_image [list {*}[build_artifacts] test.iso test.vbox] if {[have_include "power_on/qemu"]} { if {[expr $use_gui]} { diff --git a/repos/ports/run/virtualbox6.run b/repos/ports/run/virtualbox6.run index a6cde4329a..258f647d31 100644 --- a/repos/ports/run/virtualbox6.run +++ b/repos/ports/run/virtualbox6.run @@ -34,14 +34,17 @@ lappend_if [expr $use_net] depot_archives [depot_user]/src/nic_router import_from_depot $depot_archives -set build_components { virtualbox6 } +set build_components { + lib/libc lib/vfs lib/libiconv lib/stdcxx + lib/qemu-usb lib/virtualbox6-shaderlib + drivers/audio + virtualbox6 +} lappend_if [expr $use_top] build_components app/top lappend_if [expr $use_serial] build_components server/log_terminal lappend_if [have_spec x86] build_components drivers/rtc -lappend build_components drivers/audio - build $build_components set config { @@ -285,19 +288,8 @@ set fd [open [run_dir]/genode/focus w] puts $fd " focus\"/>" close $fd -set boot_modules { - rtc_drv - virtualbox6 libc.lib.so vfs.lib.so libm.lib.so libiconv.lib.so stdcxx.lib.so - qemu-usb.lib.so virtualbox6-shaderlib.lib.so - fb_drv.config test.iso virtualbox6.vbox -} +set boot_modules [build_artifacts] -# platform-specific modules -lappend_if [expr $use_top] boot_modules top - -append_if [expr $use_net] boot_modules { pc_nic_drv } -append_if [expr $use_net] boot_modules { nic_router } -append_if [expr $use_serial] boot_modules { log_terminal } append_if [expr $use_overlay] boot_modules { overlay.vdi } lappend boot_modules pci_audio_drv diff --git a/repos/ports/run/virtualbox_auto.inc b/repos/ports/run/virtualbox_auto.inc index 8745b3c7a5..09dce8f6f9 100644 --- a/repos/ports/run/virtualbox_auto.inc +++ b/repos/ports/run/virtualbox_auto.inc @@ -56,16 +56,17 @@ append build_components { drivers/framebuffer drivers/rtc drivers/ps2 + lib/qemu-usb lib/libyuv virtualbox5 } -lappend_if [expr $use_serial] build_components server/log_terminal -lappend_if [expr $use_usb] build_components app/usb_report_filter +lappend_if [expr $use_serial] build_components server/log_terminal +lappend_if [expr $use_usb] build_components app/usb_report_filter lappend_if [expr $use_ram_fs || $use_usb] build_components lib/vfs_import lappend_if [expr $use_cpu_load] build_components app/trace_subject_reporter lappend_if [expr $use_cpu_load] build_components app/cpu_load_display lappend_if [expr $use_cpu_load] build_components app/top -lappend_if [have_spec nova] build_components app/log_core +lappend_if [have_spec nova] build_components app/log_core build $build_components @@ -449,22 +450,9 @@ append config { install_config $config -append boot_modules { - ahci_drv - ps2_drv - rtc_drv - vesa_fb_drv - qemu-usb.lib.so - libyuv.lib.so -} -append boot_modules $virtualbox5_binary +set boot_modules [build_artifacts] -lappend_if [expr $use_serial] boot_modules log_terminal lappend_if [expr $use_ram_fs && !$use_overlay_from_disk] boot_modules $overlay_image -lappend_if [expr $use_cpu_load] boot_modules trace_subject_reporter -lappend_if [expr $use_cpu_load] boot_modules cpu_load_display -lappend_if [expr $use_cpu_load] boot_modules top -lappend_if [have_spec nova] boot_modules log_core # platform-specific modules lappend_if [expr $use_usb] boot_modules usb_report_filter