Just to clarify up front: I don't have anything against either Raspberry Pi's or against FreeBSD. Matter of fact, I have put a lot of work into using them. For example, if you see this output from my home water monitoring system:
Code:
# eqstat -d
House Equipment status
Status is from: Thu 2020/04/30 18:34:38 and is current.
Waterlevel 9674 gal Recent change 24 gal/hour χ²ₙ=0.61
Well Off Last off time: Wed 2020/04/29 00:46:21
Last ON period: 54:21
Duty cycle 0.76% over last 277 d
MainPressure 53.30 psi Recent change -3.53 psi/hour χ²ₙ=0.00
HousePressure 52.12 psi Recent change -5.19 psi/hour χ²ₙ=0.00
Flow 268.53 gal
that is data that was acquired using a pi and processed/stored on a FreeBSD server. Last night I was in my basement until 2am, soldering optocouplers to get more pump monitoring and well control onto the Pi. But the fact that I greatly enjoy using them doesn't mean that I ignore realities.
The problems with many arm machines are the SoC jungle, and lots of propietary blobs and poorly documented devices wandering around.
Exactly. Spend some time on the official raspberry pi forum (the one run by the foundation). Over and over you will see there: the Pi and its underlying SoC are not an open source platform, and are to some extent undocumented. To run it, you need binary blobs that are created by the SoC makers (typically Broadcom). A lot of the documentation of the interfaces is simply not available except under NDA, and the pi foundation does not release them. For example, a few days ago I was trying to find out exactly what the V_IL and V_IH specification for the GPIO pins is (input voltage for the pins to be considered low and high), and there is no specification of that published for the Pi 3 or 4. There are huge discussions on the forum, with users getting very upset at the foundation and its few staff engineers, and the foundation engineers getting even more upset at the users, but the spec is simply not forthcoming. Similarly, the hardware interface specs simply do not exist; the good stuff you find in Raspbian is provided by engineers working for the foundation, who have access to the NDA documentation.
People may not like it, but that is the reality. And that reality won't change, because of economics. The pi is dirt cheap (which makes it a wonderful platform, I can order a half dozen extra pi zero to experiment with for the cost of a cheap family dinner). The reason it's dirt cheap is that both manufacturing cost, and engineering / support cost are kept to a bare-bones minimum. Sure, we could have a fully documented pi, with web pages full of fine technical detail. It would triple the number of engineers working at the pi foundation. We could have extra engineers on their staff to work with FOSS implementors. Again, that would add dozens of people. Yes, companies like IBM and HP have dozens of people on their staff to do nothing but interface to Linux and other free operating systems. Yes, we could add a support system to the pi, so if something doesn't work right, you can call an 800 number and get advice. We could also harden the hardware; for example, for a few dozen dollars (and a few square inches of PC board) we could make it so the GPIO inputs survive input voltages >3.3V without blowing up the chip. But that's not what the pi is about. It's about cheap, convenient, ubiquitous, a toy for learning, and for hobbyists.
That's all very nice, but it leaves other OSes out. They have a much harder time supporting the pi than Raspbian does. And without the pi (the 400 lbs gorilla of the tiny computer marketplace), the arm world does not have critical mass.
Arm is always a disappointment. It has had at least since 1987 to mature, standardise and be used properly in computers and yet before the Raspberry Pi came out the planet was absolutely deviod of open platforms using it. Especially sad for the RISCOS community because their older machines were starting to break and they literally had no alternative other than salvaging old replacement parts. This will happen again. Once the Raspberry Pi runs out of favour, you wont be able to buy an open arm platform for another 20 years.
Intel (and AMD) is only open because of a sort of historical accident: Their CPUs have a direct lineage back to the 70s, when their predecessors (the 8086 and 8088) were already being sold. And in those days, the specification of a CPU chip was completely published, usually in 50 pages, that's all it took. Then, when IBM took up the 808x in their PCs, that got put into the long tradition of IBM publishing all the technical details too. Everyone in computing should read the "IBM 360 Theory of Operation" from the early 60s, it set the standard for good documentation. So again, there is a long tradition of fully documenting everything.
In contrast, the Arm has nearly always been deployed as a special-purpose or embedded CPU, to a large extent in the mobile / tablet market, and for embedded (near hardware). These are areas where customers use SoC or semi-custom designs, or outright use an IP core and put it on their own silicon. For this reason, there has never been a market for merchant (channel) microprocessors in Arm, and therefore also no ecosystem of documentation, platforms, and knowledge. Even the Arm server boards today (which are in use in a few places, HP and Amazon for example) are all closed custom designs.
This is not a good place for tier 1 support, given the limited amount of resources available.