Genode on i.MX6Q Sabre Lite

Stefan Kalkowski stefan.kalkowski at ...1...
Mon Mar 27 09:41:28 CEST 2017


Hi,

On 03/27/2017 09:14 AM, Yevgeny Lavrov wrote:
> Excellent :) Thank you for guiding me through it. Is there anything else
> in Genode, other than log that I can try on Sabre Lite to make sure that
> it works?

The following run-scripts run successfully each night on the Wandboard,
and therefore should succeed on your board too:

affinity
blk_cache
bomb
clipboard
cpu_quota
cpu_sampler
ds_ownership
fault_detection
fpu
fs_log
init
ldso
libc_getenv
libc_pipe
libc_vfs
libc_vfs_block
libc_vfs_ext2
libc_vfs_fs
libc_vfs_ram
moon
new_delete
nic_loopback
noux
part_blk
pthread
ram_fs_chunk
reconstructible
report_rom
resource_request
resource_yield
rm_fault
rom_blk
rom_filter
rump_ext2
rust
sd_card_bench
signal
sub_rm
synced_interface
trace
util_mmio
xml_generator
xml_node

However, the only test here that deals with hardware beside the CPU or
timer is the sd_card_bench test. There is almost no peripheral device
driver support available for Genode on i.MX6 except the SD-card driver.
So if you want to run more sophisticated setups including graphics,
network, or input you could concentrate on writing or porting related
drivers first.

Best regards
Stefan

> My current goal is to get Genode running on top of seL4 micro kernel on
> ARM platform. I'm aware that Genode/seL4 support for ARM is scheduled
> for August 2017, but maybe there's anything that I can start
> experimenting with now?
> 
> Thank you
> 
> On Thu, Mar 23, 2017 at 4:15 AM, Stefan Kalkowski
> <stefan.kalkowski at ...1...
> <mailto:stefan.kalkowski at ...1...>> wrote:
> 
>     Hi,
> 
>     On 03/23/2017 04:10 AM, Yevgeny Lavrov wrote:
>     > I've made the necessary changes to UART variables, and lowered the
>     > amount of RAM by making RAM0_SIZE = 0x20000000. After executing the
>     > image.elf on Sabre Lite, I got the following output:
>     >
>     > ## Starting application at 0x10001000
>     > ...
>     >
>     > :virt_alloc: Allocator 0x200f40b4
>     > dump:
>     >
>     >  Block: [0x1000,0x10001000] size=0x10000000 avail=0x10000000
>     > max_avail=0x10000000
>     >
>     >  Block: [0x105ad000,0x20001000] size=0xfa54000 avail=0xfa54000
>     > max_avail=0xbfe5b000
>     >
>     >  Block: [0x201a4000,0x201a5000] size=0x1000 avail=0x0
>     > max_avail=0x0
>     >
>     >  Block: [0x201a5000,0xe0000000] size=0xbfe5b000 avail=0xbfe5b000
>     > max_avail=0xbfe5b000
>     >
>     >  Block: [0xf0004000,0xf0005000] size=0x1000 avail=0x0
>     > max_avail=0xbfe5b000
>     >
>     >  Block: [0xf0007000,0xf0008000] size=0x1000 avail=0x0
>     > max_avail=0x0
>     >
>     >  Block: [0xf0009000,0xf000a000] size=0x1000 avail=0x0
>     > max_avail=0xffe5000
>     >
>     >  Block: [0xf000a000,0xfffef000] size=0xffe5000 avail=0xffe5000
>     > max_avail=0xffe5000
>     >
>     >  => mem_size=4018765824 (3832 MB) / mem_avail=4018749440 (3832
>     > MB)
>     >
>     >
>     >
>     > :phys_alloc: Allocator 0x200f3048
>     > dump:
>     >
>     >  Block: [0x1061f000,0x10620000] size=0x1000 avail=0x0
>     > max_avail=0x0
>     >
>     >  Block: [0x10620000,0x10621000] size=0x1000 avail=0x0
>     > max_avail=0x1f9dd000
>     >
>     >  Block: [0x10621000,0x10622000] size=0x1000 avail=0x0
>     > max_avail=0x0
>     >
>     >  Block: [0x10622000,0x10623000] size=0x1000 avail=0x0
>     > max_avail=0x1f9dd000
>     >
>     >  Block: [0x10623000,0x30000000] size=0x1f9dd000 avail=0x1f9dd000
>     > max_avail=0x1f9dd000
>     >
>     >  => mem_size=530452480 (505 MB) / mem_avail=530436096 (505
>     > MB)
>     >
>     >
>     >
>     > :io_mem_alloc: Allocator 0x200f512c
>     > dump:
>     >
>     >  Block: [0x0,0x1061f000] size=0x1061f000 avail=0x1061f000
>     > max_avail=0xcfffffff
>     >
>     >  Block: [0x30000000,0xffffffff] size=0xcfffffff avail=0xcfffffff
>     > max_avail=0xcfffffff
>     >
>     >  => mem_size=3764514815 (3590 MB) / mem_avail=3764514815 (3590
>     > MB)
>     >
>     >
>     >
>     > :io_port_alloc: Allocator 0x200f6198
>     > dump:
>     >
>     >  => mem_size=0 (0 MB) / mem_avail=0 (0
>     > MB)
>     >
>     >
>     >
>     > :irq_alloc: Allocator 0x200f7204
>     > dump:
>     >
>     >  Block: [0x0,0x1] size=0x1 avail=0x1
>     > max_avail=0x1
>     >
>     >  Block: [0x2,0x1d] size=0x1b avail=0x1b
>     > max_avail=0x3e2
>     >
>     >  Block: [0x1e,0x400] size=0x3e2 avail=0x3e2
>     > max_avail=0x3e2
>     >
>     >  => mem_size=1022 (0 MB) / mem_avail=1022 (0
>     > MB)
>     >
>     >
>     >
>     > :rom_fs: ROM
>     > modules:
>     >
>     >  ROM: [101a6000,101a6158)
>     > config
>     >
>     >  ROM: [10182000,101a2178)
>     > init
>     >
>     >  ROM: [10105000,101819a4) ld.lib.so <http://ld.lib.so>
>     > <http://ld.lib.so>
>     >
>     >  ROM: [101a3000,101a5598)
>     > test-log
>     >
>     >
>     >
>     >
>     > kernel
>     > initialized
>     >
>     > Genode
>     > 17.02
>     >
>     > 504 MiB RAM assigned to
>     > init
>     >
>     > [init -> test-log] hex range:
>     > [0e00,1680)
>     >
>     > [init -> test-log] empty hex range:    [0abc0000,0abc0000)
>     > (empty!)
>     >
>     > [init -> test-log] hex range to limit:
>     > [f8,ff]
>     >
>     > [init -> test-log] invalid hex range:  [f8,08)
>     > (overflow!)
>     >
>     > [init -> test-log] negative hex char:
>     > 0xfe
>     >
>     > [init -> test-log] positive hex char:
>     > 0x02
>     >
>     > [init -> test-log] multiarg string:    "parent ->
>     > child.7"
>     >
>     > [init -> test-log] String(Hex(3)):
>     > 0x3
>     >
>     > [init -> test-log] Test done.
>     >
>     > Is this the desired output from "log"?
>     >
>     > Thanks
> 
>     Exactly!
> 
>     Regards Stefan
> 
>     >
>     > On Wed, Mar 22, 2017 at 6:56 AM, Stefan Kalkowski
>     > <stefan.kalkowski at ...1...
>     <mailto:stefan.kalkowski at ...1...>
>     > <mailto:stefan.kalkowski at ...1...
>     <mailto:stefan.kalkowski at ...1...>>> wrote:
>     >
>     >     Hi,
>     >
>     >     On 03/22/2017 08:14 AM, Yevgeny Lavrov wrote:
>     >     > Hi
>     >     >
>     >     > Thanks for the hint. You're correct about the UART, they are
>     different.
>     >     > Wand uses UART1 = 0x02020000 while Sabre Lite uses UART2
>     which is 0x021e800.
>     >     > I tried Genode 15.02 from the institute of
>     >     >
>     Madras:|https://github.com/iitmadras/genode/tree/hw_sabrelite_tz_support
>     <https://github.com/iitmadras/genode/tree/hw_sabrelite_tz_support>
>     >   
>      <https://github.com/iitmadras/genode/tree/hw_sabrelite_tz_support
>     <https://github.com/iitmadras/genode/tree/hw_sabrelite_tz_support>>
>     >     >
>     <https://github.com/iitmadras/genode/tree/hw_sabrelite_tz_support
>     <https://github.com/iitmadras/genode/tree/hw_sabrelite_tz_support>
>     >   
>      <https://github.com/iitmadras/genode/tree/hw_sabrelite_tz_support
>     <https://github.com/iitmadras/genode/tree/hw_sabrelite_tz_support>>>|,
>     >     > simple run/printf for now, and it works. I currently use it as a
>     >     > reference. After comparing board_base.h files for i.MX6
>     platform, I
>     >     > noticed that specifically for Sabre Lite the values in the
>     board_base.h
>     >     > from Madras are set to:
>     >     >
>     >     > UART_1_IRQ = 57,
>     >     > UART_1_MMIO_BASE = 0x021e8000,
>     >     >
>     >     > while for Wandboard, they are the same as in Genode 17.02.
>     >     >
>     >     > I don't think that adjusting UART will be as simple as
>     copying these
>     >     > values over to Genode 17.02
>     >     > /repos/base/include/spec/imx6/drivers/board_base.h So if
>     there are any
>     >     > other files involved, would you please tell me what those
>     files are so I
>     >     > know exactly what to look for?
>     >
>     >     well, if you just want to adjust the code to replace the Wandboard
>     >     definitions with your i.MX 6Q Sabre Lite, it is actually that
>     simple.
>     >     You only have to change the settings in above mentioned file
>     with in the
>     >     17.02 release.
>     >
>     >     If you want to add support of your board beside of the Wandboard
>     >     support, you will have to insert a new layer of board
>     definition. But
>     >     being in your position I would first change the current Wandboard
>     >     settings to see whether it works in general.
>     >
>     >     >
>     >     > How would I lower the RAM size for my build, and what files
>     are involved?
>     >
>     >     It is the very same file. You have to change the value of
>     RAM0_SIZE.
>     >
>     >     Regards
>     >     Stefan
>     >
>     >     >
>     >     > Thank you
>     >     >
>     >     > On Thu, Mar 2, 2017 at 4:53 AM, Stefan Kalkowski
>     >     > <stefan.kalkowski at ...1...
>     <mailto:stefan.kalkowski at ...1...>
>     >     <mailto:stefan.kalkowski at ...1...
>     <mailto:stefan.kalkowski at ...1...>>
>     >     > <mailto:stefan.kalkowski at ...1...
>     <mailto:stefan.kalkowski at ...1...>
>     >     <mailto:stefan.kalkowski at ...1...
>     <mailto:stefan.kalkowski at ...1...>>>> wrote:
>     >     >
>     >     >     Hi,
>     >     >
>     >     >     well, just because both boards Wandboard and i.MX 6Q Sabre
>     >     Lite are
>     >     >     using the same system-on-chip (SoC) does not mean they are
>     >     identical. So
>     >     >     if you are hesitant to start instrumenting the startup code,
>     >     e.g., via
>     >     >     additional log() calls, you can at least compare the
>     high level
>     >     >     description of the boards. One main issue is which memory
>     >     slots are used
>     >     >     by which board, and which UART within the SoC is used
>     for the
>     >     serial
>     >     >     line connector of the board.
>     >     >
>     >     >     One thing that was striking me first when looking at
>     high-level
>     >     >     description of the Sabre Lite board is that is has just 1 GB
>     >     of RAM,
>     >     >     whereby the Wandboard has 2 GB. This is obviously an
>     issue. When
>     >     >     lowering the RAM size for your setup you potentially
>     will get
>     >     one step
>     >     >     ahead. But if they are using different UARTs you will
>     not see
>     >     any log
>     >     >     message anyway. In that case you have to check whether both
>     >     boards use
>     >     >     the same UART.
>     >     >
>     >     >     Regards
>     >     >     Stefan
>     >     >
>     >     >     On 03/01/2017 08:28 PM, Yevgeny Lavrov wrote:
>     >     >     > Hello
>     >     >     >
>     >     >     > Is there anything from Genode that I can try on i.MX6Q
>     Sabre
>     >     Lite
>     >     >     > development board? So far I've already attempted *log*
>     image
>     >     that I've
>     >     >     > obtained from compiling Genode for i.MX6 based Wandboard.
>     >     The fastboot
>     >     >     > option that gets executed after *$ make run/log
>     *resulted in
>     >     >     nothing, so
>     >     >     > I've also tried to copy the created images onto SD
>     Card and
>     >     run them
>     >     >     > directly on the board.
>     >     >     >
>     >     >     > Steps:
>     >     >     > Once in u-boot prompt
>     >     >     >
>     >     >     > => fatload mmc 0 0x30000000 image.elf
>     >     >     > reading
>     >     >     > image.elf
>     >     >     >
>     >     >     > 1716880 bytes read in 107 ms (15.3 MiB/s)
>     >     >     > => bootelf 0x30000000
>     >     >     > ## Starting application at 0x10001000 ...
>     >     >     >
>     >     >     > Then the terminal hangs w/o any output.
>     >     >     >
>     >     >     > Same thing happens when executing uImage
>     >     >     > => fatload mmc 0 0x30000000 uImage
>     >     >     > reading uImage
>     >     >     > 594679 bytes read in 48 ms (11.8 MiB/s)
>     >     >     > => bootm 0x30000000
>     >     >     >
>     >     >     > Terminal hangs once it reaches: Starting kernel ...
>     >     >     >
>     >     >     > Any suggestions on what's wrong?
>     >     >     >
>     >     >     > Thank you
>     >     >     >
>     >     >     >
>     >     >     >
>     >     >     >
>     >     >     >
>     >     >
>     >     
>     ------------------------------------------------------------------------------
>     >     >     > Check out the vibrant tech community on one of the
>     world's most
>     >     >     > engaging tech sites, SlashDot.org!
>     http://sdm.link/slashdot
>     >     >     >
>     >     >     >
>     >     >     >
>     >     >     > _______________________________________________
>     >     >     > genode-main mailing list
>     >     >     > genode-main at lists.sourceforge.net
>     <mailto:genode-main at lists.sourceforge.net>
>     >     <mailto:genode-main at lists.sourceforge.net
>     <mailto:genode-main at lists.sourceforge.net>>
>     >     >     <mailto:genode-main at lists.sourceforge.net
>     <mailto:genode-main at lists.sourceforge.net>
>     >     <mailto:genode-main at lists.sourceforge.net
>     <mailto:genode-main at lists.sourceforge.net>>>
>     >     >     > https://lists.sourceforge.net/lists/listinfo/genode-main
>     <https://lists.sourceforge.net/lists/listinfo/genode-main>
>     >     <https://lists.sourceforge.net/lists/listinfo/genode-main
>     <https://lists.sourceforge.net/lists/listinfo/genode-main>>
>     >     >     <https://lists.sourceforge.net/lists/listinfo/genode-main
>     <https://lists.sourceforge.net/lists/listinfo/genode-main>
>     >     <https://lists.sourceforge.net/lists/listinfo/genode-main
>     <https://lists.sourceforge.net/lists/listinfo/genode-main>>>
>     >     >     >
>     >     >
>     >     >     --
>     >     >     Stefan Kalkowski
>     >     >     Genode Labs
>     >     >
>     >     >     https://github.com/skalk · http://genode.org/
>     >     >
>     >     >     ------------------------------------------------------------------------------
>     >     >     Check out the vibrant tech community on one of the world's most
>     >     >     engaging tech sites, SlashDot.org! http://sdm.link/slashdot
>     >     >     _______________________________________________
>     >     >     genode-main mailing list
>     >     >     genode-main at lists.sourceforge.net
>     <mailto:genode-main at lists.sourceforge.net>
>     >     <mailto:genode-main at lists.sourceforge.net
>     <mailto:genode-main at lists.sourceforge.net>>
>     >     >     <mailto:genode-main at lists.sourceforge.net
>     <mailto:genode-main at lists.sourceforge.net>
>     >     <mailto:genode-main at lists.sourceforge.net
>     <mailto:genode-main at lists.sourceforge.net>>>
>     >     >     https://lists.sourceforge.net/lists/listinfo/genode-main
>     <https://lists.sourceforge.net/lists/listinfo/genode-main>
>     >     <https://lists.sourceforge.net/lists/listinfo/genode-main
>     <https://lists.sourceforge.net/lists/listinfo/genode-main>>
>     >     >     <https://lists.sourceforge.net/lists/listinfo/genode-main
>     <https://lists.sourceforge.net/lists/listinfo/genode-main>
>     >     <https://lists.sourceforge.net/lists/listinfo/genode-main
>     <https://lists.sourceforge.net/lists/listinfo/genode-main>>>
>     >     >
>     >     >
>     >     >
>     >     >
>     >     > ------------------------------------------------------------------------------
>     >     > Check out the vibrant tech community on one of the world's most
>     >     > engaging tech sites, Slashdot.org! http://sdm.link/slashdot
>     >     >
>     >     >
>     >     >
>     >     > _______________________________________________
>     >     > genode-main mailing list
>     >     > genode-main at lists.sourceforge.net
>     <mailto:genode-main at lists.sourceforge.net>
>     >     <mailto:genode-main at lists.sourceforge.net
>     <mailto:genode-main at lists.sourceforge.net>>
>     >     > https://lists.sourceforge.net/lists/listinfo/genode-main
>     <https://lists.sourceforge.net/lists/listinfo/genode-main>
>     >     <https://lists.sourceforge.net/lists/listinfo/genode-main
>     <https://lists.sourceforge.net/lists/listinfo/genode-main>>
>     >     >
>     >
>     >     --
>     >     Stefan Kalkowski
>     >     Genode Labs
>     >
>     >     https://github.com/skalk · http://genode.org/
>     >
>     >     ------------------------------------------------------------------------------
>     >     Check out the vibrant tech community on one of the world's most
>     >     engaging tech sites, Slashdot.org! http://sdm.link/slashdot
>     >     _______________________________________________
>     >     genode-main mailing list
>     >     genode-main at lists.sourceforge.net
>     <mailto:genode-main at lists.sourceforge.net>
>     >     <mailto:genode-main at lists.sourceforge.net
>     <mailto:genode-main at lists.sourceforge.net>>
>     >     https://lists.sourceforge.net/lists/listinfo/genode-main
>     <https://lists.sourceforge.net/lists/listinfo/genode-main>
>     >     <https://lists.sourceforge.net/lists/listinfo/genode-main
>     <https://lists.sourceforge.net/lists/listinfo/genode-main>>
>     >
>     >
>     >
>     >
>     >
>     ------------------------------------------------------------------------------
>     > Check out the vibrant tech community on one of the world's most
>     > engaging tech sites, Slashdot.org! http://sdm.link/slashdot
>     >
>     >
>     >
>     > _______________________________________________
>     > genode-main mailing list
>     > genode-main at lists.sourceforge.net
>     <mailto:genode-main at lists.sourceforge.net>
>     > https://lists.sourceforge.net/lists/listinfo/genode-main
>     <https://lists.sourceforge.net/lists/listinfo/genode-main>
>     >
> 
>     --
>     Stefan Kalkowski
>     Genode Labs
> 
>     https://github.com/skalk · http://genode.org/
> 
>     ------------------------------------------------------------------------------
>     Check out the vibrant tech community on one of the world's most
>     engaging tech sites, Slashdot.org! http://sdm.link/slashdot
>     _______________________________________________
>     genode-main mailing list
>     genode-main at lists.sourceforge.net
>     <mailto:genode-main at lists.sourceforge.net>
>     https://lists.sourceforge.net/lists/listinfo/genode-main
>     <https://lists.sourceforge.net/lists/listinfo/genode-main>
> 
> 
> 
> 
> ------------------------------------------------------------------------------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> 
> 
> 
> _______________________________________________
> genode-main mailing list
> genode-main at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/genode-main
> 

-- 
Stefan Kalkowski
Genode Labs

https://github.com/skalk · http://genode.org/




More information about the users mailing list