Dear Kever,

I've tried the patch, and now U-Boot sees the whole 8G. It can boot linux directly, that works now. Great!

Howewer, booting linux through grub-efi (/boot/efi/EFI/debian/grubaa64.efi) does not work. Grub itself starts, shows the menu, but booting linux stops. Booting from console looks like:

grub> linux (hd0,gpt2)/boot/vmlinuz-5.15.32
grub> linux (hd0,gpt2)/boot/vmlinuz-5.15.32 root=/dev/mmcblk1p2 console=ttyS2,1500000 rootwait
grub> initrd (hd0,gpt2)/boot/initrd.img-5.15.32
grub> boot
EFI stub: Booting Linux Kernel...
EFI stub: Using DTB from configuration table
EFI stub: Exiting boot services...

These are the last lines. I see no sign of the kernel booting. For example, ethernet leds are not turned on.

This u-boot+efi setup works on other boards, and also it worked before the patch, with 1G visible ram only.


Thanks in advance,
Richard

2022-04-09 06:56 időpontban Richard Kojedzinszky ezt írta:
Hi Kever,

Thanks for your reply! I greatly appreciate your work, really.
Additionally, can you please provide me sources of documentations, on
which you base your work? I am totally blind in this area, and I would
be interested in reading such kind of documentation of the SoCs.

Many thanks,
Richard

2022-04-09 04:28 időpontban Kever Yang ezt írta:
Hi Richard,

    The ATAGs to pass the parameters is not available on the mainline
U-Boot, and only use os_regs for the ram size for now, it do have the
limitation for max 4GB now.

    There is a fix for this  on the list, you can try it:

https://patchwork.ozlabs.org/project/uboot/patch/20220222013131.3114990-12-pgwipe...@gmail.com/



Thanks,

- Kever

On 2022/4/8 15:44, Richard Kojedzinszky wrote:
Dear community,

I own a rock-pi-3a board with 8G ram. Right now, radxa's u-boot is capable of detecting the whole amount during boot. Upstream u-boot shows 1G of dram installed.

I've started with evb-rk3568_defconfig.

What I would like to achieve is that u-boot load grub-efi, to finally boot the operating system. Howewer, with radxa uboot, and using grub-efi, the kernel sees 4G only. If I boot the kernel image directly from radxa u-boot, the whole 8G is visible. I assume that efi is broken somehow, as I get multiple warnings from kernel regarding EFI firmware.


Reading radxa's u-boot, it seems that it uses ATAGs do detect memory size. Am I in the right way?

Would it be beneficial to port some of that code to upstream u-boot, or are there other solutions to detect correct memory size?


Thanks in advance,
Richard

Reply via email to