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