Genode on Odroid-XU4
Yevgeny Lavrov
ylavrov13 at ...9...
Fri Jan 20 05:01:03 CET 2017
Thanks for the support. Unfortunately, I must switch platforms. Would it be
possible to repeat the same steps on i.MX6 Sabre Lite?
On Thu, Jan 5, 2017 at 3:07 AM, Stefan Kalkowski <
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...>> 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ٷ`�##��������@�����##��@...470... at ...467...`
> > > `hqioh~�#@@@��@...470... at ...468...``````a�~�##��@...470...@��oi��gp@@��@...470... at ...469...```fg�h#
> @��@...470...@��
> > > 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...>>> 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>>
> > >
> > > 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>>
> > >
> > > 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>>
> > > >
> > > > 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>>
> > > >> 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>>
> > > 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/
>
> ------------------------------------------------------------
> ------------------
> 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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.genode.org/pipermail/users/attachments/20170119/5c238a7f/attachment.html>
More information about the users
mailing list