foc_odroid_x2 with tftp boot via uboot on odroid u3

Reinier Millo Sánchez rmillo at ...210...
Mon Jan 30 15:56:04 CET 2017


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 for Ethernet
>>>>     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

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.genode.org/pipermail/users/attachments/20170130/233155e8/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: rmillo.vcf
Type: text/x-vcard
Size: 494 bytes
Desc: not available
URL: <http://lists.genode.org/pipermail/users/attachments/20170130/233155e8/attachment.vcf>


More information about the users mailing list