if {(![have_spec nova] && ![have_spec muen])} { puts "Platform is unsupported." exit 0 } if {[have_include "power_on/qemu"]} { puts "\nRun script does not support Qemu.\n" exit } if {([have_spec muen] && [expr $use_vbox5])} { puts "Run script does not support vbox5 on Muen." exit 0 } if {([have_spec muen] && $flavor != "win7")} { puts "Run script does not support $flavor on Muen." exit 0 } if { [get_cmd_switch --autopilot] && [have_spec x86_32] } { puts "Run script does not support autopilot mode on 32 bit" exit 0 } if {[have_spec nova]} { proc kernel_output { } { return "novga logmem" } } create_boot_directory import_from_depot [depot_user]/src/[base_src] \ [depot_user]/src/init \ [depot_user]/src/nitpicker if {$use_vms > 1} { import_from_depot [depot_user]/pkg/themed_wm } append build_components { server/part_block server/fs_rom drivers/ahci drivers/framebuffer } lappend_if [expr $use_rumpfs] build_components server/rump_fs lappend_if [expr $use_vbox5] build_components virtualbox5 lappend_if [expr $use_ps2] build_components drivers/input lappend_if [expr $use_usb] build_components drivers/usb lappend_if [expr $use_usb] build_components app/usb_report_filter lappend_if [have_spec x86] build_components drivers/rtc lappend_if [expr $use_ram_fs || $use_usb] build_components server/ram_fs 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 source ${genode_dir}/repos/base/run/platform_drv.inc # override defaults of platform_drv.inc proc platform_drv_priority {} { return { priority="-1"} } append_platform_drv_build_components build $build_components set config { } if {$use_vms > 1} { append config " " } append config { } append_if [have_spec muen] config { } append_if [expr $use_cpu_load] config { } append config { } append_if [expr $use_rumpfs] config { } append_if [expr !$use_rumpfs] config { } append config { } append_if [have_spec nova] config { } append_if [expr $use_rumpfs] config { } append_if [expr $use_rumpfs && $use_ram_fs && $use_overlay_from_disk] config { } append_if [expr $use_rumpfs] config { } append_if [expr $use_ram_fs] config { } append_if [expr $use_ram_fs] config " " append_if [expr $use_ram_fs] config { } for { set i 1} { $i <= ${use_vms} } { incr i} { append_if [expr $use_ram_fs] config " " } append_if [expr $use_ram_fs] config { } for { set i 1} { $i <= ${use_vms} } { incr i} { append_if [expr $use_ram_fs] config " from_ram_fs\" root=\"/ram${i}\" writeable=\"yes\"/>" } append_if [expr $use_ram_fs] config { } append_if [expr $use_ram_fs && $use_overlay_from_disk] config "" append_if [expr $use_ram_fs && $use_overlay_from_disk] config { } append_if [expr $use_ram_fs] config { } append_if [expr $use_ram_fs && $use_overlay_from_disk] config { } append_if [expr $use_rumpfs && $use_ram_fs && $use_overlay_from_disk] config { } append_if [expr $use_ram_fs && $use_overlay_from_disk] config { } append_platform_drv_config append_if [expr $use_ps2] config { } append_if [expr $use_cpu_load] config { } append_if [expr $use_usb] config { } append_if [expr $use_usb && ![have_spec muen]] config { } append_if [expr $use_usb && [have_spec muen]] config { } append_if [expr $use_usb] config { } append_if [have_spec framebuffer] config { } append_if [have_spec x86] config { } append config $config_of_app append config { } install_config $config append boot_modules { part_block ahci_drv fs_rom libc.lib.so vfs.lib.so libm.lib.so libc_pipe.lib.so libc_terminal.lib.so libiconv.lib.so stdcxx.lib.so qemu-usb.lib.so } lappend_if [expr $use_rumpfs] boot_modules rump.lib.so lappend_if [expr $use_rumpfs] boot_modules rump_fs.lib.so lappend_if [expr $use_rumpfs] boot_modules rump_fs lappend_if [expr $use_vbox5] boot_modules $virtualbox5_binary lappend_if [expr $use_ram_fs || $use_usb] boot_modules ram_fs 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_ps2] boot_modules ps2_drv lappend_if [expr $use_usb] boot_modules usb_drv lappend_if [expr $use_usb] boot_modules usb_report_filter lappend_if [have_spec framebuffer] boot_modules fb_drv lappend_if [have_spec x86] boot_modules rtc_drv append_platform_drv_boot_modules