3 ms·
It's basically the same in the x86 world : your bios is customised to the board The sad part is that on ARM the kernel is usually also custom compiled for the
by ajb 1y ago
It's basically the same in the x86 world : your bios is customised to the board
The sad part is that on ARM the kernel is usually also custom compiled for the board. So what happens is that Armbian ship a different image for each board.
If you go and look in https://github.com/torvalds/linux/tree/master/arch/arm https://github.com/torvalds/linux/tree/master/arch/arm you see a zillion "mach-xxx" directories for different SoC architectures, even if they all use Arm.
Device-tree is a partial solution, but no-one seems to have an incentive to finish the job and let a single image run on any (sufficiently recent) arm board. It's difficult for the community to fix because most people have only their own board. Someone would need to pay for a CI rig with every board, and some kernel devs to do the work of building a single kernel to run across everything. (I think that's originally what Linaro was for - not sure why they didn't finish the job)
- qwertox 1y agoRight, the x86 BIOS/UEFI is baked into the motherboard firmware and handles early hardware init in a mostly standardized way. But with ARM boards, there's no universal firmware, it usually needs to be part of the image you download for that specific board.
- moondev 1y agohttps://developer.arm.com/Architectures/Unified%20Extensible%20Firmware%20Interface https://developer.arm.com/Architectures/Unified%20Extensible...