mirror of
https://github.com/genodelabs/genode.git
synced 2024-12-23 15:32:25 +00:00
bf031b174a
To be consistent with the documentation, we have to start scout instead of launchpad right at the start of the default demo scenario.
230 lines
6.2 KiB
Plaintext
230 lines
6.2 KiB
Plaintext
#
|
|
# Build
|
|
#
|
|
|
|
if {[have_spec hw_odroid_xu]} {
|
|
puts "Run script does not support this platform."
|
|
exit 0
|
|
}
|
|
|
|
set build_components {
|
|
core init
|
|
drivers/timer
|
|
server/nitpicker app/pointer app/status_bar
|
|
server/liquid_framebuffer app/launchpad app/scout
|
|
test/nitpicker server/nitlog
|
|
drivers/framebuffer drivers/pci drivers/input
|
|
server/report_rom
|
|
}
|
|
|
|
lappend_if [have_spec usb] build_components drivers/usb
|
|
lappend_if [have_spec gpio] build_components drivers/gpio
|
|
lappend_if [have_spec imx53] build_components drivers/platform
|
|
lappend_if [have_spec platform_arndale] build_components drivers/platform
|
|
lappend_if [have_spec platform_rpi] build_components drivers/platform
|
|
|
|
build $build_components
|
|
|
|
create_boot_directory
|
|
|
|
#
|
|
# Generate config
|
|
#
|
|
|
|
append config {
|
|
<config>
|
|
<parent-provides>
|
|
<service name="ROM"/>
|
|
<service name="RAM"/>
|
|
<service name="IRQ"/>
|
|
<service name="IO_MEM"/>
|
|
<service name="IO_PORT"/>
|
|
<service name="CAP"/>
|
|
<service name="PD"/>
|
|
<service name="RM"/>
|
|
<service name="CPU"/>
|
|
<service name="LOG"/>
|
|
<service name="SIGNAL"/>
|
|
</parent-provides>
|
|
<default-route>
|
|
<any-service> <parent/> <any-child/> </any-service>
|
|
</default-route>}
|
|
|
|
append_if [have_spec sdl] config {
|
|
<start name="fb_sdl">
|
|
<resource name="RAM" quantum="4M"/>
|
|
<provides>
|
|
<service name="Input"/>
|
|
<service name="Framebuffer"/>
|
|
</provides>
|
|
</start>}
|
|
|
|
append_if [have_spec pci] config {
|
|
<start name="pci_drv">
|
|
<resource name="RAM" quantum="1M"/>
|
|
<provides><service name="PCI"/></provides>
|
|
<config>
|
|
<policy label="ps2_drv"> <device name="PS2"/> </policy>
|
|
<policy label="usb_drv"> <pci class="USB"/> </policy>
|
|
<policy label="fb_drv"> <pci class="VGA"/> </policy>
|
|
</config>
|
|
</start>}
|
|
|
|
append_if [have_spec framebuffer] config {
|
|
<start name="fb_drv">
|
|
<resource name="RAM" quantum="4M"/>
|
|
<provides><service name="Framebuffer"/></provides>
|
|
</start>}
|
|
|
|
append_if [have_spec gpio] config {
|
|
<start name="gpio_drv">
|
|
<resource name="RAM" quantum="4M"/>
|
|
<provides><service name="Gpio"/></provides>
|
|
<config/>
|
|
</start>}
|
|
|
|
append_if [have_spec platform_arndale] config {
|
|
<start name="platform_drv">
|
|
<resource name="RAM" quantum="1M"/>
|
|
<provides><service name="Regulator"/></provides>
|
|
<config/>
|
|
</start>}
|
|
|
|
append_if [have_spec platform_rpi] config {
|
|
<start name="platform_drv">
|
|
<resource name="RAM" quantum="1M"/>
|
|
<provides><service name="Platform"/></provides>
|
|
<config/>
|
|
</start>}
|
|
|
|
append_if [have_spec imx53] config {
|
|
<start name="platform_drv">
|
|
<resource name="RAM" quantum="1M"/>
|
|
<provides><service name="Platform"/></provides>
|
|
<config/>
|
|
</start>
|
|
<start name="input_drv">
|
|
<resource name="RAM" quantum="1M"/>
|
|
<provides><service name="Input"/></provides>
|
|
<config/>
|
|
</start> }
|
|
|
|
append_if [have_spec ps2] config {
|
|
<start name="ps2_drv">
|
|
<resource name="RAM" quantum="1M"/>
|
|
<provides><service name="Input"/></provides>
|
|
</start>}
|
|
|
|
append_if [expr ![have_spec ps2] && [have_spec usb]] config {
|
|
<start name="usb_drv">
|
|
<resource name="RAM" quantum="12M"/>
|
|
<provides><service name="Input"/></provides>
|
|
<config ehci="yes" uhci="yes" xhci="no"> <hid/> </config>
|
|
</start> }
|
|
|
|
append config {
|
|
<start name="timer">
|
|
<resource name="RAM" quantum="1M"/>
|
|
<provides><service name="Timer"/></provides>
|
|
</start>
|
|
<start name="report_rom">
|
|
<resource name="RAM" quantum="1M"/>
|
|
<provides> <service name="Report"/> <service name="ROM"/> </provides>
|
|
<config>
|
|
<rom>
|
|
<policy label="status_bar -> focus" report="nitpicker -> focus"/>
|
|
</rom>
|
|
</config>
|
|
</start>
|
|
<start name="nitpicker">
|
|
<resource name="RAM" quantum="1M"/>
|
|
<provides><service name="Nitpicker"/></provides>
|
|
<config>
|
|
<report focus="yes" />
|
|
<domain name="pointer" layer="1" xray="no" origin="pointer" />
|
|
<domain name="panel" layer="2" xray="no" />
|
|
<domain name="" layer="3" ypos="18" height="-18" />
|
|
|
|
<policy label="pointer" domain="pointer"/>
|
|
<policy label="status_bar" domain="panel"/>
|
|
<policy label="" domain=""/>
|
|
|
|
<global-key name="KEY_SCROLLLOCK" operation="xray" />
|
|
<global-key name="KEY_SYSRQ" operation="kill" />
|
|
<global-key name="KEY_PRINT" operation="kill" />
|
|
<global-key name="KEY_F11" operation="kill" />
|
|
<global-key name="KEY_F12" operation="xray" />
|
|
</config>
|
|
</start>
|
|
<start name="pointer">
|
|
<resource name="RAM" quantum="1M"/>
|
|
</start>
|
|
<start name="status_bar">
|
|
<resource name="RAM" quantum="1M"/>
|
|
<route>
|
|
<service name="ROM"> <child name="report_rom"/> </service>
|
|
<any-service> <parent/> <any-child/> </any-service>
|
|
</route>
|
|
</start>
|
|
<start name="scout">
|
|
<resource name="RAM" quantum="64M" />
|
|
</start>
|
|
</config>}
|
|
|
|
install_config $config
|
|
|
|
#
|
|
# Create launchpad configuration
|
|
#
|
|
set launchpad_config_fd [open "bin/launchpad.config" w]
|
|
puts $launchpad_config_fd {<config>
|
|
<launcher name="testnit" ram_quota="768K" />
|
|
<launcher name="scout" ram_quota="41M" />
|
|
<launcher name="launchpad" ram_quota="6M">
|
|
<configfile name="launchpad.config" />
|
|
</launcher>
|
|
<launcher name="nitlog" ram_quota="1M" />
|
|
<launcher name="liquid_fb" ram_quota="7M">
|
|
<config resize_handle="on" />
|
|
</launcher>
|
|
<launcher name="nitpicker" ram_quota="1M">
|
|
<config>
|
|
<domain name="" layer="3" />
|
|
<policy label="" domain="" />
|
|
</config>
|
|
</launcher>
|
|
</config>}
|
|
close $launchpad_config_fd
|
|
|
|
|
|
#
|
|
# Boot modules
|
|
#
|
|
|
|
# generic modules
|
|
set boot_modules {
|
|
core init
|
|
timer
|
|
nitpicker pointer status_bar report_rom liquid_fb launchpad scout
|
|
testnit nitlog
|
|
launchpad.config
|
|
}
|
|
|
|
# platform-specific modules
|
|
lappend_if [have_spec linux] boot_modules fb_sdl
|
|
lappend_if [have_spec pci] boot_modules pci_drv
|
|
lappend_if [have_spec ps2] boot_modules ps2_drv
|
|
lappend_if [have_spec framebuffer] boot_modules fb_drv
|
|
lappend_if [have_spec usb] boot_modules usb_drv
|
|
lappend_if [have_spec gpio] boot_modules gpio_drv
|
|
lappend_if [have_spec imx53] boot_modules platform_drv
|
|
lappend_if [have_spec platform_arndale] boot_modules platform_drv
|
|
lappend_if [have_spec platform_rpi] boot_modules platform_drv
|
|
lappend_if [have_spec imx53] boot_modules input_drv
|
|
|
|
build_boot_image $boot_modules
|
|
|
|
append qemu_args " -m 256 "
|
|
|
|
run_genode_until forever
|