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@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@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@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@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@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@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