Genode on Odroid-XU4

Stefan Kalkowski stefan.kalkowski at ...1...
Tue Jan 24 10:17:19 CET 2017


Hi,

On 01/20/2017 05:01 AM, Yevgeny Lavrov wrote:
> Thanks for the support. Unfortunately, I must switch platforms. Would it
> be possible to repeat the same steps on i.MX6 Sabre Lite?

Sure it is. Fortunately, we already have very basic support for the
i.MX6 SoC. Therefore, enabling the Sabre Lite is pretty much simpler, as
it will only differ slightly from the already defined i.MX6 based
Wandboard. Moreover, we currently plan to extend support for i.MX6. The
first step is already part of an issue branch:

  https://github.com/skalk/genode/tree/issue%232253

Best regards
Stefan

> 
> On Thu, Jan 5, 2017 at 3:07 AM, Stefan Kalkowski
> <stefan.kalkowski at ...1...
> <mailto:stefan.kalkowski at ...1...>> wrote:
> 
>     Hello,
> 
>     On 01/04/2017 10:46 PM, Yevgeny Lavrov wrote:
>     > Thanks, Stefan :) Now I see some output. I've checked minicom settings
>     > for UART, and it is was set to: 115200 8N1. Changing settings there
>     > didn't help, so I went the suggested alternative path and out commented
>     > the 'Exynos_uart_base' constructor's body. Now I get:
>     >
>     > kernel initialized
>     > prefetch abort
>     > pc : [<800494e0>] lr : [<0000001a>]
>     > sp : be75af38   ip : 800023e4    fp : be8651a4
>     > r10: be8ab408  r9 : 00000000    r8 : be75af30
>     > r7 : 800c4000   r6 : 80111028    r5 : 00000000    r4 : 80095ce8
>     > r3 : ffff03f4       r2 : 00000000    r1 : 80111028    r0 : 800023e4
>     > Flags: nzCv IRQs off FIQs off Mode HYP_32
>     > Resetting CPU ...
>     > emmc resetting ...
>     > resetting ...
>     >
>     > I assume that this is the desired output.
>     > Having this initial step completed, now I have two questions: What does
>     > this output tell me, and where can I go from here?
> 
>     The "kernel initialized" message is desired output, but then you see
>     that the exception vector that was setup by u-boot is entered
>     ("prefetch-abort"), which means Genode's HW kernel tries to execute an
>     address that is not valid in its page-table.
> 
>     You can check whether the address 0x800494e0 is a valid .text address in
>     the core binary. You can find the unstripped core binary under
>     var/run/<run-script-name>.core in your build directory.
> 
>     I'm afraid at that point you have to start to debug the problem using
>     either a JTAG debugger, or by instrumenting the kernel/core code via
>     "log" messages around the corresponding problem point.
> 
>     Regards
>     Stefan
> 
>     >
>     > Thanks
>     >
>     > On Wed, Jan 4, 2017 at 2:50 AM, Stefan Kalkowski
>     > <stefan.kalkowski at ...1...
>     <mailto:stefan.kalkowski at ...1...>
>     > <mailto:stefan.kalkowski at ...1...
>     <mailto:stefan.kalkowski at ...1...>>> wrote:
>     >
>     >     Hi Yevgeny,
>     >
>     >     congratulations for the first successful steps. Obviously the UART
>     >     configuration is not proper. One potential problem can be the UART
>     >     reference clock setting, original value:
>     >
>     >       repos/base/include/spec/odroid_xu/drivers/board_base.h:31:
>     >
>     >     The reference clock's value is used to calculate the settings
>     for the
>     >     appropriated baudrate. Are you using the baudrate 115200 in
>     your UART
>     >     terminal? Because this is the baudrate the kernel configures
>     the UART to
>     >     use.
>     >
>     >     Alternatively, you can skip re-configuration of the UART device by
>     >     uncommenting the 'Exynos_uart_base' constructor's body, here:
>     >
>     >       repos/base/include/spec/exynos/drivers/uart_base.h:213
>     >
>     >     Thereby, you leave the UART settings like u-boot configured it.
>     >
>     >     Regards
>     >     Stefan
>     >
>     >     On 01/04/2017 01:18 AM, Yevgeny Lavrov wrote:
>     >     > Hello
>     >     >
>     >     > I've followed all the steps suggested above. There were no
>     problems
>     >     > interacting with Linux system on test board via UART cable.
>     It looks
>     >     > like Network boot and fastboot (Odroid-XU4 doesn't have USB
>     otg port)
>     >     > are not supported by Odroid-XU4. After creating hw_odroid_xu
>     build
>     >     > directory, adding suggested RUN_OPT to build.conf file and
>     executing
>     >     > make run/log I end up with the following output:
>     >     >
>     >     > spawn fastboot -s usb:2-1.8 boot var/run/log/uImage
>     >     > < waiting for device >
>     >     > Loading timed out
>     >     > Load step failed, retry.
>     >     > spawn fastboot -s usb:2-1.8 boot var/run/log/uImage
>     >     > < waiting for device >
>     >     >
>     >     > So it appears that fastboot can't find the device. Running
>     *$ sudo
>     >     > fastboot devices -l* returned no results. Probably the
>     reason for this
>     >     > is that I'm connected to Odroid via UART cable.
>     >     > So I gave it another try, using fatload option.
>     >     >
>     >     > 1. Copied *uImage* &*image.elf* from *<build-dir>/var/run/log/*
>     >     over to
>     >     > the first partition of my MicroSD card
>     >     > 2. Connected to Odroid via UART cable, powered it on and
>     >     interrupted the
>     >     > boot sequence
>     >     >
>     >     > then:
>     >     > Exynos5422 # fatload mmc 0 0x48000000 uImage
>     >     > there are pending interrupts 0x00000001
>     >     > reading uImage
>     >     >
>     >     > 540242 bytes read
>     >     > Exynos5422 # bootm 0x48000000
>     >     >
>     >     > Result:
>     >     >
>     >     > ## Booting kernel from Legacy Image at 48000000 ...
>     >     >   Image Name:
>     >     >   Image Type: ARM Linux Kernel Image (gzip compressed)
>     >     >   Data Size: 540178 Bytes = 527.5 KiB
>     >     >   Load Address: 80000000
>     >     >   Entry Point: 80000000
>     >     >   Verifying Checksum ... OK
>     >     >   Uncompressing Kernel Image ... OK
>     >     >   Starting kernel ...
>     >     >   7ၷ`�##������@�����������7ٷ`�##��������@�����##��@v@ٷxp`
>     >     > 
>      `hqioh~�#@@@��@v@طx``````a�~�##��@v@��oi��gp@@��@v at ...469...```fg�h#@��@v@��
>     >     >   pnia�h##�a`v@��p��h`p@@�q at ...470...#
>     >     >
>     >     > image.elf gave me the same output.
>     >     >
>     >     > Any suggestions on what goes wrong and which way to move next?
>     >     >
>     >     > Regards
>     >     >
>     >     >
>     >     >
>     >     > On Thu, Dec 1, 2016 at 5:08 AM, Stefan Kalkowski
>     >     > <stefan.kalkowski at ...1...
>     <mailto:stefan.kalkowski at ...1...>
>     >     <mailto:stefan.kalkowski at ...1...
>     <mailto:stefan.kalkowski at ...1...>>
>     >     > <mailto:stefan.kalkowski at ...1...
>     <mailto:stefan.kalkowski at ...1...>
>     >     <mailto:stefan.kalkowski at ...1...
>     <mailto:stefan.kalkowski at ...1...>>>> wrote:
>     >     >
>     >     >     sorry, I just recognized the SoCs are not fully equal. The
>     >     first Odroid
>     >     >     XU, which we are using is Exynos 5410, and your board uses
>     >     Exynos 5422.
>     >     >     Anyway, I would follow the same approach. Additionally, you
>     >     can compare
>     >     >     memory settings and I/O memory settings of the UART within
>     >     device-tree
>     >     >     specifications of the two boards:
>     >     >
>     >     >
>     >     >
>     >     
>     https://raw.githubusercontent.com/torvalds/linux/master/arch/arm/boot/dts/exynos5410-odroidxu.dts
>     <https://raw.githubusercontent.com/torvalds/linux/master/arch/arm/boot/dts/exynos5410-odroidxu.dts>
>     >   
>      <https://raw.githubusercontent.com/torvalds/linux/master/arch/arm/boot/dts/exynos5410-odroidxu.dts
>     <https://raw.githubusercontent.com/torvalds/linux/master/arch/arm/boot/dts/exynos5410-odroidxu.dts>>
>     >     >
>     >     
>     <https://raw.githubusercontent.com/torvalds/linux/master/arch/arm/boot/dts/exynos5410-odroidxu.dts
>     <https://raw.githubusercontent.com/torvalds/linux/master/arch/arm/boot/dts/exynos5410-odroidxu.dts>
>     >   
>      <https://raw.githubusercontent.com/torvalds/linux/master/arch/arm/boot/dts/exynos5410-odroidxu.dts
>     <https://raw.githubusercontent.com/torvalds/linux/master/arch/arm/boot/dts/exynos5410-odroidxu.dts>>>
>     >     >
>     >     >     and:
>     >     >
>     >     >
>     >     >
>     >     
>     https://raw.githubusercontent.com/torvalds/linux/master/arch/arm/boot/dts/exynos5422-odroidxu4.dts
>     <https://raw.githubusercontent.com/torvalds/linux/master/arch/arm/boot/dts/exynos5422-odroidxu4.dts>
>     >   
>      <https://raw.githubusercontent.com/torvalds/linux/master/arch/arm/boot/dts/exynos5422-odroidxu4.dts
>     <https://raw.githubusercontent.com/torvalds/linux/master/arch/arm/boot/dts/exynos5422-odroidxu4.dts>>
>     >     >
>     >     
>     <https://raw.githubusercontent.com/torvalds/linux/master/arch/arm/boot/dts/exynos5422-odroidxu4.dts
>     <https://raw.githubusercontent.com/torvalds/linux/master/arch/arm/boot/dts/exynos5422-odroidxu4.dts>
>     >   
>      <https://raw.githubusercontent.com/torvalds/linux/master/arch/arm/boot/dts/exynos5422-odroidxu4.dts
>     <https://raw.githubusercontent.com/torvalds/linux/master/arch/arm/boot/dts/exynos5422-odroidxu4.dts>>>
>     >     >
>     >     >     Regards
>     >     >     Stefan
>     >     >
>     >     >
>     >     >     On 12/01/2016 10:42 AM, Stefan Kalkowski wrote:
>     >     >     > Hello Yevgeny Lavrov,
>     >     >     >
>     >     >     > there is basic support for the Odroid XU regarding
>     Genode's
>     >     own kernel
>     >     >     > (base-hw). I assume you will be able to start various
>     >     scenarios that
>     >     >     > only use CPU, Timers and UART on the Odroid XU4 as well,
>     >     because they
>     >     >     > use the same SoC.
>     >     >     >
>     >     >     > I would start with connecting a UART cable via the GPIO
>     >     ports to your
>     >     >     > home computer, and test whether you can interact with a
>     >     Linux system
>     >     >     > running on top of your test board. After that, you might
>     >     play with
>     >     >     > u-boot until you can successfully boot over network,
>     e.g., a
>     >     Linux
>     >     >     > kernel. Possibly, you cannot even network boot on Odroid
>     >     XU4, but have
>     >     >     > to use fastboot (via USB) instead.
>     >     >     >
>     >     >     > Finally, you start your Genode development by creating a
>     >     >     'hw_odroid_xu'
>     >     >     > build directory, add some RUN_OPT variables to the
>     >     'etc/build.conf' to
>     >     >     > automatically load the setup and interact with the
>     test board,
>     >     >     > corresponding to the method you are using (either network
>     >     boot or
>     >     >     > fastboot). Here is some example for the Odroid variant we
>     >     are testing
>     >     >     > nightly:
>     >     >     >
>     >     >     >   RUN_OPT += --include image/uboot
>     >     >     >   RUN_OPT += --include load/fastboot
>     >     >     >   RUN_OPT += --load-fastboot-device 'usb:2-1.8'
>     >     >     >   RUN_OPT += --include log/serial
>     >     >     >
>     >     >     > Then you can start some very basic example, like:
>     >     >     >
>     >     >     >   make run/log
>     >     >     >
>     >     >     > and wait, whether you get some output, and if the test
>     succeeds.
>     >     >     >
>     >     >     > For a general introduction to the build environment and
>     >     run-script
>     >     >     > automatisms, have a look at the Genode foundations:
>     >     >     >
>     >     >     >
>     >     https://genode.org/documentation/genode-foundations-16-05.pdf
>     <https://genode.org/documentation/genode-foundations-16-05.pdf>
>     >     <https://genode.org/documentation/genode-foundations-16-05.pdf
>     <https://genode.org/documentation/genode-foundations-16-05.pdf>>
>     >     >   
>      <https://genode.org/documentation/genode-foundations-16-05.pdf
>     <https://genode.org/documentation/genode-foundations-16-05.pdf>
>     >     <https://genode.org/documentation/genode-foundations-16-05.pdf
>     <https://genode.org/documentation/genode-foundations-16-05.pdf>>>
>     >     >     >
>     >     >     > In general, it is a good idea to first skim through this
>     >     document.
>     >     >     >
>     >     >     > Best regards,
>     >     >     > Stefan
>     >     >     >
>     >     >     > On 12/01/2016 09:12 AM, Yevgeny Lavrov wrote:
>     >     >     >> Greetings
>     >     >     >>
>     >     >     >> I would like to try Genode on Odroid-XU4. I aware that
>     >     there's no
>     >     >     >> support available for this ARM device yet. However, I
>     want to
>     >     >     give it a
>     >     >     >> try, but I don't know where to start. Can you please
>     point
>     >     me in the
>     >     >     >> right direction so I can find the information that I'll
>     >     need to get
>     >     >     >> started this task?
>     >     >     >>
>     >     >     >> Thanks
>     >     >     >>
>     >     >     >>
>     >     >     >>
>     >     >
>     >     
>     ------------------------------------------------------------------------------
>     >     >     >>
>     >     >     >>
>     >     >     >>
>     >     >     >> _______________________________________________
>     >     >     >> genode-main mailing list
>     >     >     >> genode-main at lists.sourceforge.net
>     <mailto:genode-main at lists.sourceforge.net>
>     >     <mailto:genode-main at lists.sourceforge.net
>     <mailto:genode-main at lists.sourceforge.net>>
>     >     >     <mailto:genode-main at lists.sourceforge.net
>     <mailto:genode-main at lists.sourceforge.net>
>     >     <mailto:genode-main at lists.sourceforge.net
>     <mailto:genode-main at lists.sourceforge.net>>>
>     >     >     >> https://lists.sourceforge.net/lists/listinfo/genode-main
>     <https://lists.sourceforge.net/lists/listinfo/genode-main>
>     >     <https://lists.sourceforge.net/lists/listinfo/genode-main
>     <https://lists.sourceforge.net/lists/listinfo/genode-main>>
>     >     >     <https://lists.sourceforge.net/lists/listinfo/genode-main
>     <https://lists.sourceforge.net/lists/listinfo/genode-main>
>     >     <https://lists.sourceforge.net/lists/listinfo/genode-main
>     <https://lists.sourceforge.net/lists/listinfo/genode-main>>>
>     >     >     >>
>     >     >     >
>     >     >
>     >     >     --
>     >     >     Stefan Kalkowski
>     >     >     Genode Labs
>     >     >
>     >     >     https://github.com/skalk · http://genode.org/
>     >     >
>     >     >     ------------------------------------------------------------------------------
>     >     >     _______________________________________________
>     >     >     genode-main mailing list
>     >     >     genode-main at lists.sourceforge.net
>     <mailto:genode-main at lists.sourceforge.net>
>     >     <mailto:genode-main at lists.sourceforge.net
>     <mailto:genode-main at lists.sourceforge.net>>
>     >     >     <mailto:genode-main at lists.sourceforge.net
>     <mailto:genode-main at lists.sourceforge.net>
>     >     <mailto:genode-main at lists.sourceforge.net
>     <mailto:genode-main at lists.sourceforge.net>>>
>     >     >     https://lists.sourceforge.net/lists/listinfo/genode-main
>     <https://lists.sourceforge.net/lists/listinfo/genode-main>
>     >     <https://lists.sourceforge.net/lists/listinfo/genode-main
>     <https://lists.sourceforge.net/lists/listinfo/genode-main>>
>     >     >     <https://lists.sourceforge.net/lists/listinfo/genode-main
>     <https://lists.sourceforge.net/lists/listinfo/genode-main>
>     >     <https://lists.sourceforge.net/lists/listinfo/genode-main
>     <https://lists.sourceforge.net/lists/listinfo/genode-main>>>
>     >     >
>     >     >
>     >     >
>     >     >
>     >     >
>     >     ------------------------------------------------------------------------------
>     >     > Check out the vibrant tech community on one of the world's most
>     >     > engaging tech sites, SlashDot.org! http://sdm.link/slashdot
>     >     >
>     >     >
>     >     >
>     >     > _______________________________________________
>     >     > genode-main mailing list
>     >     > genode-main at lists.sourceforge.net
>     <mailto:genode-main at lists.sourceforge.net>
>     >     <mailto:genode-main at lists.sourceforge.net
>     <mailto:genode-main at lists.sourceforge.net>>
>     >     > https://lists.sourceforge.net/lists/listinfo/genode-main
>     <https://lists.sourceforge.net/lists/listinfo/genode-main>
>     >     <https://lists.sourceforge.net/lists/listinfo/genode-main
>     <https://lists.sourceforge.net/lists/listinfo/genode-main>>
>     >     >
>     >
>     >     --
>     >     Stefan Kalkowski
>     >     Genode Labs
>     >
>     >     https://github.com/skalk · http://genode.org/
>     >
>     >     ------------------------------------------------------------------------------
>     >     Check out the vibrant tech community on one of the world's most
>     >     engaging tech sites, SlashDot.org! http://sdm.link/slashdot
>     >     _______________________________________________
>     >     genode-main mailing list
>     >     genode-main at lists.sourceforge.net
>     <mailto:genode-main at lists.sourceforge.net>
>     >     <mailto:genode-main at lists.sourceforge.net
>     <mailto:genode-main at lists.sourceforge.net>>
>     >     https://lists.sourceforge.net/lists/listinfo/genode-main
>     <https://lists.sourceforge.net/lists/listinfo/genode-main>
>     >     <https://lists.sourceforge.net/lists/listinfo/genode-main
>     <https://lists.sourceforge.net/lists/listinfo/genode-main>>
>     >
>     >
>     >
>     >
>     >
>     ------------------------------------------------------------------------------
>     > Check out the vibrant tech community on one of the world's most
>     > engaging tech sites, SlashDot.org! http://sdm.link/slashdot
>     >
>     >
>     >
>     > _______________________________________________
>     > genode-main mailing list
>     > genode-main at lists.sourceforge.net
>     <mailto:genode-main at lists.sourceforge.net>
>     > https://lists.sourceforge.net/lists/listinfo/genode-main
>     <https://lists.sourceforge.net/lists/listinfo/genode-main>
>     >
> 
>     --
>     Stefan Kalkowski
>     Genode Labs
> 
>     https://github.com/skalk · http://genode.org/
> 
>     ------------------------------------------------------------------------------
>     Check out the vibrant tech community on one of the world's most
>     engaging tech sites, SlashDot.org! http://sdm.link/slashdot
>     _______________________________________________
>     genode-main mailing list
>     genode-main at lists.sourceforge.net
>     <mailto:genode-main at lists.sourceforge.net>
>     https://lists.sourceforge.net/lists/listinfo/genode-main
>     <https://lists.sourceforge.net/lists/listinfo/genode-main>
> 
> 
> 
> 
> ------------------------------------------------------------------------------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, SlashDot.org! http://sdm.link/slashdot
> 
> 
> 
> _______________________________________________
> genode-main mailing list
> genode-main at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/genode-main
> 

-- 
Stefan Kalkowski
Genode Labs

https://github.com/skalk · http://genode.org/




More information about the users mailing list