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@...1... mailto:stefan.kalkowski@...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...@...467...` > `hqioh~�#@@@��@...470...@...468...``````a�~�##��@...470...@��oi��gp@@��@...470...@...469...```fg�h#@��@...470...@�� > pnia�h##�a`v@��p��h`p@@�q@...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@...1... <mailto:stefan.kalkowski@...1...> > <mailto:stefan.kalkowski@...1... <mailto:stefan.kalkowski@...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@lists.sourceforge.net <mailto:genode-main@lists.sourceforge.net> > <mailto:genode-main@lists.sourceforge.net <mailto:genode-main@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@lists.sourceforge.net <mailto:genode-main@lists.sourceforge.net> > <mailto:genode-main@lists.sourceforge.net <mailto:genode-main@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@lists.sourceforge.net <mailto:genode-main@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@lists.sourceforge.net <mailto:genode-main@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@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main