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.kalkow...@genode-labs.com > <mailto:stefan.kalkow...@genode-labs.com>> 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@p```fg�h#@��@v@�� > > pnia�h##�a`v@��p��h`p@@�q@v# > > > > 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.kalkow...@genode-labs.com > <mailto:stefan.kalkow...@genode-labs.com> > > <mailto:stefan.kalkow...@genode-labs.com > <mailto:stefan.kalkow...@genode-labs.com>>> 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 > -- 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 https://lists.sourceforge.net/lists/listinfo/genode-main