Help testing arora,qt5 and sdl examples on RaspberryPI
Reinier Millo Sánchez
rmillo at ...210...
Mon Sep 8 21:45:07 CEST 2014
Hi Norman
Trying to test the Arora example on RaspberryPI. I have compiled it for
hw_rpi, when try to run Arora get this serial output, like you have told
me about the Platform service:
Genode 14.08
int main(): --- create local services ---
int main(): --- start init ---
int main(): transferred 166 MB to init
int main(): --- init created, waiting for exit condition ---
[init -> fb_drv] --- fb_drv started ---
[init] fb_drv: no route to service "Platform"
[init -> fb_drv] C++ runtime: Genode::Parent::Service_denied
[init -> fb_drv] void* abort(): abort called
[init -> usb_drv] Services::Services(): No <storage> config node
found - not starting the USB Storage (Block) service
[init -> usb_drv] Enabled UHCI (USB 1.0/1.1) support
[init -> usb_drv] Enabled EHCI (USB 2.0) support
[init] usb_drv: no route to service "Platform"
[init -> usb_drv] C++ runtime: Genode::Parent::Service_denied
[init -> usb_drv] void* abort(): abort called
[init -> arora] tar archive 'qt5_fs_arora.tar' local at 230000, size
is 503808
[init -> arora] void init_libc_lock_pipe(): init_libc_lock_pipe()
[init -> arora] using the pipe libc plugin
[init -> arora] void init_nic_dhcp(): init_nic_dhcp()
[init -> arora] Using DHCP for interface configuration.
[init -> arora] {anonymous}::Plugin::Plugin(): using the lwIP libc
plugin
After that i have modified the arora.run script based on demo.run to
support the service Platform, this is a patch version of the changes:
diff --git a/repos/ports/run/arora.run b/repos/ports/run/arora.run
index c229bd6..a4a7207 100644
--- a/repos/ports/run/arora.run
+++ b/repos/ports/run/arora.run
@@ -9,10 +9,14 @@ set feature(Nic) 1
set build_components [qt5_build_components feature]
append build_components {
+ drivers/input
server/loader server/tar_rom server/nit_fb app/launchpad
test/nitpicker
app/arora
}
+lappend_if [have_spec gpio] build_components drivers/gpio
+lappend_if [have_spec platform_rpi] build_components drivers/platform
+
build $build_components
create_boot_directory
@@ -44,6 +48,13 @@ append config {
append config [qt5_start_nodes feature]
+append_if [have_spec platform_rpi] config {
+ <start name="platform_drv">
+ <resource name="RAM" quantum="1M"/>
+ <provides><service name="Platform"/></provides>
+ <config/>
+ </start>}
+
append config {
<start name="loader">
<resource name="RAM" quantum="2M"/>
@@ -131,6 +142,8 @@ if {[have_spec qt4_deprecated]} {
}
}
+lappend_if [have_spec platform_rpi] boot_modules platform_drv
+
build_boot_image $boot_modules
append qemu_args " -m 512 "
When try to run the Arora example get the framebuffer initialized but
don't start the arora browser on the framebuffer, this is the serial output:
Genode 14.08
int main(): --- create local services ---
int main(): --- start init ---
int main(): transferred 165 MB to init
int main(): --- init created, waiting for exit condition ---
[init -> fb_drv] --- fb_drv started ---
[init -> platform_drv] --- Raspberry Pi platform driver ---
[init -> usb_drv] Services::Services(): No <storage> config node
found - not starting the USB Storage (Block) service
[init -> usb_drv] Enabled UHCI (USB 1.0/1.1) support
[init -> usb_drv] Enabled EHCI (USB 2.0) support
[init -> usb_drv] Using configured mac: 2e:60:90:0c:4e:01
[init -> usb_drv] dev_info: DWC OTG Controller
[init -> usb_drv] dev_info: new USB bus registered, assigned bus
number 1
[init -> usb_drv] dev_info: irq 17, io mem 0x00000000
[init -> usb_drv] dev_info: USB hub found
[init -> usb_drv] dev_info: 1 port detected
[init -> nitpicker] create session with args: label="wm",
ram_quota=28672
[init -> nitpicker] create session with args: label="pointer",
ram_quota=28672
[init -> nitpicker] create session with args: label="wm ->
decorator", ram_quota=28672
[init -> arora] tar archive 'qt5_fs_arora.tar' local at 230000, size
is 503808
[init -> arora] void init_libc_lock_pipe(): init_libc_lock_pipe()
[init -> arora] using the pipe libc plugin
[init -> arora] void init_nic_dhcp(): init_nic_dhcp()
[init -> arora] Using DHCP for interface configuration.
[init -> arora] {anonymous}::Plugin::Plugin(): using the lwIP libc
plugin
I think that "No <storage> config node found ..." should not be causing
the problem running the Arora browser.
Any ideas or suggestions?
Best regards
On 09/05/2014 02:58 PM, Norman Feske wrote:
> Hello Reinier,
>
>> I have switched to Genode's release 14.08, prepared again the ports and
>> compiled the examples in the same way, but when try to test it on RPI,
>> only the colored screen again.
>> Someone have tested successfully this examples on RPI hardware? I have
>> tested successfully the Demo example.
> the SDL and Qt5 examples are indeed not expected to work on the
> Raspberry Pi out of the box. Most run scripts still lack two things that
> are important for the RPi, namely the platform driver and the USB HID
> driver. Those components are included in the 'os/run/demo.run' script
> but are lacking in many others such as the 'libports/run/sdl.run'.
> However, you should still get serial output in any case. Normally, the
> serial output gives enough indications about the missing pieces. Given
> the demo.run script as example, complementing the other run scripts with
> the missing pieces should be straight forward.
>
> Has the switch to version 14.08 resolved the build problem?
>
> As another heads-up warning regarding the Rpi, the USB driver is still
> not perfect. There are two issues. First, the keyboard is not working
> reliably unless you set the number of used host channels to 8 instead of
> 2 using the 'dwc_param_host_channels_default' define in
> <genode-dir>/contrib/dde_linux-<hash>/src/lib/dde_linux/drivers/usb/host/dwc_otg/dwc_otg_core_if.h.
> Second, the USB driver draws an enormous amount of CPU time because it
> has to issue USB start-of-frame (SOF) transactions every microframe
> (that is every 250 microseconds). So when the USB driver is running,
> there is hardly any CPU time left for the other processes. On Linux,
> this problem has been somehow fixed by the so-called FIQ optimization. I
> am still pondering about the best way to relieve this issue when using
> the base-hw kernel.
>
> Best regards
> Norman
>
--
Lic. Reinier Millo Sánchez
Centro de Estudios de Informática
Universidad Central "Marta Abreu" de Las Villas
"antes de discutir ... respira;
antes de hablar ... escucha;
antes de escribir ... piensa;
antes de herir ... siente;
antes de rendirte ... intenta;
antes de morir ... vive"
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.genode.org/pipermail/users/attachments/20140908/4515105e/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: rmillo.vcf
Type: text/x-vcard
Size: 519 bytes
Desc: not available
URL: <http://lists.genode.org/pipermail/users/attachments/20140908/4515105e/attachment.vcf>
More information about the users
mailing list