Genode on i.MX6 (eMMC Flash)

Kranthi Tej ee13b037 at ...484...
Sun Apr 16 16:15:36 CEST 2017


Hello,

Following up on the previous email, I've stumbled upon something while
debugging. I've debugged the enable_mmu_and_caches function line by line.
I've discovered that the lines which involved the address worked fine. It
stops at:

Sctlr::enable_mmu_and_caches();

(repos/base-hw/src/core/include/spec/arm/cpu_support.h:509)

I've debugged (placed log messages after every line) the function further
and observed that the problem is with

Sctlr::write(v) function

(repos/base-hw/src/core/include/spec/arm/cpu_support.h:111)

I've looked into the write function. But, I haven't been able to pinpoint
what was going wrong. Could it be a problem with the function? Or, could it
be a problem with the value being passed to it? (I haven't been completely
able to tell that the problem isn't with the address. It could still be a
problem.)

I've also tried using the images built by Genode - 15.02 and 16.05. It
stops with a "Pagefault in core thread" message after "kernel initialized".

Could you please give me any pointers to go forward? I'm stuck here. Your
help will be greatly appreciated.

Note: I've printed the value of core_pd->table base. It is 104a8000.

Thanks in advance,
Kranthi





On Wed, Apr 12, 2017 at 5:34 PM, Kranthi Tej <ee13b037 at ...484...>
wrote:

> Hello Stefan,
>
> Thank you for the hint.
>
> As per your advice, I've placed log messages in the repos/base-hw/src/
> bootstrap/init.cc file. Some of the log messages were printed. Based on
> this, I've been successfully able to establish that there is no problem
> with the load address as well as the UART port address. I've been able to
> progress further with your help. I have placed a log message just before
>
> platform().enable_mmu();
>
> in the repos/base-hw/src/bootstrap/init.cc file. It seems to print the
> message. I've also placed a log message after this as well. It doesn't get
> printed. I've looked into the enable_mmu() function. I've identified that
> it stops at:
>
> cpu.enable_mmu_and_caches((Genode::addr_t)core_pd->table_base);
>
> (repos/base-hw/src/bootstrap/spec/cortex_a9/platform.cc:142)
>
> I've been unable to find out if the problem lies with core_pd or
> table_base. Could it be a possibility that the core_pd variable has been
> wrongly initialized? I haven't been able to figure out where the "core_pd"
> variable is being initialized. If anyone else has had a similar problem,
> could you please advise about how to go through with it?
>
> I've checked the UART, SDHC, EPIT2, AIPS1, AIPS2, CORTEX_A9_PRIVATE_MEM,
> PL310, SRC base addresses with it's android counterpart (which is working
> on the board). All the addresses are the same.
>
> Kindly help me with this.
>
> Note: Unfortunately, I do not have a JTAG debugger.
>
> Thanks in advance,
> Kranthi
>
> On Tue, Apr 11, 2017 at 1:55 PM, Stefan Kalkowski <
> stefan.kalkowski at ...1...> wrote:
>
>> Hi,
>>
>> On 04/06/2017 07:34 AM, Kranthi Tej wrote:
>> > Hello Stefan,
>> >
>> > Thank you for the quick response.
>> >
>> > Yes, I've been following the parallel thread and I've made the necessary
>> > changes in the "/repos/base/include/spec/imx6/drivers/board_base.h"
>> > file. I've set the following values:
>> >
>> > *UART_1_IRQ = 57,
>> > UART_1_MMIO_BASE = 0x021e8000,
>> > *
>> > *RAM0_SIZE = 0x20000000,*
>>
>> Your RAM size can be increased to 0x40000000, but obviously it should
>> also work with less.
>>
>> >
>> > It turns out I was flashing it the wrong way. I've fixed it by drawing
>> > insights from how Android is currently being flashed onto the device.
>> > I've followed a similar procedure. After installing the bootloader, I've
>> > flashed the Genode uImage (generated using RUN_OPT += --include
>> > image/uboot) onto the device as per your advice. Flashing was
>> > successfully done. Upon booting up, I got the following:
>> >
>> > U-Boot 2009.08-dirty (Jul 08 2016 - 12:21:39)
>> >
>> > CPU: Freescale i.MX6 family TO1.5 at 792 MHz
>> > Thermal sensor with ratio = 175
>> > Temperature:   37 C, calibration data 0x5534ce69
>> > mx6q pll1: 792MHz
>> > mx6q pll2: 528MHz
>> > mx6q pll3: 480MHz
>> > mx6q pll8: 50MHz
>> > ipg clock     : 66000000Hz
>> > ipg per clock : 66000000Hz
>> > uart clock    : 80000000Hz
>> > cspi clock    : 60000000Hz
>> > ahb clock     : 132000000Hz
>> > axi clock   : 264000000Hz
>> > emi_slow clock: 132000000Hz
>> > ddr clock     : 528000000Hz
>> > usdhc1 clock  : 198000000Hz
>> > usdhc2 clock  : 198000000Hz
>> > usdhc3 clock  : 198000000Hz
>> > usdhc4 clock  : 198000000Hz
>> > nfc clock     : 24000000Hz
>> > Board: i.MX6Q-SABRESD: unknown-board Board: 0x63015 [POR ]
>> > Boot Device: MMC
>> >
>> > HAB Configuration: 0xf0, HAB State: 0x66
>> >
>> > --------- HAB Event 1 -----------------
>> > event data:
>> > 0xdb 0x00 0x1c 0x41 0x33 0x18 0xc0 0x00
>> > 0xca 0x00 0x14 0x00 0x02 0xc5 0x00 0x00
>> > 0x00 0x00 0x0d 0x34 0x27 0x80 0x04 0x00
>> > 0x00 0x13 0xec 0x00
>> >
>> > --------- HAB Event 2 -----------------
>> > event data:
>> > 0xdb 0x00 0x14 0x41 0x33 0x0c 0xa0 0x00
>> > 0x00 0x00 0x00 0x00 0x27 0x80 0x04 0x00
>> > 0x00 0x00 0x00 0x20
>> >
>> > --------- HAB Event 3 -----------------
>> > event data:
>> > 0xdb 0x00 0x14 0x41 0x33 0x0c 0xa0 0x00
>> > 0x00 0x00 0x00 0x00 0x27 0x80 0x04 0x2c
>> > 0x00 0x00 0x02 0xa0
>> >
>> > --------- HAB Event 4 -----------------
>> > event data:
>> > 0xdb 0x00 0x14 0x41 0x33 0x0c 0xa0 0x00
>> > 0x00 0x00 0x00 0x00 0x27 0x80 0x04 0x20
>> > 0x00 0x00 0x00 0x01
>> >
>> > --------- HAB Event 5 -----------------
>> > event data:
>> > 0xdb 0x00 0x14 0x41 0x33 0x0c 0xa0 0x00
>> > 0x00 0x00 0x00 0x00 0x27 0x80 0x06 0xe0
>> > 0x00 0x00 0x00 0x04
>> > I2C:   ready
>> > DRAM:   1 GB
>> > MMC:   FSL_USDHC: 0,FSL_USDHC: 1,FSL_USDHC: 2,FSL_USDHC: 3
>> > *** Warning - bad CRC or MMC, using default environment
>> >
>> > In:    serial
>> > Out:   serial
>> > Err:   serial
>> > Found PFUZE100! deviceid=10,revid=11
>> > Net:   got MAC address from IIM: 00:00:00:00:00:00
>> > FEC0 [PRIME]
>> > Hit any key to stop autoboot:  0
>> > booti: bad boot image magic
>> > fastboot is in init......flash target is MMC:3
>> > wait usb cable into the connector!
>>
>> I think you hit some High-Assurance-Boot (HAB) problem here, and the
>> boot procedure therefore resets to some default boot option in this case
>> fastboot over USB.
>>
>> >
>> > So, I've tried to write the image at an address and have loaded it from
>> > there. I've did the following in the uboot prompt:
>> >
>> > MX6Q SABRESD U-Boot > ext2load mmc 3:1 0x30000000 uImage
>> > Loading file "uImage" from mmc device 3:1 (xxd1)
>> > 594591 bytes read
>> >
>> > MX6Q SABRESD U-Boot > bootm 0x30000000
>> > ## Booting kernel from Legacy Image at 30000000 ...
>> >    Image Name:
>> >    Image Type:   ARM Linux Kernel Image (gzip compressed)
>> >    Data Size:    594527 Bytes = 580.6 kB
>> >    Load Address: 10001000
>> >    Entry Point:  10001000
>> >    Verifying Checksum ... OK
>> >    Uncompressing Kernel Image ... OK
>> >
>> > Starting kernel ...
>> >
>> > It stops here (even after adjusting the *UART* settings before building
>> > the image). I've also tried *UART1* *(0x02020000)*, *UART3*
>> > (*0x021ec000*), *UART4* *(**0x021f0000**)* and *UART5 (**0x021F4000**)
>> > *with the same interrupt values.
>> >
>> > I've built the uImage for log (make run/log) and demo (make run/demo).
>> > I'm facing the same issue.
>> >
>> > I'm unable to find the source of the problem. Can you give me any leads
>> > on the possible problems?
>>
>> I'm afraid I have no idea why it should still fail. I know I also
>> successfully booted our system on that SABRE board before, so in
>> principle it should work.
>> Of course, you can put some "log()" message at some very early stage
>> into the bootstrap binary, e.g. at line:
>>
>>   repos/base-hw/src/bootstrap/init.cc:28
>>
>> If you have a JTAG debugger, you can of course breakpoint at 0x10001000
>> and single-step to identify the problem.
>>
>> Regards Stefan
>>
>> >
>> > Thanks,
>> > Kranthi
>> >
>> > On Thu, Apr 6, 2017 at 12:07 AM, Kranthi Tej <ee13b037 at ...484...
>> > <mailto:ee13b037 at ...484...>> wrote:
>> >
>> >     Hello Stefan,
>> >
>> >     Thank you for the quick response.
>> >
>> >     Yes, I've been following the parallel thread and I've made the
>> >     necessary changes in the
>> >     "/repos/base/include/spec/imx6/drivers/board_base.h" file. I've set
>> >     the following values:
>> >     UART_1_IRQ = 57,
>> >     UART_1_MMIO_BASE = 0x021e8000,
>> >     RAM0_SIZE = 0x20000000.
>> >
>> >     It turns out I was flashing it the wrong way. I've fixed it by
>> >     drawing insights from how Android is currently being flashed onto
>> >     the device. I've followed a similar procedure. After installing the
>> >     bootloader, I've flashed the Genode uImage (generated using RUN_OPT
>> >     += --include image/uboot) onto the device as per your advice.
>> >     Flashing was successfully done. Upon booting up, I got the
>> following:
>> >
>> >     U-Boot 2009.08-dirty (Jul 08 2016 - 12:21:39)
>> >
>> >     CPU: Freescale i.MX6 family TO1.5 at 792 MHz
>> >     Thermal sensor with ratio = 175
>> >     Temperature:   37 C, calibration data 0x5534ce69
>> >     mx6q pll1: 792MHz
>> >     mx6q pll2: 528MHz
>> >     mx6q pll3: 480MHz
>> >     mx6q pll8: 50MHz
>> >     ipg clock     : 66000000Hz
>> >     ipg per clock : 66000000Hz
>> >     uart clock    : 80000000Hz
>> >     cspi clock    : 60000000Hz
>> >     ahb clock     : 132000000Hz
>> >     axi clock   : 264000000Hz
>> >     emi_slow clock: 132000000Hz
>> >     ddr clock     : 528000000Hz
>> >     usdhc1 clock  : 198000000Hz
>> >     usdhc2 clock  : 198000000Hz
>> >     usdhc3 clock  : 198000000Hz
>> >     usdhc4 clock  : 198000000Hz
>> >     nfc clock     : 24000000Hz
>> >     Board: i.MX6Q-SABRESD: unknown-board Board: 0x63015 [POR ]
>> >     Boot Device: MMC
>> >
>> >     HAB Configuration: 0xf0, HAB State: 0x66
>> >
>> >     --------- HAB Event 1 -----------------
>> >     event data:
>> >     0xdb 0x00 0x1c 0x41 0x33 0x18 0xc0 0x00
>> >     0xca 0x00 0x14 0x00 0x02 0xc5 0x00 0x00
>> >     0x00 0x00 0x0d 0x34 0x27 0x80 0x04 0x00
>> >     0x00 0x13 0xec 0x00
>> >
>> >     --------- HAB Event 2 -----------------
>> >     event data:
>> >     0xdb 0x00 0x14 0x41 0x33 0x0c 0xa0 0x00
>> >     0x00 0x00 0x00 0x00 0x27 0x80 0x04 0x00
>> >     0x00 0x00 0x00 0x20
>> >
>> >     --------- HAB Event 3 -----------------
>> >     event data:
>> >     0xdb 0x00 0x14 0x41 0x33 0x0c 0xa0 0x00
>> >     0x00 0x00 0x00 0x00 0x27 0x80 0x04 0x2c
>> >     0x00 0x00 0x02 0xa0
>> >
>> >     --------- HAB Event 4 -----------------
>> >     event data:
>> >     0xdb 0x00 0x14 0x41 0x33 0x0c 0xa0 0x00
>> >     0x00 0x00 0x00 0x00 0x27 0x80 0x04 0x20
>> >     0x00 0x00 0x00 0x01
>> >
>> >     --------- HAB Event 5 -----------------
>> >     event data:
>> >     0xdb 0x00 0x14 0x41 0x33 0x0c 0xa0 0x00
>> >     0x00 0x00 0x00 0x00 0x27 0x80 0x06 0xe0
>> >     0x00 0x00 0x00 0x04
>> >     I2C:   ready
>> >     DRAM:   1 GB
>> >     MMC:   FSL_USDHC: 0,FSL_USDHC: 1,FSL_USDHC: 2,FSL_USDHC: 3
>> >     *** Warning - bad CRC or MMC, using default environment
>> >
>> >     In:    serial
>> >     Out:   serial
>> >     Err:   serial
>> >     Found PFUZE100! deviceid=10,revid=11
>> >     Net:   got MAC address from IIM: 00:00:00:00:00:00
>> >     FEC0 [PRIME]
>> >     Hit any key to stop autoboot:  0
>> >     booti: bad boot image magic
>> >     fastboot is in init......flash target is MMC:3
>> >     wait usb cable into the connector!
>> >
>> >     So, I've tried to write the image at an address and have loaded it
>> >     from there. I've did the following in the uboot prompt:
>> >
>> >     MX6Q SABRESD U-Boot > ext2load mmc 3:1 0x30000000 uImage
>> >     Loading file "uImage" from mmc device 3:1 (xxd1)
>> >     594591 bytes read
>> >
>> >     MX6Q SABRESD U-Boot > bootm 0x30000000
>> >     ## Booting kernel from Legacy Image at 30000000 ...
>> >        Image Name:
>> >        Image Type:   ARM Linux Kernel Image (gzip compressed)
>> >        Data Size:    594527 Bytes = 580.6 kB
>> >        Load Address: 10001000
>> >        Entry Point:  10001000
>> >        Verifying Checksum ... OK
>> >        Uncompressing Kernel Image ... OK
>> >
>> >     Starting kernel ...
>> >
>> >     It stops here (even after adjusting the UART settings before
>> >     building the image). I'm unable to find the source of the problem.
>> >     Can you give me any leads on the possible problems?
>> >
>> >     Thanks,
>> >     Kranthi
>> >
>> >     On Wed, Mar 29, 2017 at 6:18 PM, Kranthi Tej
>> >     <ee13b037 at ...484... <mailto:ee13b037 at ...484...>>
>> wrote:
>> >
>> >         ---------- Forwarded message ----------
>> >         From: "Stefan Kalkowski" <stefan.kalkowski at ...1...
>> >         <mailto:stefan.kalkowski at ...1...>>
>> >         Date: Mar 29, 2017 6:03 PM
>> >         Subject: Re: Genode on i.MX6 (eMMC Flash)
>> >         To: "Genode OS Framework Mailing List"
>> >         <genode-main at lists.sourceforge.net
>> >         <mailto:genode-main at lists.sourceforge.net>>
>> >         Cc:
>> >
>> >         Hi Kranthi Tej,
>> >
>> >         On 03/28/2017 12:30 PM, Kranthi Tej wrote:
>> >         > Hi Stefan,
>> >         >
>> >         > I've tried using the uboot plugin (RUN_OPT += --include
>> >         image/uboot).
>> >         > I've been able to generate a uImage successfully. When I tried
>> >         to flash
>> >         > it on to the board, it stops with following log (was observed
>> in
>> >         > TeraTerm while using the MfgTool):
>> >         >
>> >         > U-Boot 2009.08 (Aug 16 2013 - 14:38:59)
>> >         >
>> >         > CPU: Freescale i.MX6 family TO1.5 at 792 MHz
>> >         > Thermal sensor with ratio = 175
>> >         > Temperature:   42 C, calibration data 0x5524cd69
>> >         > mx6q pll1: 792MHz
>> >         > mx6q pll2: 528MHz
>> >         > mx6q pll3: 480MHz
>> >         > mx6q pll8: 50MHz
>> >         > ipg clock     : 66000000Hz
>> >         > ipg per clock : 66000000Hz
>> >         > uart clock    : 80000000Hz
>> >         > cspi clock    : 60000000Hz
>> >         > ahb clock     : 132000000Hz
>> >         > axi clock   : 264000000Hz
>> >         > emi_slow clock: 132000000Hz
>> >         > ddr clock     : 528000000Hz
>> >         > usdhc1 clock  : 198000000Hz
>> >         > usdhc2 clock  : 198000000Hz
>> >         > usdhc3 clock  : 198000000Hz
>> >         > usdhc4 clock  : 198000000Hz
>> >         > nfc clock     : 24000000Hz
>> >         > Board: i.MX6Q-SABRESD: unknown-board Board: 0x63015 [POR ]
>> >
>> >         As I can see you are using another board with less memory than
>> the
>> >         Wandboard. Did you adapted the memory settings before building
>> the
>> >         Genode image for that board?
>> >         Like it was discussed in this parallel mail thread:
>> >
>> >
>> >         http://genode-main.narkive.com/nWs1hbc8/genode-on-i-mx6q-sa
>> bre-lite
>> >         <http://genode-main.narkive.com/nWs1hbc8/genode-on-i-mx6q-s
>> abre-lite>
>> >
>> >         > Boot Device: MMC
>> >         > I2C:   ready
>> >         > DRAM:   1 GB
>> >         > MMC:   FSL_USDHC: 0,FSL_USDHC: 1,FSL_USDHC: 2,FSL_USDHC: 3
>> >         > Using default environment
>> >         >
>> >         > In:    serial
>> >         > Out:   serial
>> >         > Err:   serial
>> >         > Net:   got MAC address from IIM: 00:00:00:00:00:00
>> >         > FEC0 [PRIME]
>> >         > Hit any key to stop autoboot:  0
>> >         > ## Booting kernel from Legacy Image at 10800000 ...
>> >         >    Image Name:
>> >         >    Image Type:   ARM Linux Kernel Image (gzip compressed)
>> >         >    Data Size:    2075251 Bytes =  2 MB
>> >         >    Load Address: 10001000
>> >         >    Entry Point:  10001000
>> >         >    Verifying Checksum ... OK
>> >         > ## Loading init Ramdisk from Legacy Image at 10c00000 ...
>> >         >    Image Name:   uboot initramfs rootfs
>> >         >    Image Type:   ARM Linux RAMDisk Image (gzip compressed)
>> >         >    Data Size:    4545326 Bytes =  4.3 MB
>> >         >    Load Address: 00000000
>> >         >    Entry Point:  00000000
>> >         >    Verifying Checksum ... OK
>> >         >    Uncompressing Kernel Image ... OK
>> >         >
>> >         > Starting kernel ...
>> >         >
>> >         > Also, I'm using the Android RAMDisk Image. Would that be a
>> >         potential
>> >         > cause for the problem? I've used the following XML script to
>> >         flash the
>> >         > image on to the board (UCL file for MfgTool):
>> >
>> >         If you think the Android RAM disk might interfer with your
>> >         Genode image,
>> >         being in your position I would not load it in the first place.
>> >
>> >         >
>> >         > <UCL>
>> >         > <CFG>
>> >         > <STATE name="BootStrap" dev="MX6Q" vid="15A2" pid="0054"/>
>> >         > <STATE name="Updater"   dev="MSC" vid="066F" pid="37FF"/>
>> >         > </CFG>
>> >         >
>> >         > <LIST name="SabreSD-eMMC" desc="Choose eMMC as media">
>> >         > <CMD state="BootStrap" type="boot" body="BootStrap" file
>> >         > ="u-boot-mx6q-sabresd.bin" >Loading U-boot</CMD>
>> >         > <CMD state="BootStrap" type="load" file="files/demo/uimage"
>> >         > address="0x10800000"
>> >         >         loadSection="OTH" setSection="OTH"
>> HasFlashHeader="FALSE"
>> >         >>Loading Kernel.</CMD>
>> >         > <CMD state="BootStrap" type="load"
>> file="initramfs.cpio.gz.uboot"
>> >         > address="0x10C00000"
>> >         >         loadSection="OTH" setSection="OTH"
>> HasFlashHeader="FALSE"
>> >         >>Loading Initramfs.</CMD>
>> >         > <CMD state="BootStrap" type="jump" > Jumping to OS image.
>> </CMD>
>> >         > <CMD state="Updater" type="push" body="$ dd if=/dev/zero
>> >         of=/dev/mmcblk0
>> >         > bs=512 seek=1536 count=16">clean up u-boot parameter</CMD>
>> >         > <!--CMD state="Updater" type="push" body="$ echo 1 >
>> >         >
>> >         /sys/devices/platform/sdhci-esdhc-imx.3/mmc_host/mmc0/mmc0:
>> 0001/boot_config">access
>> >         > boot partition 1</CMD-->
>> >         > <CMD state="Updater" type="push" body="$ echo 0 >
>> >         > /sys/block/mmcblk0boot0/force_ro">access boot partition
>> 1</CMD>
>> >         > <CMD state="Updater" type="push" body="send"
>> >         > file="files/demo/mmc_img">Sending U-Boot</CMD>
>> >         > <CMD state="Updater" type="push" body="$ dd if=$FILE
>> >         of=/dev/mmcblk0
>> >         > bs=512 seek=2 skip=2">write U-Boot to sd card</CMD>
>> >         > <!-- <CMD state="Updater" type="push" body="$ dd if=$FILE
>> >         > of=/dev/mmcblk0p1 bs=1k seek=1 skip=1 conv=fsync">write U-Boot
>> >         to sd
>> >         > card</CMD> -->
>> >         > <CMD state="Updater" type="push" body="$ echo 8 >
>> >         >
>> >         /sys/devices/platform/sdhci-esdhc-imx.3/mmc_host/mmc0/mmc0:
>> 0001/boot_config">access
>> >         > user partition and enable boot partion 1 to boot</CMD>
>> >         > <CMD state="Updater" type="push" body="send"
>> >         > file="mksdcard-android.sh.tar">Sending partition shell</CMD>
>> >         > <CMD state="Updater" type="push" body="$ tar xf $FILE ">
>> >         > Partitioning...</CMD>
>> >         > <CMD state="Updater" type="push" body="$ sh
>> mksdcard-android.sh
>> >         > /dev/mmcblk0"> Partitioning...</CMD>
>> >         > <CMD state="Updater" type="push" body="$ ls -l /dev/mmc*
>> >         ">Formatting sd
>> >         > partition</CMD>
>> >         > <CMD state="Updater" type="push" body="pipe dd
>> >         of=/dev/mmcblk0p5 bs=512"
>> >         > file="files/demo/demo.img">Sending and writting
>> demo.img</CMD>
>> >         > <CMD state="Updater" type="push" body="frf">Finishing rootfs
>> >         write</CMD>
>> >         > <CMD state="Updater" type="push" body="$ echo Update
>> >         Complete!">Done</CMD>
>> >         > </LIST>
>> >         > </UCL>
>> >         >
>> >         > The script stops executing at "Jumping to OS image". Can you
>> >         give me any
>> >         > leads as to where I'm going wrong?
>> >         >
>> >
>> >         As I already told you, I do not have any experiences with that
>> >         tool, but
>> >         you probably encounter the same problems like when using the
>> >         uImage above.
>> >
>> >         > Note: I've generated the "mmc_img" file using the
>> >         "create_uboot" tool
>> >         > provided in the genode tools.
>> >
>> >         I see. In contrast to the run-tool, which produces either a disk
>> >         image
>> >         or uImage, this utility creates a disk image with the u-boot
>> binary
>> >         only. I'm not sure whether you can use the same u-boot binary in
>> >         between
>> >         Wandboard and your board, probably not!
>> >
>> >         We do not have a combination tool that combines u-boot and
>> >         system image
>> >         to provide one final disk image to you.
>> >
>> >         Best regards
>> >         Stefan
>> >
>> >         --
>> >         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/
>>
>> ------------------------------------------------------------
>> ------------------
>> 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
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.genode.org/pipermail/users/attachments/20170416/d32949d2/attachment.html>


More information about the users mailing list