Hi Hannes, On 7/9/22 6:30 AM, Hannes Winkler wrote: > Hey all, > > first of all I really appreciate all the work this community is doing to get > allwinner hardware working with linux. > > My hardware is a ClockworkPi Devterm R01: > https://www.clockworkpi.com/product-page/devterm-kit-r01. The "official" linux > is a 5.4 linux distro which is a slightly modified version of the official > allwinner linux sources for that > device: https://github.com/ardera/clockworkpi-r01-linux (linking my repo since > it has the git history restored) > > I'd like to boot Samuel Hollands linux fork on it, since the hardware seems to > be very close to the Nezha board. So I just built his fork (`riscv/d1-wip` > branch, with `nezha_defconfig`) and replaced the kernel on the official image > with my custom-built kernel. > > However, when booting, i get kernel panic pretty early on in the boot (see > attachment). > > I'm not that experienced with hw bringup so I'm a bit lost here. Is that just > the kernel equivalent of a segfault? Could that mean something with the device > tree is wrong? Could it be caused by an incompatible u-boot?
Yes, "Unable to handle kernel paging request" is effectively a kernel segfault. Your first guess is most likely correct, that there is an issue with the devicetree. I see from your log that you are loading "board.dtb", which I assume came from the Allwinner BSP kernel build[1]. If my assumption is correct, that file is useless for booting mainline Linux. Allwinner does not attempt to be compatible with the upstream devicetree bindings/schema, or even with earlier versions of their own BSP. As a result, "board.dtb" will only ever work with that one specific kernel. What you need is a devicetree that follows the official/upstream schema. Then it would be understood by both U-Boot and mainline Linux. In fact, your U-Boot build already contains one of those, for the Nezha board. If you remove the fdtfile line from your extlinux.conf file, that built-in devicetree will get passed to Linux, and the system will probably boot. However, I do *not* recommend this, because the R01 board has many differences from the Nezha board, and using a devicetree for the wrong board could damage your hardware. So someone will need to go through the schematic diagrams and write a devicetree for the R01 core board and mainboard, using the upstream schema. Now that the R01 core board schematic has been released, I plan to do this in the next few days. Then you would build this new devicetree into U-Boot, and it would automatically get provided to Linux. Regards, Samuel [1]: https://github.com/ardera/clockworkpi-r01-linux/blob/master/arch/riscv/boot/dts/sunxi/board.dts -- You received this message because you are subscribed to the Google Groups "linux-sunxi" group. To unsubscribe from this group and stop receiving emails from it, send an email to linux-sunxi+unsubscr...@googlegroups.com. To view this discussion on the web, visit https://groups.google.com/d/msgid/linux-sunxi/ac9b675f-1496-e6e7-c68b-0fa53ae27e0f%40sholland.org.