# # Build # if {[have_spec odroid_xu] || [have_spec imx6q_sabrelite] || ([get_cmd_switch --autopilot] && [have_spec linux]) || ([get_cmd_switch --autopilot] && [have_include "power_on/qemu"])} { puts "Run script does not support this platform." exit 0 } set build_components { core init timer server/nitpicker app/pointer app/status_bar app/global_keys_handler app/nit_focus server/liquid_framebuffer app/launchpad app/scout test/nitpicker server/nitlog drivers/framebuffer drivers/input server/report_rom server/rom_filter } 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 } source ${genode_dir}/repos/base/run/platform_drv.inc lappend_if [need_usb_hid] build_components drivers/usb lappend_if [have_spec gpio] build_components drivers/gpio append_platform_drv_build_components build $build_components create_boot_directory # # Generate config # append config { } append_if [have_spec sdl] config { } append_platform_drv_config append_if [have_spec framebuffer] config { } append_if [expr [have_spec framebuffer] && [have_spec x86]] config { } append_if [expr [have_spec framebuffer] && ![have_spec x86]] config { } append_if [have_spec gpio] config " " append_if [have_spec imx53] config { } append_if [have_spec ps2] config { } append_if [need_usb_hid] config { } append config { } install_config $config # # Create launchpad configuration # set launchpad_config_fd [open "bin/launchpad.config" w] puts $launchpad_config_fd { } close $launchpad_config_fd # # Boot modules # # generic modules set boot_modules { core ld.lib.so init timer nitpicker pointer status_bar report_rom rom_filter global_keys_handler nit_focus liquid_fb launchpad scout testnit nitlog launchpad.config } # platform-specific modules lappend_if [have_spec linux] boot_modules fb_sdl lappend_if [have_spec ps2] boot_modules ps2_drv lappend_if [have_spec framebuffer] boot_modules fb_drv lappend_if [need_usb_hid] boot_modules usb_drv lappend_if [have_spec gpio] boot_modules [gpio_drv] lappend_if [have_spec imx53] boot_modules input_drv append_platform_drv_boot_modules build_boot_image $boot_modules if {[get_cmd_switch --autopilot]} { run_genode_until {\[init -> scout\] png is.*\n} 40 grep_output {(requests resources: ram_quota)|(Error)} # remove Error messages which are not fatal, mostly unify_output {(?n)^.*platform_drv] Error:.*ACPI table information is wrong.*$} "" unify_output {(?n)^.*platform_drv] Error: adjust size from.*$} "" unify_output {(?n)^.*acpi_drv] Error:.*platform_info.*$} "" unify_output {(?n)^.*ps2_drv] Error: no data available.*$} "" unify_output {(?n)^.*ps2_drv] Error: failed to read from port.*$} "" compare_output_to {} } else { run_genode_until forever }