In the case of Olimex the "product" is a "kit", which arrives in the form of a box of components to assemble, therefore it's not even the "kit" of a "finished laptop" but rather of a "laptop in development", that is, a "development board inserted into the shell of a laptop computer".
Doesn't matter. If systems integration is not done from the get go, it will never get done. It is like security, which has to be baked in to the design, and cannot be effectively added on top later. By hoping that "do the basic stuff first", you are
effectively saying I'll accept
this level of annoyance from my tools.
To me, tools that annoy me are not worth using. It is that simple.
In 2018 they promised several interchangeable motherboards, that is, the possibility of choosing what to install inside the laptop chassis. However, in reality there is only one choice: that's is Allwinner A64 SoC! So, it wasn't my choice to use an Allwinner SoC in the teres1.
But it was your choice to buy one anyway. I've looked at Teres, too, and chose not to buy it exactly because of the level of annoyance I knew would ensue from Allwinner SoCs, no matter how good work Olimex otherwise does.
For reference, see linux-sunxi project
GPL violations,
A64, and
Linux mainlining effort pages.
The best way to describe Allwinner is not "evil" or "coldly calculating"; it is "inept".
Anyway, as "develoment platform" sold as "product", there are basic things first. One of them is to provide a serial console without the need of hacking anything!
Is it? Someone else might say the basic thing first is to have the hardware (including display) boot a linux kernel properly. Kernel hackers say the basic thing is to get the thing to boot into first-stage bootloader with memory and buses in a stable state. Bootloader hackers say getting memory and buses to a stable state is the basic thing, with the rest to be developed "by the community".
See? There is no "basic things first". You can always
define one that suits your context, but you cannot expect anyone else, especially a vendor like Olimex to agree to your exact definition, so it is meaningless. It is exactly analogous to how "best" always depends on the context, and is basically useless as a qualifier or specifier. To vendors, "basic things first" is
always the minimum that is needed to get people to buy the product. By your act of buying it, you have accepted the definition from Olimex as to what is sufficient –– assuming we agree you weren't deceived by the description and documentation, only frustrated by the lack of progress in the last five years or more.
Some time ago, I bought
Ox64 from Pine64, the maker of PineTab and PineNote tablets and PineBook and PineBook Pro laptops. Ox64 is a Bouffalo Labs BL808 SBC in microcontroller form factor, and is specifically marketed as a development platform for actual devices, similarly how Teres is specifically marketed as a "DIY laptop" (with a pretty prominent "
Intended for use for ENGINEERING DEVELOPMENT, DEMONSTRATION OR EVALUATION PURPOSES ONLY and is not considered by OLIMEX Ltd to be finished end-product fit for general consumer use" note).
I would never recommend Ox64 for anyone wanting a Linux SBC for anything except than developing their own SBC variant based on BL808 (possibly for a specific purpose having strict size constraints), or to be used as a microcontroller/RTOS devkit, or perhaps as a test platform to learn to do systems integration on. It is very much the SBC analog of the Teres-1 laptop.
This is what pissed me off yesterday: that no one has bothered to fix the matter yet, and this wastes a lot of time, to the point of discouraging potential people willing to lend a hand and help.
I bet quite a few of those who have bought a Teres have fixed it, but haven't bothered to push the changes upstream, keeping them in their own local repositories because it suffices for their "basic needs". You know, "basic things first". To them, pushing the fixes upstream is something to be done at a later time when they have the spare time and sufficient inclination, because it does not belong to
their "basic things first" definition.
What you are railing against, is that others do not have the same priorities as you do, and this is hindering
your progress. Unless you try hard to push
your changes upstream, you really don't have a leg to stand on in requiring others to push their changes upstream either.
Aside from a couple of really-cheap SBCs I bought more for the price than anything, I do not use Allwinner SoCs. I like Rockchip, Samsung, and TI SoCs because the designer/vendor themselves push the support into the core packages; and Amlogic because of
Linux-Meson (not affiliated with Amlogic) and
BayLibre (doing a good job adding more mainline support). Rockchip in particular is making a real difference in the Linux kernel support of their designs. (I haven't checked U-Boot support state, though.)
I'm giving you hard pushback here, because
this will happen again and again: it is a human social issue, and not a technical one. It will not change, because there is nothing to drive such a change; people will do what they do, and not contribute, because they think someone else will do it anyway so it would be waste of effort for themselves to do so. The only thing we can do to change it, is change our own behaviour first, and then by example show exactly why behaving this way saves time/money/effort and is therefore the more effective/efficient way to do things –– and obviously to spend money only on products whose manufacturers and vendors are doing the right thing. Anything else is just complaining about humans being humans (which I admit,
is cathartic, but otherwise not useful unless a better behaviour pattern
that benefits themselves too, and not just ourselves, is well known; but even then, we have to do it first ourselves).
I cannot expect "better" support from Pine64 or Olimex than what I can already see before I buy anything, because doing so is unreasonable. For better support, I can only either join or start a new community showing how pooling our efforts will benefit everyone in the community. And, if I do not intend any long-term commitment, how could I expect that from anyone else? Even the vendor has already been paid. It would be unrealistic.