Discussion:
foc_odroid_x2 with tftp boot via uboot on odroid u3
Bernhard Blieninger
2017-01-25 18:30:11 UTC
Permalink
Hi guys,

we are trying to get genode running on an odroid u3 which should be
quite similar to the foc_odroid_x2.

I followed the instructions from here:
http://odroid.com/dokuwiki/doku.php?id=en:u3_building_u-boot and here:
http://forum.odroid.com/viewtopic.php?f=82&t=9128
And i used the newest version of u-boot from hardkernel here:
https://github.com/hardkernel/u-boot/tree/odroid-v2015.10

I wanted to use tftp boot so and did not really know how to start at
first place,
so i picked up the ubuntu image from here:
http://odroid.com/dokuwiki/doku.php?id=en:u3_release_linux_ubuntu and
copied it via dd to the sd card.
Then I just let the sd_fuse script from the first link overwrite the
bootcode on the sdcard. And wrote into the boot.txt at the first
partition the bootcode which it should execute,
in my case something like this:

|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 0x70000000 odroid/uImage|
|bootm|

|

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




||
Problem now is that is says something like: ||

*ERROR: booting os 'Unknown OS' (3) is not supported*

Where 3 means something like Checksum OK as the uboot manual states.
Now I took the zImage from the ubuntu on the sd card and converted it to
a uImage with the mkimage program.
Put both on the tftp server and changed the boot.txt accordingly.

If i select zImage the ubuntu kernel boots up and gets a kernel panic,
if i select uImage(now from Ubuntu) i get the same unknown OS error.

Does someone have similar issues and can tell me how to fix it?
Is it even possible to use the foc_odroid_x2 on u3, they share the same
hardware so it should be?


Thanks in advance.


Best regards,

Bernhard.|

|
--
Bernhard Blieninger, B.Sc.

Technische UniversitÀt MÌnchen
FakultÀt fÌr Informatik
Lehrstuhl fÃŒr Betriebssysteme

Boltzmannstraße 3
85748 Garching

Tel. +49 89 289 18795
Fax +49 89 289 18557
***@in.tum.de
www.os.in.tum.de
Alexy Gallardo Segura
2017-01-25 19:58:51 UTC
Permalink
Hi,
Post by Bernhard Blieninger
|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 0x70000000 odroid/uImage|
|bootm|
If image format is zImage use:
usb start
tftp 0x70000000 odroid/uImage
bootz 0x70000000

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
Post by Bernhard Blieninger
|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.||
Bernhard Blieninger
2017-01-26 12:57:19 UTC
Permalink
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.
Post by Bernhard Blieninger
Hi,
Post by Bernhard Blieninger
|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 0x70000000 odroid/uImage|
|bootm|
usb start
tftp 0x70000000 odroid/uImage
bootz 0x70000000
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
Post by Bernhard Blieninger
|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
https://lists.sourceforge.net/lists/listinfo/genode-main
Alexy Gallardo Segura
2017-01-26 19:49:16 UTC
Permalink
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
Post by Bernhard Blieninger
Hi Alexy,
thanks for the hint.
If I just use your two lines as they are written below and put the uboot
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.
Post by Bernhard Blieninger
Hi,
Post by Bernhard Blieninger
|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 0x70000000 odroid/uImage|
|bootm|
usb start
tftp 0x70000000 odroid/uImage
bootz 0x70000000
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
Post by Bernhard Blieninger
|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
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: ***@uclv.cu,
***@xetid.cu\nTeléf:042-226714\nwww.xetid.cu\n
Christian Helmuth
2017-01-26 10:15:48 UTC
Permalink
Hi,

I've just a small hint regarding the following issue.
mkimage -A arm -C none -T script -n 'Custom Boot Script' -d boot.txt boot.scr
*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
--
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
Bernhard Blieninger
2017-01-26 12:58:46 UTC
Permalink
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.
Post by Christian Helmuth
Hi,
I've just a small hint regarding the following issue.
mkimage -A arm -C none -T script -n 'Custom Boot Script' -d boot.txt boot.scr
*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
Bernhard Blieninger
2017-01-26 19:50:44 UTC
Permalink
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
Post by Bernhard Blieninger
Post by Christian Helmuth
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 ...
Post by 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.
Post by Christian Helmuth
Hi,
I've just a small hint regarding the following issue.
mkimage -A arm -C none -T script -n 'Custom Boot Script' -d boot.txt boot.scr
*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
https://lists.sourceforge.net/lists/listinfo/genode-main
rmillo
2017-01-26 20:17:03 UTC
Permalink
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
Post by Bernhard Blieninger
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.
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.
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 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.
Hi,
I've just a small hint regarding the following issue.
mkimage -A arm -C none -T script -n 'Custom Boot Script' -d boot.txt boot.scr
*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-***@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-***@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
Bernhard Blieninger
2017-01-26 20:58:14 UTC
Permalink
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.
Post by 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 0x70000000?
When uboot is usesd to boot some operating systems like android or
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
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
Post by Bernhard Blieninger
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.
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.
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
Post by Bernhard Blieninger
Post by Christian Helmuth
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 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 ...
Post by 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.
Post by Christian Helmuth
Hi,
I've just a small hint regarding the following issue.
mkimage -A arm -C none -T script -n 'Custom Boot Script' -d boot.txt boot.scr
*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
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
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
https://lists.sourceforge.net/lists/listinfo/genode-main
rmillo
2017-01-26 21:08:32 UTC
Permalink
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
Post by 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 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.
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.
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?
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.
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.
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.
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 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.
Hi,
I've just a small hint regarding the following issue.
mkimage -A arm -C none -T script -n 'Custom Boot Script' -d boot.txt boot.scr
*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-***@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-***@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-***@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-***@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
Bernhard Blieninger
2017-01-27 13:40:53 UTC
Permalink
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
Post by rmillo
Post by Bernhard Blieninger
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.
Post by rmillo
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
Post by 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 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.
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.
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
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
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
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
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.
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.
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 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 ...
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.
Hi,
I've just a small hint regarding the following issue.
On Wed, Jan 25, 2017 at 07:30:11PM +0100, Bernhard
mkimage -A arm -C none -T script -n 'Custom Boot
Script' -d boot.txt boot.scr
*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
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
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
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
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
https://lists.sourceforge.net/lists/listinfo/genode-main
Reinier Millo Sánchez
2017-01-30 14:56:04 UTC
Permalink
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
Post by 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 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.
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
Post by rmillo
Post by Bernhard Blieninger
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 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.
Post by rmillo
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
Post by 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 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.
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.
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
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
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
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
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.
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.
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 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 ...
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.
Hi,
I've just a small hint regarding the following issue.
On Wed, Jan 25, 2017 at 07:30:11PM +0100, Bernhard
mkimage -A arm -C none -T script -n 'Custom Boot
Script' -d boot.txt boot.scr
*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
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
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
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
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
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
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
Bernhard Blieninger
2017-01-31 15:17:07 UTC
Permalink
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.
Post by rmillo
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
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
Post by 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 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.
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
Post by rmillo
Post by Bernhard Blieninger
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 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.
Post by rmillo
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
Post by 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 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.
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.
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
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
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
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
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.
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.
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 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 ...
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.
Hi,
I've just a small hint regarding the following issue.
On Wed, Jan 25, 2017 at 07:30:11PM +0100, Bernhard
mkimage -A arm -C none -T script -n 'Custom Boot
Script' -d boot.txt boot.scr
*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
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
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
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
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
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
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
https://lists.sourceforge.net/lists/listinfo/genode-main
Bernhard Blieninger
2017-03-10 11:39:30 UTC
Permalink
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.
Post by 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.
.....
#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.
---------------------------------------------------------
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.
Post by rmillo
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
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
Post by 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 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.
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
Post by rmillo
Post by Bernhard Blieninger
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 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.
Post by rmillo
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
Post by 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 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.
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.
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
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
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
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
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.
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.
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 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 ...
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.
Hi,
I've just a small hint regarding the following issue.
On Wed, Jan 25, 2017 at 07:30:11PM +0100, Bernhard
mkimage -A arm -C none -T script -n 'Custom
Boot Script' -d boot.txt boot.scr
*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
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
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
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
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
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
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
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
https://lists.sourceforge.net/lists/listinfo/genode-main
Loading...