Comment by leoedin
6 hours ago
I've been working on embedded systems using iMX8s, and it's equally awful. You have to maintain your own fork of UBoot. You have to spend hours tweaking device trees. The "NXP" kernel is out of date and never updated, the mainline kernel is missing loads of drivers.
Meanwhile in x86 land you can just download a distro and boot it. Secure boot works out of the box. It's night and day.
Yup. I remember my dismay when I started working with Linux on arm boards and realizing the absolute massive gap between the hardware vendor claims of "full linux support" and the reality.
Sometimes the SDK is a zip of the developer workspace in a pseudo working state with no clear records of all that's been patched.
Vendors providing binary only kernel and system images containing god knows what is not uncommon either.
I'm convinced now that arm hardware vendors are simply incapable of even understanding what proper software support is. I'm sure some of their devs do their best but management does not care. By the time the chip ships, efforts move to making the next thing so they never properly finish the software side.
Have you looked at SoCs supported by Linaro?
Linaro is (or was, back when I was involved ~10 years ago) non-profit sponsored by SoC vendors to develop, maintain and upstream SoC support for Linux, along with running a comprehensive validation lab for all the boards they support.
A list of manufacturers did change a few times, and it was half-sponsored by ARM directly.
Every time I have watched Linaro presentations, I mostly got the feeling that their customers so top speak are embedded (Automobile and co) and Android OEMs, not so much people that would like to some day have GNU/Linux on ARM desktops/laptops.
Even rather mainstream stuff like the RPi can get wonky in places, and still people comment on why "idiots" buy RPis when this-or-that ARM board has 10% more bang for the buck. Eh, yeah, of course. I'd love to only ever run RandomShenzenCorp's heavily patched vendor kernel from 2016.
Just in case anyone unfamiliar reads this, the way to run ARM boards is e.g. https://armbian.com/ (or NetBSD, Debian, whatever you prefer) and never the vendor junk.