foc_odroid_x2 with tftp boot via uboot on odroid u3

Alexander Weidinger alexander.weidinger at ...256...
Wed Nov 22 12:35:05 CET 2017


Hello Genode community,

thank you for all the suggestions we received in the correspondence.

In the end, we were able to boot our ODROID-u3 via DHCP/TFTP with the
images created by the `odroid_x2` target.

For completeness sake I will explain what we changed and used to
accomplish this.

*Genode*
- We adapted ehci ref frequency in the platform.cc file [0] for "Odroid Us"

*Fiasco*
- Since we are using r67 of Fiasco.OC, we changed the uart_nr to 1 as
this is the default uart interface [1] - This shouldn't be necessary
anymore, since with r72 (used by the current Genode vers. afaik) and
above the uart_nr is now configurable via the kernel configuration. [2]

*U-Boot*
- As we rely on u-boot as our boot loader we used the following commands
to build u-boot and fuse it onto a SD card:

> # get u-boot source code
> git clone --branch v2017.09 http://git.denx.de/u-boot.git
> cd u-boot
> # download and extract toolchain
> curl https://releases.linaro.org/components/toolchain/binaries/latest-5/arm-eabi/gcc-linaro-5.5.0-2017.10-x86_64_arm-eabi.tar.xz | tar xJ
> # temporarily add toolchain to path and set CROSS_COMPILE environment variable
> export PATH=$(pwd)/gcc-linaro-5.5.0-2017.10-x86_64_arm-eabi/bin:$PATH
> export CROSS_COMPILE=arm-eabi-
> # select and compile for droid-u3
> make odroid_defconfig
> make
> # download binary blobs (boot.tar.gz)
> curl http://odroid.in/guides/ubuntu-lfs/boot.tar.gz | tar xz
> cd boot
> # prepare the SD card to leave some space in the front,
> # since the binary blobs and u-boot image will be copied to the beginning of it
> (
>   echo "o"       # create new dos partition layout
>   echo "n"       # create new partition
>   echo "p"       # primary
>   echo "1"       # first partition
>   echo "2097152" # first sector after 1 GB (sector size 512 bytes)
>   echo "+8G"     # 8 GB size
>   echo "t"       # change partition type
>   echo "0c"      # w95 fat32 (lba)
>   echo "w"       # write changes
> ) | sudo fdisk /dev/null # replace /dev/null with your SD card
> sudo mkfs.fat -n GENODE /dev/null # replace /dev/null with the first partition of your SD card
> # finally fuse u-boot onto the SD card
> cp ../u-boot-dtb.bin u-boot.bin
> sh sd_fusing.sh /dev/null # replace /dev/null with your SD card

- Since USB support/TFTP boot seems to be "broken" the following bootcmd
works for us in mainline U-Boot to successfully bring up TFTP boot and
be able to use the USB/ETH device in Genode itself after boot:

> # configure an ethernet address
> setenv usbethaddr 02:DE:AD:BE:EF:FF
> # change bootcmd to boot via dhcp
> # workaround for the usb ethernet - seems to work that way
> setenv bootcmd 'usb reset; usb reset; dhcp ${scriptaddr}; usb reset; usb stop; bootelf ${scriptaddr}'
> # save settings on the SD card
> saveenv
> reset

Regards,
Alexander

[0]
https://github.com/genodelabs/genode/blob/17.08/repos/dde_linux/src/lib/usb/spec/odroid_x2/platform.cc#L152-L154
[1]
https://github.com/skalk/foc/blob/r67/l4/pkg/bootstrap/server/src/platform/exynos.cc#L33
[2]
https://github.com/skalk/foc/blob/r72/l4/pkg/bootstrap/server/src/platform/exynos.cc#L33

On 2017-03-10 12:39, Bernhard Blieninger wrote:
> Hi,
> 
> I just wanted to ask if someone can please help me with this problem 
> again, it still exists and i have no clue on how to fix it.
> 
> Thanks.
> 
> Best Regards,
> 
> Bernhard.
> 
> On 31.01.2017 16:17, Bernhard Blieninger wrote:
>> Hi Reinier,
>>
>> thanks for the answer.
>> Now I get new errors. :-(
>>
>> So i downloaded the release you said and edited the odroid.h.
>> It now states this:
>>
>> .....
>> #define CONFIG_EXTRA_ENV_SETTINGS \
>> "usbethaddr=02:DE:AD:BE:EF:FF\0"\
>>     "ipaddr=10.12.119.169\0"\
>>     "netmask=255.255.255.0\0"\
>>     "gatewayip=10.12.119.253\0"\
>>     "serverip=10.12.119.181\0"\
>>     "autoboot=" \
>>         "usb start; " \
>>         "tftpboot 0x40001000 exynos4/image.img; " \
>>         "bootz 0x40001000; \0"
>> ....
>>
>> Then i used your make odroid_defconfig and a make -j afterwards.
>> The second make generates an error:
>> ---------------------------------------------------------
>>  make odroid_config
>>
>>   HOSTCC  scripts/basic/fixdep
>>   GEN     ./Makefile
>>   HOSTCC  scripts/kconfig/conf.o
>>   HOSTCC  scripts/kconfig/zconf.tab.o
>>   HOSTLD  scripts/kconfig/conf
>> #
>> # configuration written to .config
>> #
>> -----------------------------------------------------------
>>
>> make
>> .........
>>  LD      arch/arm/cpu/armv7/built-in.o
>>   AS      arch/arm/cpu/armv7/start.o
>>   AS      arch/arm/lib/vectors.o
>>   AS      arch/arm/lib/crt0.o
>>   AS      arch/arm/lib/relocate.o
>>   CC      arch/arm/lib/bootm-fdt.o
>>   CC      arch/arm/lib/bootm.o
>> ../arch/arm/lib/bootm.c:27:28: error: asm/arch/timer.h: No such file 
>> or directory
>> ../scripts/Makefile.build:275: recipe for target 
>> 'arch/arm/lib/bootm.o' failed
>> make[2]: *** [arch/arm/lib/bootm.o] Error 1
>> ........
>>
>>
>> Did not find the asm/arch/timer.h under arch/arm/lib/ and i though 
>> bootm will not be compiled, because I am using bootz now with your config?
>> I did not find this include line of asm/arch/timer.h in the github 
>> project 
>> https://github.com/hardkernel/u-boot/blob/odroid-v2010.12/arch/arm/lib/bootm.c
>> but s905_6.0.1_v1.7 of the releases gives me the same error.
>>
>> I also tried the 2015.10 branch of harkernel/u-boot which not even 
>> accepts the first make odroid_defconfig command even if i copy the 
>> odroid.h.
>> I am using the gcc from 
>> http://odroid.com/dokuwiki/doku.php?id=en:u3_building_u-boot , could 
>> it be that I miss the correct cross compiler?
>> Is there something else I miss?
>>
>>
>> Thanks.
>>
>>
>> Best regards,
>> Bernhard.
>>
>>
>> On 30.01.2017 15:56, Reinier Millo Sánchez wrote:
>>> Hi Bernhard
>>>
>>> This is the Uboot version that we are using on Odroid-X2 an Odroid-U3
>>>
>>> https://github.com/hardkernel/u-boot
>>>
>>> To compile the odroid source code we are using the odroid_defconfig.
>>>
>>> make odroid_defconfig
>>>
>>> We recomend you use the last release (s905_6.0.1_v1.6). We have 
>>> modified the define of  CONFIG_EXTRA_ENV_SETTINGS in 
>>> include/configs/odroid.h file to use our default configuration
>>>
>>> "usbethaddr=02:DE:AD:BE:EF:FF\0"\
>>>     "ipaddr=10.12.119.169\0"\
>>>     "netmask=255.255.255.0\0"\
>>>     "gatewayip=10.12.119.253\0"\
>>>     "serverip=10.12.119.181\0"\
>>>     "autoboot=" \
>>>         "usb start; " \
>>>         "tftpboot 0x40001000 exynos4/image.img; " \
>>>         "bootz 0x40001000; \0"
>>>
>>> In this case the Uboot is compiled with bootz support. The kernel 
>>> image is generated using the script that Alexy had sent to you, or 
>>> you can use the command:
>>>
>>> genode-arm-objcopy -O binary <elf input image> <raw output img image>
>>>
>>> Alexy has told me that check the load address to 0x40001000 like the 
>>> example. We recomend you to try first with the most basic example 
>>> printf and then more complex examples. We have used GenodeOS on both 
>>> Odroids using Fiasco.OS as base microkernel.
>>>
>>> I hope that this can help you to solve the problem.
>>>
>>> Best regards
>>> On 01/27/2017 08:40 AM, Bernhard Blieninger wrote:
>>>> Hi,
>>>>
>>>>
>>>> this is only leading to an out-of-mem exception.
>>>> I read somewhere that the uImage hast to be loaded somewhere else 
>>>> than the actual place it will be placed after loading from the tftp 
>>>> server.
>>>> I also thought maybe this 0x41000000 is not the right adress where 
>>>> the kernel is normally stored(saw some 0x40008000 somewhere) and I 
>>>> overwrite something from the boot loader code.
>>>>
>>>> Log Output is:
>>>>
>>>> U-Boot 2010.12-00000-gb93fb15-dirty (Jan 18 2017 - 20:24:29) for 
>>>> Exynox4412
>>>>
>>>>
>>>> CPU: S5PC220 [Samsung SOC on SMP Platform Base on ARM CortexA9]
>>>> APLL = 1000MHz, MPLL = 880MHz
>>>> DRAM:  2 GiB
>>>>
>>>> PMIC VERSION : 0x00, CHIP REV : 3
>>>> TrustZone Enabled BSP
>>>> BL1 version: 20121128
>>>>
>>>>
>>>> Checking Boot Mode ... SDMMC
>>>> MMC Device 0: 15343 MB
>>>> *** Warning - using default environment
>>>>
>>>> In: serial
>>>> Out: serial
>>>> Err: serial
>>>> ModeKey Check... run normal_boot
>>>> Net: usb_ether
>>>> Hit any key to stop autoboot: 0
>>>> >>> Load Boot Script from mmc 0:1 <<<
>>>> reading boot.scr
>>>> 367 bytes read in 22 ms (15.6 KiB/s)
>>>> ## Executing script at 40008000
>>>> (Re)start USB...
>>>> USB0:   Exynos4412-ehci: init hccr 12580000 and hcor 12580010 
>>>> hc_length 16
>>>> usb: usb_refclk_enable is active low: YES
>>>> ProTIP: If usb doesn't work - try playing with 'usb_invert_clken' 
>>>> environment
>>>> USB EHCI 1.00
>>>> scanning bus 0 for devices... 3 USB Device(s) found
>>>>        scanning usb for storage devices... 0 Storage Device(s) found
>>>>        scanning usb for ethernet devices... 1 Ethernet Device(s) found
>>>>         scanning usb for keyboard ... Waiting for Ethernet 
>>>> connection... done.
>>>> BOOTP broadcast 1
>>>> DHCP client bound to address 192.168.0.7
>>>> Waiting for Ethernet connection... done.
>>>> Using sms0 device
>>>> TFTP from server 131.159.12.22; our IP address is 192.168.0.7; 
>>>> sending through 4
>>>> Filename 'odroid/uImage'.
>>>> Load address: 0x41000000
>>>> Loading: #####################################################
>>>>          266.6 KiB/s
>>>> done
>>>> Bytes transferred = 773987 (bcf63 hex)
>>>> ## Booting kernel from Legacy Image at 41000000 ...
>>>>    Image Name:
>>>>    Image Type:   ARM Linux Kernel Image (gzip compressed)
>>>>    Data Size:    773923 Bytes = 755.8 KiB
>>>>    Load Address: 41000000
>>>>    Entry Point: 41000000
>>>>    Verifying Checksum ... OK
>>>>    Uncompressing Kernel Image ... Error: inflate() returned -3
>>>> GUNZIP: uncompress, out-of-mem or overwrite error - must RESET board 
>>>> to recover
>>>> resetting ...
>>>> reset...
>>>>
>>>> OK
>>>>
>>>> -----
>>>> Here the device restarts and ends in a loop.
>>>>
>>>>
>>>>
>>>> Best regards,
>>>>
>>>> Bernhard.
>>>>
>>>>
>>>> On 26.01.2017 22:08, rmillo wrote:
>>>>>
>>>>> Hi Bernhard
>>>>>
>>>>> Try to load the kernel image directly to the address 0x41000000 not 
>>>>> 0x70000000 and them perform a bootm to the addres 0x41000000. The 
>>>>> first bootm that you do with 0x70000000 give you unknown os, 
>>>>> because the kernel entry point is at 0x41000000.
>>>>>
>>>>> Check this, if this don't work tomorrow we can sent you the uboot 
>>>>> steps to run a GenodeOS image.
>>>>>
>>>>> Best regards
>>>>>
>>>>> On 26/01/2017 03:58 PM, Bernhard Blieninger wrote:
>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> thanks for the answers.
>>>>>>
>>>>>> If you say you got the x2 to work at the odroid u3, I believe its 
>>>>>> clearly a uboot problem.
>>>>>> I had to use bootm twice because the first use gave me the 
>>>>>> "unknown os" error.
>>>>>> I think the first bootm call loads the uImage from the preload 
>>>>>> location 0x70000000 to 0x41000000 and the second one loads it from 
>>>>>> 0x41000000.
>>>>>> So the first bootm could possibly only be "bootm" without 
>>>>>> parameter, the second one needs to have the 0x41000000 to work.
>>>>>> I also tried bootelf with the image.elf and bootp, nothing worked 
>>>>>> so far.
>>>>>> bootelf freezes quite similar to the bootm command. It says, that 
>>>>>> its starting the application.
>>>>>>
>>>>>>
>>>>>> The script Alexy sent is working and I compiled an image.img in 
>>>>>> the meantime and deployed it at the tftp server. I also renamed it 
>>>>>> to zImage.
>>>>>> Problem still exists.
>>>>>>
>>>>>> I tried your uboot code, but I fail to flash it to the sd card.
>>>>>>
>>>>>> Am I right that I have to use:
>>>>>>
>>>>>> apt-get install device-tree-compiler
>>>>>> (for needed dts, was not necessary at the previous version)
>>>>>>
>>>>>>
>>>>>> make odroid_config
>>>>>> (make smdk4412_config is not present)
>>>>>> make -j
>>>>>>
>>>>>> Is the odroid config for u3?
>>>>>> There is no sd_fuse folder so I am somehow stuck here, because I 
>>>>>> have no idea on how to format the sd card correctly and where to 
>>>>>> put which files.
>>>>>>
>>>>>> Would appreciate if you can give some kind of instruction on how 
>>>>>> to prepare sd cards or emmc for such devices and flash all 
>>>>>> necessary files to it.
>>>>>> I think that my formatting, which leaves the first 1GB of the sd 
>>>>>> untouched, is not the best way and I am an absolute beginner here.
>>>>>>
>>>>>>
>>>>>> Thanks.
>>>>>>
>>>>>>
>>>>>> Best regards,
>>>>>>
>>>>>> Bernhard.
>>>>>>
>>>>>> On 26.01.2017 21:17, rmillo wrote:
>>>>>>>
>>>>>>> Hi Bernhard
>>>>>>>
>>>>>>> It does not seem to be a network or usb problem. Clearly the 
>>>>>>> uboot is loading the image from TFTP server. Why do you use two 
>>>>>>> bootm calls, if you only load the uImage in address 0x70000000?
>>>>>>>
>>>>>>> When uboot is usesd to boot some operating systems like android 
>>>>>>> or other linux distributions bootm can be used as:
>>>>>>>
>>>>>>> bootm $(kernel_addr) $(ramdisk_addr)
>>>>>>>
>>>>>>> But this only can done if there are loaded on memory the kernel 
>>>>>>> and the ramdisk.
>>>>>>>
>>>>>>> In this case GenodeOS don't use ramdisk, it uses only kernel image.
>>>>>>>
>>>>>>> I think that the problem with Genode can be the image format. As 
>>>>>>> Alexy Gallardo explains we have tested the Odroid-U3 with the 
>>>>>>> Odroid-X2 support, but we boot the image with the bootz (at 
>>>>>>> address 0x41000000) command because we use a zImage format 
>>>>>>> created with the raw_image script that him attached to you. Your 
>>>>>>> uboot seems to don't have this command (bootz), maybe it can be 
>>>>>>> enable on uboot compilation.
>>>>>>>
>>>>>>> Now i'm not in work to see the source of Uboot that we are using, 
>>>>>>> but take a look on this Uboot project with support to Odroid-X2 
>>>>>>> and Odroid-U3.:
>>>>>>>
>>>>>>> https://github.com/dsd/u-boot
>>>>>>>
>>>>>>> Have you tried boot the elf image with bootelf? Or have you tried 
>>>>>>> to boot the same image from an storage device to test it first 
>>>>>>> and then move it for the tftp?
>>>>>>>
>>>>>>> Best regards
>>>>>>>
>>>>>>>
>>>>>>> On 26/01/2017 02:50 PM, Bernhard Blieninger wrote:
>>>>>>>
>>>>>>>     Hi all,
>>>>>>>
>>>>>>>     tried something else instead.
>>>>>>>     Deleted the whole sd card again and flashed it with a fat32
>>>>>>>     partition starting at 1GB to ensure I don't write some place,
>>>>>>>     that is rewritten when sd_fusing script writes boot data to
>>>>>>>     sd card.
>>>>>>>     I feared that if i load 0x41000000 it could be the zImage
>>>>>>>     kernel which is on the sd card already.
>>>>>>>
>>>>>>>     I also have to correct myself i have to use the usbnet uboot
>>>>>>>     code from here:
>>>>>>>     https://github.com/mkaczanowski/u-boot/tree/odroid-u3-usbnet
>>>>>>>     Otherwhise it wont boot the usb parts(network card).
>>>>>>>
>>>>>>>
>>>>>>>     Now I used the uImage from Ubuntu from the tftp server and
>>>>>>>     the uImage from the genode build.
>>>>>>>     The boot.txt looks like this:
>>>>>>>
>>>>>>>     setenv ethact sms0
>>>>>>>     setenv ethaddr 00:10:75:2A:AE:E0
>>>>>>>     setenv gatewayip 192.168.0.254
>>>>>>>     setenv netmask 255.255.255.0
>>>>>>>     setenv serverip 131.159.12.22
>>>>>>>     setenv usbethaddr 00:10:75:2A:AE:E0
>>>>>>>     setenv ipaddr 192.168.0.23
>>>>>>>
>>>>>>>     usb start
>>>>>>>     tftp 0x70000000 odroid/uImage
>>>>>>>     bootm 0x70000000
>>>>>>>     bootm 0x41000000
>>>>>>>
>>>>>>>     Boot uImage now seem to work, Ubuntu runs to its kernel panic
>>>>>>>     again but Genode now unfortunately hangs at Starting kernel.
>>>>>>>
>>>>>>>     Is it possible that now all is running as expected but x2
>>>>>>>     genode code can not be used at u3?
>>>>>>>     I'd expected that i should at least be able to boot, even if
>>>>>>>     some usb drivers or something will not work?
>>>>>>>
>>>>>>>
>>>>>>>     Best regards,
>>>>>>>
>>>>>>>     Bernhard.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>     Here is the full log dump:
>>>>>>>
>>>>>>>
>>>>>>>     U-Boot 2010.12-00000-gb93fb15-dirty (Jan 18 2017 - 20:24:29)
>>>>>>>     for Exynox4412
>>>>>>>
>>>>>>>
>>>>>>>     CPU: S5PC220 [Samsung SOC on SMP Platform Base on ARM CortexA9]
>>>>>>>     APLL = 1000MHz, MPLL = 880MHz
>>>>>>>     DRAM:  2 GiB
>>>>>>>
>>>>>>>     PMIC VERSION : 0x00, CHIP REV : 3
>>>>>>>     TrustZone Enabled BSP
>>>>>>>     BL1 version: 20121128
>>>>>>>
>>>>>>>
>>>>>>>     Checking Boot Mode ... SDMMC
>>>>>>>     MMC Device 0: 15343 MB
>>>>>>>     *** Warning - using default environment
>>>>>>>
>>>>>>>     In: serial
>>>>>>>     Out: serial
>>>>>>>     Err: serial
>>>>>>>     ModeKey Check... run normal_boot
>>>>>>>     Net: usb_ether
>>>>>>>     Hit any key to stop autoboot: 0
>>>>>>>     >>> Load Boot Script from mmc 0:1 <<<
>>>>>>>     reading boot.scr
>>>>>>>     351 bytes read in 23 ms (14.6 KiB/s)
>>>>>>>     ## Executing script at 40008000
>>>>>>>     (Re)start USB...
>>>>>>>     USB0:   Exynos4412-ehci: init hccr 12580000 and hcor 12580010
>>>>>>>     hc_length 16
>>>>>>>     usb: usb_refclk_enable is active low: YES
>>>>>>>     ProTIP: If usb doesn't work - try playing with
>>>>>>>     'usb_invert_clken' environment
>>>>>>>     USB EHCI 1.00
>>>>>>>     scanning bus 0 for devices... 3 USB Device(s) found
>>>>>>>            scanning usb for storage devices... 0 Storage
>>>>>>>     Device(s) found
>>>>>>>            scanning usb for ethernet devices... 1 Ethernet
>>>>>>>     Device(s) found
>>>>>>>             scanning usb for keyboard ... Waiting forEthernet
>>>>>>>     connection... done.
>>>>>>>     Using sms0 device
>>>>>>>     TFTP from server 192.168.0.1; our IP address is 192.168.0.23;
>>>>>>>     sending through4
>>>>>>>     Filename 'odroid/uImage'.
>>>>>>>     Load address: 0x70000000
>>>>>>>     Loading: #####################################################
>>>>>>>              264.6 KiB/s
>>>>>>>     done
>>>>>>>     Bytes transferred = 773987 (bcf63 hex)
>>>>>>>     ## Booting kernel from Legacy Image at 70000000 ...
>>>>>>>        Image Name:
>>>>>>>        Image Type:   ARM Linux Kernel Image (gzip compressed)
>>>>>>>        Data Size:    773923 Bytes = 755.8 KiB
>>>>>>>        Load Address: 41000000
>>>>>>>        Entry Point: 41000000
>>>>>>>        Verifying Checksum ... OK
>>>>>>>        Uncompressing Kernel Image ... OK
>>>>>>>     ERROR: booting os 'Unknown OS' (3) is not supported
>>>>>>>     Boot with zImage
>>>>>>>
>>>>>>>     Starting kernel ...
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>     On 26.01.2017 13:58, Bernhard Blieninger wrote:
>>>>>>>
>>>>>>>         Hi Christian,
>>>>>>>
>>>>>>>
>>>>>>>         thanks, this did not fix the problem either.
>>>>>>>         I tested it with the uImage from ubuntu and the uImage
>>>>>>>         from genode.
>>>>>>>
>>>>>>>         Best regards,
>>>>>>>
>>>>>>>         Bernhard.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>         On 26.01.2017 11:15, Christian Helmuth wrote:
>>>>>>>
>>>>>>>             Hi,
>>>>>>>
>>>>>>>             I've just a small hint regarding the following issue.
>>>>>>>
>>>>>>>             On Wed, Jan 25, 2017 at 07:30:11PM +0100, Bernhard
>>>>>>>             Blieninger wrote:
>>>>>>>
>>>>>>>                   mkimage -A arm -C none -T script -n 'Custom
>>>>>>>                 Boot Script' -d boot.txt boot.scr
>>>>>>>
>>>>>>>                 Problem now is that is says something like:
>>>>>>>
>>>>>>>                     *ERROR: booting os 'Unknown OS' (3) is not
>>>>>>>                 supported*
>>>>>>>
>>>>>>>             When generating an uImage mkimage supports to set the
>>>>>>>             operating system
>>>>>>>             in the commandline via '-O <os>'. So, your mkimage
>>>>>>>             command line should
>>>>>>>             read
>>>>>>>
>>>>>>>                mkimage -A arm -O linux -C none -T script -n
>>>>>>>             'Custom Boot Script' -d boot.txt boot.scr
>>>>>>>
>>>>>>>             Hope it helps
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>         ------------------------------------------------------------------------------
>>>>>>>         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
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>     ------------------------------------------------------------------------------
>>>>>>>     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
>>>>>>>
>>>>>>>
>>>>>>> -- 
>>>>>>> MSc. Reinier Millo Sánchez
>>>>>>> Centro de Estudios de Informática
>>>>>>> Universidad Central "Marta Abreu" de Las Villas
>>>>>>> Carretera a Camajuaní Km 5 1/2
>>>>>>> Santa Clara, Villa Clara, Cuba
>>>>>>> CP 54830
>>>>>>>
>>>>>>>
>>>>>>> ------------------------------------------------------------------------------
>>>>>>> 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
>>>>>>
>>>>>>
>>>>>> ------------------------------------------------------------------------------
>>>>>> 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
>>>>>
>>>>>
>>>>> -- 
>>>>> MSc. Reinier Millo Sánchez
>>>>> Centro de Estudios de Informática
>>>>> Universidad Central "Marta Abreu" de Las Villas
>>>>> Carretera a Camajuaní Km 5 1/2
>>>>> Santa Clara, Villa Clara, Cuba
>>>>> CP 54830
>>>>>
>>>>>
>>>>> ------------------------------------------------------------------------------
>>>>> 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
>>>>
>>>>
>>>>
>>>> ------------------------------------------------------------------------------
>>>> 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
>>>
>>> -- 
>>> MSc. Reinier Millo Sánchez
>>> Centro de Estudios de Informática
>>> Universidad Central "Marta Abreu" de Las Villas
>>> Carretera a Camajuaní Km 5 1/2
>>> Santa Clara, Villa Clara, Cuba
>>> CP 54830
>>>
>>>
>>> ------------------------------------------------------------------------------
>>> 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
>>
>>
>>
>> ------------------------------------------------------------------------------
>> 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
> 
> 
> 
> ------------------------------------------------------------------------------
> Announcing the Oxford Dictionaries API! The API offers world-renowned
> dictionary content that is easy and intuitive to access. Sign up for an
> account today to start using our lexical data to power your apps and
> projects. Get started today and enter our developer competition.
> http://sdm.link/oxford
> 
> 
> 
> _______________________________________________
> genode-main mailing list
> genode-main at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/genode-main
> 




More information about the users mailing list