Yocto Image for H3ULCB+Kingfisher M04
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:
[ 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
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
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.
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
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...
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.
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 ?
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?
Here is my bootlog:
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.
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 *
$ 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.
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.
I hope that you can boot yocto as same as I do.
note) If you are not going to use rpc, please ignore after this.
I found patch about RPC for IPL:
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.