You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Odroid HC1 does not boot on 6.1.y and 6.6.y kernels #437
I learned how to properly use defconfig's now 😅. Please try linux-odroid-xu3 6.6.44-1 @wickner-consid@kyak
What defconfig you used?
odroidxu4_defconfig. Previously I had copied the defconfig rather than using make ARCH=arm odroidxu4_defconfig, and during the build I had to provide some decisions when prompted for some configurations options. I had used the other kernel configs in https://github.com/archlinuxarm/PKGBUILDs/tree/master/core to fill in those answers. With a fresh .config created with make ARCH=arm odroidxu4_defconfig, now I only had to adjust CONFIG_LOCALVERSION.
@bwcknr and/or @kyak, could you provide the logs requested?
Sure, here you go!
@mdrjr thanks for still supporting the eol'ed platform
*edit: attached the log, sorry had a long day hc1_dump.txt
Sadly I have to report the issue on the current kernel too.
This is my HC1 crash log on 6.6.50-3: kernel_panic.log
The issue seems to lie in the same function as before, at least the virtual address, *pgd and *pmd are all the same.
I would be happy to try and debug if you can give me any pointers.
In the meantime, could somebody point me in the right direction on how to compile a working kernel from an x86 system 😅 ?
Ah nice, thanks for the super quick reply and info! (and sorry for the ping, forgot you would be notified from the quote)
If you need any kernel, then regular linux-armv7 on Arch Linux ARM works fine for me.
Follow up to that:
Is there any way you can recommend to me, to get that installed on my board? I full on can't boot right now and don't have a backup which includes the kernel.
Do you know of any way or just suck it up and reinstall from scratch with the linux-armv7 package?
Do you know of any way or just suck it up and reinstall from scratch with the ´linux-armv7´ package?
Well, I just plugged the SD card to laptop and overwrote broken zImage with the one from linux-armv7 package. As soon as it booted, I installed linux-armv7 package properly.
Thanks a ton! The kernel now loads but systemd refuses to run because I have systemd.unified_cgroup_hierarchy=0 because docker was not running under the old kernel otherwise.
To not go any further offtopic, thank you so much @kyak and if I can be of any further help just give me a ping @mdrjr
Edit: if anybody stumbles onto this from Google. Here is how I got back to a running system afterwards. Fixing the systemd issue requires unplugging your sd card, plugging it into your (linux) PC, navigating to boot, removing the offending parameters and running sudo mkscr. Iirc this was a fix for docker when the odroid kernel was stuck on 4.7 or something alike and the linux-armv7 package did not work. With the current kernel docker works fine.
With that out of the way I was able to boot, but ethernet did not work. For that I copied all files from the linux-armv7 package to my SD card, removed the old mkinitcpio preset, booted the device, ran sudo mkinitcpio -P and rebooted (not sure if these two steps are actually necessary). To fix the missing kernel modules I ran sudo modprobe -c and another sudo mkinitcpio -P. After one last reboot everything was up and running smoothly again, allowing me to truly install the linux-armv7 package and update the remaining system.
Haven't wrapped my head around how https://github.com/armbian/build works yet. Seems they don't have kernel sources sitting around I could use, unless maybe there are in some artifacts from their build pipeline.
As mentioned, I've switched to Armbian's kernel and been using version 6.6.75 for the time being. Unfortunately, I can't keep using it, because it doesn't support LandLock mechanism required by pacman. As a workaround, I could've run pacman with --disable-sandbox, but I didn't.
I've upgraded to Armbian's kernel version 6.6.113. It doesn't boot, failing to find my root device (it is SATA, specified by uuid). Not sure what is wrong with this kernel. Version 6.6.75 had no problem finding my root.
I've tried again odroid-xu3 kernel as packaged by Arch, this time version 6.6.119. It doesn't boot and crashes in a similar manner as described previously. Nothing has changed.
The only working kernel for HC1 is now Arch's linux-armv7: it doesn't crash, it find my root partition and supports LandLock. It comes with downsides, though: it doesn't support reboot (will hang in there forever, needs a power cycle) and it doesn't seem to properly handle power saving. The temperatures of disk and CPU are measurably higher than in vendor's kernel.
Anyway, I've abandoned the hope here and just documenting for people who might still be using HC1.
Activity
mdrjr commentedon Jul 11, 2024
What defconfig you used? what gcc you used? what u-boot...
Please don't truncate the boot log
polyzen commentedon Jul 12, 2024
@bwcknr and/or @kyak, could you provide the logs requested?
polyzen commentedon Jul 12, 2024
Unrelated, but could you confirm the kernel built from the odroid-6.6.y branch should be used for N2 devices as well? That would mean https://github.com/archlinuxarm/PKGBUILDs/tree/master/core/linux-odroid-n2 could be removed.
Edit: Unless perhaps they should use the generic https://github.com/archlinuxarm/PKGBUILDs/tree/master/core/linux-armv7
mdrjr commentedon Jul 17, 2024
Yes, we are using odroid-6.6.y for C4 Series, N2 Series and XU4.
I can't reproduce your issue with HC1 using odroid-6.6.y branch.
wickner-consid commentedon Jul 17, 2024
Sure, here you go!
@mdrjr thanks for still supporting the eol'ed platform
*edit: attached the log, sorry had a long day
hc1_dump.txt
kyak commentedon Jul 27, 2024
My HC1 refuses to boot with exact same error (won't duplicate logs).
polyzen commentedon Aug 8, 2024
I learned how to properly use defconfig's now 😅. Please try linux-odroid-xu3 6.6.44-1 @wickner-consid @kyak
odroidxu4_defconfig. Previously I had copied the defconfig rather than using
make ARCH=arm odroidxu4_defconfig, and during the build I had to provide some decisions when prompted for some configurations options. I had used the other kernel configs in https://github.com/archlinuxarm/PKGBUILDs/tree/master/core to fill in those answers. With a fresh .config created withmake ARCH=arm odroidxu4_defconfig, now I only had to adjustCONFIG_LOCALVERSION.polyzen commentedon Aug 8, 2024
The package config had also been missing these changes:
5776281
b9e3e21
graysky2 commentedon Sep 2, 2024
@mdrjr -
Do you know if this branch will work with the C1 or C2?
Basanites commentedon Oct 2, 2024
Sadly I have to report the issue on the current kernel too.
This is my HC1 crash log on 6.6.50-3: kernel_panic.log
The issue seems to lie in the same function as before, at least the virtual address,
*pgdand*pmdare all the same.I would be happy to try and debug if you can give me any pointers.
In the meantime, could somebody point me in the right direction on how to compile a working kernel from an x86 system 😅 ?
kyak commentedon Oct 2, 2024
If you need any kernel, then regular
linux-armv7on Arch Linux ARM works fine for me.This vendor kernel still doesn't work for me (same crash as your's).
Basanites commentedon Oct 2, 2024
Ah nice, thanks for the super quick reply and info! (and sorry for the ping, forgot you would be notified from the quote)
Follow up to that:
Is there any way you can recommend to me, to get that installed on my board? I full on can't boot right now and don't have a backup which includes the kernel.
Do you know of any way or just suck it up and reinstall from scratch with the
linux-armv7package?mdrjr commentedon Oct 2, 2024
One question, are you guys using xu4 dtb or hc1 dtb?
Basanites commentedon Oct 2, 2024
How can I check?
I am running this package https://archlinuxarm.org/packages/armv7h/linux-odroid-xu3 on arch linux arm if that helps already.
kyak commentedon Oct 2, 2024
Well, I just plugged the SD card to laptop and overwrote broken zImage with the one from linux-armv7 package. As soon as it booted, I installed linux-armv7 package properly.
Basanites commentedon Oct 2, 2024
Thanks a ton! The kernel now loads but
systemdrefuses to run because I havesystemd.unified_cgroup_hierarchy=0because docker was not running under the old kernel otherwise.To not go any further offtopic, thank you so much @kyak and if I can be of any further help just give me a ping @mdrjr
Edit: if anybody stumbles onto this from Google. Here is how I got back to a running system afterwards. Fixing the
systemdissue requires unplugging your sd card, plugging it into your (linux) PC, navigating toboot, removing the offending parameters and runningsudo mkscr. Iirc this was a fix fordockerwhen the odroid kernel was stuck on 4.7 or something alike and thelinux-armv7package did not work. With the current kerneldockerworks fine.With that out of the way I was able to boot, but ethernet did not work. For that I copied all files from the
linux-armv7package to my SD card, removed the old mkinitcpio preset, booted the device, ransudo mkinitcpio -Pand rebooted (not sure if these two steps are actually necessary). To fix the missing kernel modules I ransudo modprobe -cand anothersudo mkinitcpio -P. After one last reboot everything was up and running smoothly again, allowing me to truly install thelinux-armv7package and update the remaining system.kyak commentedon Mar 2, 2025
I just gave it a try with
6.6.68-1-odroid-xu3-ARCH(linux-odroid-xu3of archlinuxarm), and it still doesn't boot on HC1.Here is the complete log: screen.log
Can we resurrect this issue? I'll be happy to provide any other information.
kyak commentedon Mar 2, 2025
As a matter of fact, i just tried booting armbian's kernel build for odroid xu4 from here: https://stpete-mirror.armbian.com/apt/pool/main/l/linux-6.6.75/
It's kernel
6.6.75and it boots fine (not only boots, but I'm actually running it right now with Arch userland).I'm now quite sure this is a packaging issue in Arch Linux ARM. I will create issue there.
Edit: It's not clear at all where to report issues for Arch Linux ARM packaging. @polyzen can you please help?
Attached is armbian's kernel config: config-6.6.75-current-odroidxu4.txt
polyzen commentedon Mar 2, 2025
@kyak https://github.com/archlinuxarm/PKGBUILDs
That might be the equivalent of the
linux-armv7package. The branch thelinux-odroid-xu3package uses is currently still at6.6.68:https://github.com/hardkernel/linux/commits/odroid-6.6.y/
kyak commentedon Mar 3, 2025
@polyzen
Armbian builds various kernels. The one I've tried is built from hardkernel's tree specifically for odroid xu4: https://github.com/armbian/build/blob/main/config/sources/families/odroidxu4.conf
Please also have a look at https://www.armbian.com/odroid-xu4/
So it is not an equivalent of linux-armv7 from Arch.
polyzen commentedon Jul 24, 2025
Seems they apply more patches as well.
Haven't wrapped my head around how https://github.com/armbian/build works yet. Seems they don't have kernel sources sitting around I could use, unless maybe there are in some artifacts from their build pipeline.
polyzen commentedon Jul 24, 2025
Hm https://github.com/armbian/build/tree/main/patch/kernel/archive/odroidxu4-6.6
polyzen commentedon Jul 25, 2025
@kyak here's a build of 6.6.93 until archlinuxarm/PKGBUILDs#2134 is merged:https://pkgbuild.com/~polyzen/packages/linux-odroid-xu3-6.6.93-1-armv7h.pkg.tar.zst
Edit: Also uploaded https://pkgbuild.com/~polyzen/packages/linux-odroid-xu3-headers-6.6.93-1-armv7h.pkg.tar.zst if anyone needs that.
Doubt it fixes the issue for you. Seems either it's a kernel config issue or something about dtb as @mdrjr said.
core/linux-odroid-xu3 to 6.6.102
kyak commentedon Feb 9, 2026
I'll share some updates here.
6.6.75for the time being. Unfortunately, I can't keep using it, because it doesn't support LandLock mechanism required by pacman. As a workaround, I could've run pacman with--disable-sandbox, but I didn't.6.6.113. It doesn't boot, failing to find my root device (it is SATA, specified by uuid). Not sure what is wrong with this kernel. Version6.6.75had no problem finding my root.6.6.119. It doesn't boot and crashes in a similar manner as described previously. Nothing has changed.linux-armv7: it doesn't crash, it find my root partition and supports LandLock. It comes with downsides, though: it doesn't support reboot (will hang in there forever, needs a power cycle) and it doesn't seem to properly handle power saving. The temperatures of disk and CPU are measurably higher than in vendor's kernel.Anyway, I've abandoned the hope here and just documenting for people who might still be using HC1.