Housekeeping #2866

Get armv7h computers in the hand of Parabola hackers and document hardware status

GNUtoo - about 1 year ago - . Updated 5 months ago.

% Done:




Updated by GNUtoo about 1 year ago

  • Subject changed from Get ARM computers in the hand of Parabola hackers to Get armv7h computers in the hand of Parabola hackers and document hardware status
It would be a good idea to find a way to get ARM SBCs to various Parabola hackers that are involved in the armv7h port:
  • armv7 computers for older SOCs start being harder to find
  • It would be a good idea to have Parabola hackers working on the ARM version to have access to at least one devices per supported SOC.

This way anyone involved would be able to test basic functionalities like boot. It's is not convenient to do that on remote ARM builders, so it would be best if people that don't have already SOCs could get some.

In addition it would be a good idea to document who has what SOCs (for testing) and boards and see what devices we can best support.

Personally I've documented that on my website as I'm involved in more than one free software project where that information is relevant.


Updated by bill-auger about 1 year ago

  • Status changed from unconfirmed to open
  • Tracker changed from Bug to Housekeeping

Updated by bill-auger 9 months ago

  • Priority changed from bug to wish
  • Project changed from Packages to Ports

it would be useful to compile a list of which exotic hardware any of us already does have, and which others are are most desirable - feel free to add to the table or make corrections

hacker machine status libre notes CPU architecture
megver banana pi (M1) working libre ARM 32bit (which model?)
oaken-source beagle-black working libre ARM 32bit (which model?)
EOMA68 (prototype) semi-working libre ARM 32bit (A20)
samsung chromebook plus (kevin) semi-working probably libre ARM 64bit (Rockchip RK3399)
chromebook C201 semi-working libre ARM 32bit (which model?)
Beagle-V working No libre firmware for wifi RISC-V 64bit (U74)
GNUtoo Lime2 eMMC with RTL8211E PHY (gen-2) working RYF Certifiable, nonfree ssd/microSD firmwares ARM 32bit (A20)
PCduino Lite working libre ARM 32bit (A10)
Beaglebone Black working Free boot, no 3D or video decoding ARM 32bit (AM335x)
Beaglebone Green working no display connector ARM 32bit (AM335x)
Beagleboard XM working Free boot, no 3D or video decoding ARM 32bit (OMAP3)
Pandaboard working Free boot, no display yet ARM 32bit (OMAP4)
TBS TBS2910 working Free boot, no WiFi, no video decoding ARM 32bit (I.MX6)
AM-S805X-AC (64bit) working but unsupported nonfree boot ARM 32bit (Amlogic S805x)
GTA04 A3 and GTA04 A4 TODO: test again Free vendor u-boot, good Linux support ARM 32bit (DM370?)
Thinkpad X60 w/Coreboot TODO: Test again RYF Certifiable (DIY), nonfree ec and hdd firmwares x86 32bit
Thinkpad X60 w/Coreboot (Tablet) TODO: Test again RYF Certifiable (DIY), nonfree ec and hdd firmwares x86 32bit
Thinkpad T60 w/Coreboot TODO: Test again RYF Certifiable (DIY), nonfree ec and hdd firmwares x86 64bit
Thinkpad X200 w/Coreboot working RYF Certifiable (DIY), nonfree ec and hdd firmwares x86 64bit
Thinkpad T400 w/Coreboot working RYF Certifiable (DIY), nonfree ec and hdd firmwares x86 64bit
PcEngine APU1, E350M1, M4A785T-M w/Coreboot working Nonfree SMU (replaceable) and SSD/HDD firmwares x86 64bit (AMD G T40E)
Acer TravelMate 4000 booting1 Nonfree BIOS, Radeon video BIOS, etc x86 32bit
isacdaavid thinkpad w/libreboot working libre x86 32bit
bill-auger Freedombox, eMMC w/RTL8211E PHY (Lime2 gen-2) working RYF Certifiable, nonfree ssd/microSD firmwares ARM 32bit (A20)
Lime2 Server, eMMC w/KSZ9031 PHY (gen-3) working RYF Certifiable, nonfree ssd/microSD firmwares ARM 32bit (A20)

Should we move the above table to the wiki?
It would be easier to edit (the redmine syntax is too much time consuming to align colums, not aligning columns make it unmaintainable.
However it would be nice to also make it easy for all users (not necessarily developers) to contribute to this table and/or to testing .

1 Could not login before but it turned out that running passwd without argument didn't change the password when booting with init=/bin/sh whereas doing passwd root worked fine, which enabled me to login.

Machines that could be useful to get:
machine status libre notes CPU architecture Rationale
Lime2 (gen 1) presumed-working libre ARM 32bit (which one?) Add support for the Lime2 (all versions)
talos II/Talos II lite / blackbird partially-working RYF, no FSDG distros for the BMC or the PPC64LE PPC64LE Add support for ppc64le + RYF hardware
NXP T2080RDB Devkit ? probably free boot, no display controller => Freedom issue1 PPC64LE Add support for ppc64le, easier to work with than Talos
PPC netbook4 (WIP) ? probably free boot, no display controller => Freedom issue1 PPC64LE Add support for ppc64le, probably faster than Libreboot thinkpads
sifive partially-working requires blobs RISCV Add support for RISCV
Board with ECP 5 + LiteX (some) support in Linux Should be 100% free software RISCV Go way beyond RYF: free HDL design + FPGA, but slow
Jetson TK1 (not TX16) ? ? ARM (32bit?) (which one?) Support Tegra, free bootloader
Pinebook PRO requires patches Free boot, not everything working2 ARM 64bit (which one?) Fast laptop, 4GiB of RAM, can probably have ath9k WiFi
Novena requires patches Free boot, almost everything working3 ARM 32bit (which one?) Laptop, Slow but has SATA, mPCIe, 4GiB of RAM, and so on10
Olimex TERES laptop ? ? ARM 64bit (which one?) Probably easy to add support for it, only 2GiB of RAM11?
EOMA685 ? RYF Certifiable, nonfree eMMC/uSD firmwares ARM 32bit (A20) Not yet in production, UART access probably requires patching
MIPS Creator CI207 ? Boots with free software, GPU not working8 MIPS (which one?) Bring back the MIPS port?
LibreCMC compatible WiFi AP with USB port Depends9 Boots with free software MIPS (which one?) WiFi Access points in Parabola, bring back MIPS support
PcEngine APU2 w/Coreboot ? Likely to be similar to PcEngine APU1 ARM 32bit (AMD G GX-412TC) More powerful than APU1, long-term production

1 The nouveau and radeon drivers depend on data/bytecode in the Video BIOS. Is that bytecode data or also code?

2 Internal WiFi non working, dptx firmware is nonfree => No external display, storage: eMMC or NVMe PCIe (so has DMA access at least at boot) => Using eMMC is posssible instead. The nvme connector may be repurposable to add an ath9k on it (untested, requires adapter on the forum).

3 The FPGA is probably supported by the free toolchain but lacks some blocks like DSP and so on. As with other I.MX6: nonfree video decoding acceleration. It also has a free EC and so exist in desktop versions.


5 The status is unknown as luke didn't have the time to check if the boards worked or not (yet) + TODO: look if the desktop, adapters and laptops will be shipped or not.

6 Both Tegra K1 and Tegra X1 has nonfree nouveau firmwares (but no video BIOS as that's in the kenrel). The Tegra X1 has a signed (power management only?) firmware for the GPU though.



9 Some probably have their DTS upstream. TODO: look at the status if some is ever interested in bringing back MIPS.

10 It appear that production of the cases is discontinued; and only the mainboard is still available.

11 The manual suggests that future revisions will have different memory capacities.

For adding laptops support, the Pinebook PRO looks really good but requires a bit of work: Someone is working to add support for it on Guix. The status is that it didn't boot with upstream Linux last time that person tested it, and it requires some patches on top of recent Linux. Some of the patches aren't needed (they are for nonfree bluetooth or nonfree WiFi, some are trivial to upstream, but there are some power management patches that are problematic (very dirty code, not upstreamable in Linux), so we need to test if it works without them with a recent u-boot, kernel and ATF). If someone is interested on working on that we could probably manage to find a way to ship a laptop to test all that.

The Novena could also be a nice laptop but it's probably not produced anymore.


Updated by bill-auger 9 months ago

if anyone knows of others that are particularly libre-friendly, which parabola could support if we had any, do add them to the "no one" list

freedombox lists some others that they claim to support without blobs, though i dont know much about these, or if they really really do not require blobs

  • A20 OLinuXino MICRO
  • PC Engines APU
  • Cubietruck
  • Cubieboard2
  • pcDuino3
  • Pine A64+
  • Banana Pro
  • Orange Pi Zero
  • RockPro64
  • Rock64

Updated by isacdaavid 9 months ago

Added myself under the i686 banner. I lost my Beaglebone Black to hardware failure and I'm still waiting on the EOMA68 vaporware to deliver, although I'd rather get a refund at this point.


Updated by bill-auger 9 months ago

yea, as strange at it may seem, i suppose i686 is in the exotic
category these days - those thinkpads with libreboot are all in
the high-priority category - that is what you have, yes? -
which model is it, the X60?


Updated by GNUtoo 9 months ago

I think we need to:
  • Get many devboards to support as many SOCs as possible. Devboards are easy to work with.
  • Get some ARM laptops and ship them to the developers wanting to work on them. Some laptops are still easy to work with.
Ideas of requirements to make our lives easier:
  • Developers working on them really need to have at least an UART, so they could see what's wrong if the device doesn't boot anymore
  • All the hardware we want to support must be able to boot with only free software and ideally we'd want upstream bootloders support.
  • Having good Linux support will make sure we don't need to upstream or maintain all the patches required to make the devices work.

So far we have some TI SOCs (omap3, omap4, am335x), Allwinner SOCs (A10, A20), I.MX SOCs (I.MX6), but for instance we have no Tegra K1 nor Rockchip SOCs.

Given good upstream support, adding specific boards could be done with only copy-paste and tiny modifications both in the bootloader PKGBUILDs to add a new target and in the wiki to add the infos required to install Parabola on them.

We'd then need to make sure not to break the boards we don't have.

That can be done by:
  • Adding tests and making the code and installation procedure robust. For instance if u-boot goes over 1MiB, it should warn at least the people installing the u-boot. I'm working on that.
  • Finding a way to enable people to report more non-working things but also working boards. For instance we could add 1 more board with copy-paste in exchange of people testing it at least after we added it and having some record that it worked.
  • Fixing issues when they pop up (that's probably the harder part). So we might need to get the hardware for that, and most importantly time which is difficult to get.

Updated by bill-auger 5 months ago

the tables data has been transferred to the wiki (mostly) - i did not account for who has which hardware though - we could still use this ticket for that purpose, and to decide which are promoted to the "priority support" tables

Also available in: Atom PDF