Re: foc_odroid_x2 with tftp boot via uboot on odroid u3

2017-11-22 Thread Alexander Weidinger
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 

Re: foc_odroid_x2 with tftp boot via uboot on odroid u3

2017-03-10 Thread Bernhard Blieninger

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  

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 0x4100 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-0-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 1258 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 

Re: foc_odroid_x2 with tftp boot via uboot on odroid u3

2017-01-31 Thread Bernhard Blieninger

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  

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 0x4100 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-0-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 1258 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 

Re: foc_odroid_x2 with tftp boot via uboot on odroid u3

2017-01-27 Thread Bernhard Blieninger

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 0x4100 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-0-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 1258 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: 0x4100
Loading: #
 266.6 KiB/s
done
Bytes transferred = 773987 (bcf63 hex)
## Booting kernel from Legacy Image at 4100 ...
   Image Name:
   Image Type:   ARM Linux Kernel Image (gzip compressed)
   Data Size:773923 Bytes = 755.8 KiB
   Load Address: 4100
   Entry Point: 4100
   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 0x4100 not 
0x7000 and them perform a bootm to the addres 0x4100. The 
first bootm that you do with 0x7000 give you unknown os, because 
the kernel entry point is at 0x4100.


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 0x7000 to 0x4100 and the second one loads it from 
0x4100.
So the first bootm could possibly only be "bootm" without parameter, 
the second one needs to have the 0x4100 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 0x7000?


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 

Re: foc_odroid_x2 with tftp boot via uboot on odroid u3

2017-01-26 Thread Bernhard Blieninger

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 
0x7000 to 0x4100 and the second one loads it from 0x4100.
So the first bootm could possibly only be "bootm" without parameter, the 
second one needs to have the 0x4100 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 0x7000?


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 0x4100) 
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 0x4100 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 0x7000 odroid/uImage
bootm 0x7000
bootm 0x4100

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-0-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 1258 and hcor 12580010 
hc_length 16

usb: usb_refclk_enable is active 

Re: foc_odroid_x2 with tftp boot via uboot on odroid u3

2017-01-26 Thread rmillo
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 0x7000?

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 0x4100)
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 0x4100 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 0x7000 odroid/uImage
> bootm 0x7000
> bootm 0x4100
> 
> 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-0-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 1258 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 

Re: foc_odroid_x2 with tftp boot via uboot on odroid u3

2017-01-26 Thread Alexy Gallardo Segura
Hello,

Sorry for the previous email the two lines that I said put in "etc / build" of 
the compilation directory of foc_odroid_x2 only works on the genodeOS version 
that we have here. For it to work you must add the attached script in 
"genodeDir / tool / run / image".


Set on ../genodeDir/build/foc_odroid_x2/etc/build.conf the fellowing lines
For generate a zImage and now if it should work

RUN_OPT = --include boot_dir / foc \
   --include image / raw_image

Copy the image to the TFTP server

At the start of the uboot

If image format is zImage use:
 Usb start
 Tftp 0x40001000 odroid / uImage
 Bootz 0x40001000

If this does not work try changing the uboot version. At the beginning of us 
working with the odroid the uboot version did not allow support for the 
network. I do not know if this is what may be happening to you. In github 
there are several uboot projects that can be compiled for the odroid.

Regards

Alexy

On jueves, 26 de enero de 2017 1:57:19 P. M. CST Bernhard Blieninger wrote:
> Hi Alexy,
> 
> thanks for the hint.
> If I just use your two lines as they are written below and put the uboot
> lines away compiling won't start with the error message:
> Aborting, could not load '../genode/tool/run/image/raw_image'
> 
> There is not image/raw_image in this folder and i unfortunately didn't
> find anything about it with google.
> 
> I do also not have any bootz command, it says unkown command bootz, the
> bootm command boots the zImages without complaining.
> 
> 
> Best regards,
> 
> Bernhard.
> 
> On 25.01.2017 20:58, Alexy Gallardo Segura wrote:
> > Hi,
> > 
> >>  |setenv ethact sms0|
> >>  |setenv ethaddr 00:10:75:2A:AE:E0|
> >>  |setenv gatewayip 192.168.4.1|
> >>  |setenv netmask 255.255.255.0|
> >>  |setenv serverip 192.168.4.2|
> >>  |setenv usbethaddr 00:10:75:2A:AE:E0|
> >>  |setenv ipaddr 192.168.4.43|
> >>  |
> >>  |usb start|
> >>  |tftp 0x7000 odroid/uImage|
> >>  |bootm|
> > 
> > If image format is zImage use:
> > usb start
> > tftp 0x7000 odroid/uImage
> > bootz 0x7000
> > 
> > set on  ../genodeDir/build/foc_odroid_x2/etc/build.conf the fellowing
> > lines
> > for generate a zImage.
> > 
> > RUN_OPT = --include boot_dir/foc \
> > 
> >   --include image/raw_image
> > 
> > cheers,
> > 
> > Alexy
> > 
> >> |Where uImage is the uImage created from the foc_odroid build.
> >> 
> >> Then I used
> >> 
> >>  ||mkimage -A arm -C none -T script -n 'Custom Boot Script' -d
> >>  
> >>  boot.txt boot.scr||
> >> ||
> >> ||to build the boot.scr and booted the odroid u3.||
> > 
> > --
> >  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


-- 
Lic. Alexy Gallardo Segura\nCentro Territorial Villa Clara.\nEmpresa de 
Tecnologías de la Información para la Defensa (XETID)-UCLV\nCarretera a 
Camajuaní, km 5.5, Santa Clara, Villa Clara, CUBA\nE-mail: al...@uclv.cu, 
al...@xetid.cu\nTeléf:042-226714\nwww.xetid.cu\n##
# Build specific binary raw image
#
# \param  elf_img   ELF binary to build raw image from
#
proc run_image {elf_img} {
	# parse ELF entrypoint and load address
	set raw_img "[run_dir]/image.img"
	exec [cross_dev_prefix]objcopy -O binary $elf_img $raw_img

	puts "Binary raw image created: ./$raw_img"
}--
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


Re: foc_odroid_x2 with tftp boot via uboot on odroid u3

2017-01-26 Thread Bernhard Blieninger

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 '. 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





smime.p7s
Description: S/MIME Cryptographic Signature
--
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


Re: foc_odroid_x2 with tftp boot via uboot on odroid u3

2017-01-26 Thread Bernhard Blieninger

Hi Alexy,

thanks for the hint.
If I just use your two lines as they are written below and put the uboot 
lines away compiling won't start with the error message:

Aborting, could not load '../genode/tool/run/image/raw_image'

There is not image/raw_image in this folder and i unfortunately didn't 
find anything about it with google.


I do also not have any bootz command, it says unkown command bootz, the 
bootm command boots the zImages without complaining.



Best regards,

Bernhard.




On 25.01.2017 20:58, Alexy Gallardo Segura wrote:

Hi,



 |setenv ethact sms0|
 |setenv ethaddr 00:10:75:2A:AE:E0|
 |setenv gatewayip 192.168.4.1|
 |setenv netmask 255.255.255.0|
 |setenv serverip 192.168.4.2|
 |setenv usbethaddr 00:10:75:2A:AE:E0|
 |setenv ipaddr 192.168.4.43|
 ||
 |usb start|
 |tftp 0x7000 odroid/uImage|
 |bootm|

If image format is zImage use:
usb start
tftp 0x7000 odroid/uImage
bootz 0x7000

set on  ../genodeDir/build/foc_odroid_x2/etc/build.conf the fellowing lines
for generate a zImage.

RUN_OPT = --include boot_dir/foc \
  --include image/raw_image


cheers,

Alexy


|Where uImage is the uImage created from the foc_odroid build.

Then I used



 ||mkimage -A arm -C none -T script -n 'Custom Boot Script' -d
 boot.txt boot.scr||
 

||to build the boot.scr and booted the odroid u3.||




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





smime.p7s
Description: S/MIME Cryptographic Signature
--
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


Re: foc_odroid_x2 with tftp boot via uboot on odroid u3

2017-01-26 Thread Christian Helmuth
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 '. 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
-- 
Christian Helmuth
Genode Labs

https://www.genode-labs.com/ · https://genode.org/
https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/

Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden
Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth

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


Re: foc_odroid_x2 with tftp boot via uboot on odroid u3

2017-01-25 Thread Alexy Gallardo Segura
Hi, 


> |setenv ethact sms0|
> |setenv ethaddr 00:10:75:2A:AE:E0|
> |setenv gatewayip 192.168.4.1|
> |setenv netmask 255.255.255.0|
> |setenv serverip 192.168.4.2|
> |setenv usbethaddr 00:10:75:2A:AE:E0|
> |setenv ipaddr 192.168.4.43|
> ||
> |usb start|
> |tftp 0x7000 odroid/uImage|
> |bootm|

If image format is zImage use:
usb start
tftp 0x7000 odroid/uImage
bootz 0x7000

set on  ../genodeDir/build/foc_odroid_x2/etc/build.conf the fellowing lines 
for generate a zImage.

RUN_OPT = --include boot_dir/foc \
  --include image/raw_image 


cheers,

Alexy

> 
> |Where uImage is the uImage created from the foc_odroid build.
> 
> Then I used
> 
> 
> 
> ||mkimage -A arm -C none -T script -n 'Custom Boot Script' -d
> boot.txt boot.scr||
> 
> 
> ||to build the boot.scr and booted the odroid u3.||




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