Yocto Image for H3ULCB+Kingfisher M04

Jump to: navigation, search

What is the best way to create a Linux Yocto (preferably 3.21) for the H3ULCB+Kingfisher M04 configuration?

I tried the build instructions from here, but the image doesn't boot: https://elinux.org/R-Car/Boards/Kingfisher#Build_image

During the Kernel startup I get a panic:

===[edit]

[ 1.531217] loop: module loaded [ 1.537959] renesas-rpc ee200000.rpc0: using DMA read (dma0chan0) [ 1.544521] Bad mode in Error handler detected on CPU1, code 0xbf000000 -- SError [ 1.552007] Internal error: Oops - bad mode: 0 [#1] PREEMPT SMP

===[edit]

Full details here: http://renesasrulz.com/adas/f/adas---forum-1845141225/15725/boot-failure-on-renesas-h3ulcb-kingfisher-board-based-on-r8a7795-es2-0/51386#51386

How can I build a Image which supports the Kingfisher features (especially 8ch. audio and USB3.0): https://elinux.org/R-Car/Boards/Kingfisher#S.2FW_support_status

06:03, 26 March 2020

Hello,


I confirmed that Yocto v3.21.0 is booted on H3ULCB(ES2.0 8GB) + KF(M04).

I checked your boot log, and noticed IPL and U-boot is old.

So, please update IPL and U-boot, then try to boot again.


Best regards.

00:01, 27 March 2020

Thanks for your help!

I have to admit that the boot log from the link above is not mine (just the error was the same).

My u-boot and IPL is newer, here is my full log of the kernel Oops: https://pastebin.com/wiXmDzxz

It is a dual-boot system which can also boot Android (for development), so the bootloader is from the Android build. I hope that's not the problem?

Here is my u-boot environment: https://pastebin.com/qqw8cJJS

00:59, 27 March 2020

Sorry, I have never used android on H3ULCB + KF.

But, I tested Yocto v3.21.0 on H3ULCB(ES2.0 4GB) + KF(M04) again.

And I confirmed that it works.


How about using yocto bootloader ?

if yocto can be booted, android bootloder may not be good for yocto...


Best regards.

02:18, 27 March 2020

Thanks for your help Y.H. With the Yocto-Firmware it boots as expected.

How I need to get the Android part working again, but boota is not supported in the Yocto's u-boot. But that's a different story now.

06:44, 30 March 2020

Hello,


I prepared android 9 for H3ULCB(ES2.0 4GB) + KF(M4), and tested for booting yocto.

In my environment, yocto was booted with android's IPL and U-boot.


If you use old version of android, how about updating it ?

22:26, 1 April 2020

Thank you, this is very valuable feedback! I also used Android 9 with the same hardware as you have but for me it didn't work.


Would you mind posting the output of the full boot process including the u-boot environment varibles?

05:30, 3 April 2020

Hello,


Here is my bootlog:

File:H3ulcb yocto with android ipl.txt


IPL is Rev.2.0.4 in my environment, but Rev.2.0.3 is used in your environment.

So, please update Android and IPL, then try to boot yocto v3.21.0 again.

20:51, 5 April 2020

Thank you very much for the boot-log of your system. I tried your suggestions with the new IPL and I'm now on the same version as you are.

Comparing the two logs (https://elinux.org/File:H3ulcb_yocto_with_android_ipl_kh.txt) they look very similar - except some memory addresses during IPL which I don't understand why they are different. Even the Kernel Size is identical - but the device tree is not.

$ md5sum *

1a2e4e2c0533dc557ead0a3a3e1dc9ae Image

dee81bd50b151322d5aa22d4d9af8747 Image-r8a7795-h3ulcb-kf.dtb

$ ls -l

-rw-r--r-- 1 root root 16497152 Apr 7 09:53 Image

-rw-r--r-- 1 root root 92809 Apr 7 09:53 Image-r8a7795-h3ulcb-kf.dtb


I did a recompile of my yocto to rule out any problems there. Also there are no local modifications done.

If you still have the files, would you mind uploading your Image.dtb (if it really differs) and also your srec files? This way I would be able to rule out some hardware issue on my side.

00:21, 7 April 2020

hello Khuber,


Sorry, I noticed that I had used upstream dtb instead of KF BSP's one...

Thus, I confirmed again whether yocto can be booted or not.

As the result, I got kernel panic as same as you did.


I investigated the log, and noticed kernel is stopped at around rpc.

Below is a part of your log.

```

[ 1.574607] renesas-rpc ee200000.rpc0: using DMA read (dma0chan0)

[ 1.581125] Bad mode in Error handler detected on CPU1, code 0xbf000000 -- SError

```

I think it may be caused by a mismatch configuration for rpc between Android IPL and kernel .


Finally, I confirmed to boot yocto after I disabled rpc driver in kernel.

Here is patch of modification.

File:Rpc.patch

I hope that you can boot yocto as same as I do.


FYI:

note) If you are not going to use rpc, please ignore after this.

I found patch about RPC for IPL:

  1. https://github.com/CogentEmbedded/meta-rcar/blob/v3.21.0/meta-rcar-gen3-adas/recipes-bsp/arm-trusted-firmware/files/0001-plat-renesas-rcar-Make-RPC-secure-settings-optional.patch

If this patch is applied to Android IPL, Yocto may be booted without any modification.

However, I don't have build environment for android so that I cannot confirmed it.

23:55, 7 April 2020

Thank you Y.H., you are my hero!

I disabled RPC by adding DISABLE_RPC_ACCESS = "1" to my local.conf.

07:02, 9 April 2020