I’ve been banging my head against this wall for a while now, since the release of 5.10-rc1.
It seems that mainline kernel 5.10 is no longer able to boot on the Odroids. I have tested the Odroid N2 and Odroid C4.
The noticable difference between 5.9 and 5.10, is the removal of TEXT_OFFSET, which we used to boot AMLogic boards, like the Odroids.
I’ve tried reverting the commit that removed it, but it didn’t help and is not a solution, but a temporary workaround if it did.
I also tried creating a uImage kernel to use, instead of Image, but that didn’t help either. We are also still using the legacy .uimg initramfs, since it has been required for a while.
I made an issue a while ago on the Odroid Uboot github but it has gotten no response yet.
I do think its a uboot issue in some way, since @spikerguy was able to boot 5.10-rc2 on his Vim3, which is using a mainline uboot provided by Khadas.
Hardkernel does not provide any mainline uboots, only the BSP uboots (2015.01) and we can’t build mainline uboot, since it requires x86_64 binary execution to do so. @spikerguy did find a download page for some mainline uboots from LibreElec, but they didn’t boot the 5.10 kernel either.
In the issue I linked above, is a UART log, for people curious. There’s not really anything different than a regular 5.9 uboot log. It just stops at “Starting kernel…”
Does anyone have any ideas? Anything we can try that we haven’t tried yet?
Someone post an answer on the n2 Hardkernel forum, I think you should create an account on their forum…
by brad » Mon Nov 16, 2020 9:36 pm
Interesting I could not get 5.10-rc to boot either on C4,
should be able to work around this maybe using a uImage wrapper
to hold the kernel and define correct entry points. I will try when I have
the chance.
Another alternative is using mainline uboot which uses standard entry point
and offset.
Also you can use qemu to build the x64 parts on arm64 if needed.
I’ve uploaded new uboot packages for Odroid C4, N2 and N2+ to unstable branch.
They will probably create a /boot/boot.ini.pacnew file when you update them, but the change is in the initrd loading address line. So please edit your boot.ini’s accordingly.
I’ve tested the fix on Odroid N2, N2+ and C4, with kernels 5.10-rc3, 5.10-rc4 and 5.9.8.