Porting Fiasco + L4Re to Raspberry Pi 2
Adam Lackorzynski
adam at os.inf.tu-dresden.de
Fri Nov 24 01:10:14 CET 2017
Hi,
On Tue Nov 21, 2017 at 16:19:52 +0100, Alexander Weidinger wrote:
> Hello Antoine, hello l4-hackers,
>
> I'm currently trying to replicate the port to RPi2 for Fiasco/Genode,
> which works great, until I get stuck in the boot process:
>
> > L4 Bootstrapper
> > Build: #7 Di 21. Nov 15:19:58 CET 2017, 5.4.0
> > Scanning up to 960 MB RAM, starting at offset 32MB
> > Memory size is 960MB (00000000 - 3bffffff)
> > RAM: 0000000000000000 - 000000003bffffff: 983040kB
> > Total RAM: 960MB
> > Scanning fiasco
> > Scanning sigma0
> > Scanning moe
> > Moving up to 5 modules behind 1100000
> > moving module 02 { 10ed000-111e4a3 } -> { 11de000-120f4a3 } [201892]
> > moving module 01 { 10db000-10ec337 } -> { 11cc000-11dd337 } [70456]
> > moving module 00 { 1053000-10da0e7 } -> { 1144000-11cb0e7 } [553192]
> > moving module 04 { 1031000-105257b } -> { 1122000-114357b } [136572]
> > moving module 03 { 100f000-1030467 } -> { 1100000-1121467 } [136296]
> > Loading fiasco
> > Loading sigma0
> > Loading moe
> > find kernel info page...
> > found kernel info page (via ELF) at 2000
> > Regions of list 'regions'
> > [ 1000, 1a3f] { a40} Kern fiasco
> > [ 2000, 96fff] { 95000} Kern fiasco
> > [ 97000, 970eb] { ec} Root mbi_rt
> > [ e0000, ea9e7] { a9e8} Sigma0 sigma0
> > [ f0000, f517b] { 517c} Sigma0 sigma0
> > [ 140000, 17c4eb] { 3c4ec} Root moe
> > [ 1000000, 100e523] { e524} Boot bootstrap
> > [ 1100000, 1143fff] { 44000} Root Module
> > found kernel options (via ELF) at 3000
> > Sigma0 config ip:000e0100 sp:00000000
> > Roottask config ip:00140254 sp:00000000
> > Starting kernel fiasco at 00001200
> > Non-HYP kernel detected but running in HYP mode, switching back
>
> Sometimes (non-reproducible) additionally I get:
> > [...]
> > Hello from Startup::stage2
>
> Which means stage2 comes up but hangs afterwards.
> And even sometimes I am able to completely boot the device:
Seems some initialization thing to me in your case.
"Unfortunately" works fine for me so far. Are you using u-boot or
are you booting differently?
Adam
> > [...]
> > FPU: Initialize
> > FPU0: Subarch: 2, Part: 30, Rev: 5, Var: 7, Impl: 41
> > ARM generic timer: freq=19200000 interval=19200 cnt=36679846728534094
> > SERIAL ESC: allocated IRQ 57 for serial uart
> > Not using serial hack in slow timer handler.
> > Welcome to L4/Fiasco.OC!
> > L4/Fiasco.OC microkernel on arm
> > Rev: r75 compiled with gcc 5.4.0 for Broadcom 2836 []
> > Build: #2 Tue Nov 21 15:17:05 CET 2017
> >
> > Calibrating timer loop... done.
> > MDB: use page size: 20
> > MDB: use page size: 12
> > SIGMA0: Hello!
> > KIP @ 2000
> > allocated 4KB for maintenance structures
> > SIGMA0: Dump of all resource maps
> > RAM:------------------------
> > [0:0;fff]
> > [4:97000;97fff]
> > [0:98000;dffff]
> > [0:eb000;effff]
> > [0:f6000;13ffff]
> > [4:140000;17cfff]
> > [0:17d000;10fffff]
> > [4:1100000;1143fff]
> > [0:1144000;3affffff]
> > IOMEM:----------------------
> > [0:3c000000;ffffffff]
> > MOE: Hello world
> > MOE: found 965472 KByte free memory
> > MOE: found RAM from 97000 to 3b000000
> > MOE: allocated 943 KByte for the page array @0x17d000
> > MOE: virtual user address space [0-bfffffff]
> > MOE: rom name space cap -> [C:103000]
> > MOE: rwfs name space cap -> [C:105000]
> > BOOTFS: [1100000-1121468] [C:107000] l4re
> > BOOTFS: [1122000-114357c] [C:109000] hello
> > MOE: cmdline: moe --init=rom/hello
> > MOE: Starting: rom/hello
> > MOE: loading 'rom/hello'
> > Hello World!
>
> As one can see I tried to replicate this for vanilla Fiasco/L4Re (r75),
> just to make sure. The same happens of course with Fiasco/Genode where
> I'm also only sometimes (non-reproducible) able to completely boot the
> device.
>
> I also saw the `globalconfig.out` from the thread 'Booting L4Linux on
> Raspberry Pi 2'. When using the same configuration, where you (Antoine)
> were able to successfully boot the RPi2 I'm stuck with the same problem.
>
> On the bright side, booting Fiasco/L4Re in Qemu (vers. 2.10.1) seems to
> always work when using the following command to start it up:
> > qemu-system-arm -M raspi2 -kernel /home/alex/Projects/foc_upstream/l4/build_rpi2/images/bootstrap.elf -nographic
>
> If one could give me some insight on why this happens and/or how to
> resolve this, I'd really appreciate it.
>
> Regards,
> Alexander
More information about the l4-hackers
mailing list