Project

General

Profile

Housekeeping #2866

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

GNUtoo - 5 months ago - . Updated 9 days ago.

Status:
open
Priority:
wish
Assignee:
-
% Done:

0%

History

#1

Updated by GNUtoo 5 months 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.

#2

Updated by bill-auger 5 months ago

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

Updated by bill-auger 12 days ago

  • Priority changed from bug to wish
  • Project changed from Packages to Software 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
oaken-source beagle-black working libre ARM 32bit
EOMA68 (prototype) semi-working libre ARM 32bit
samsung chromebook plus (Kevin, aarch64) semi-working probably libre ARM 64bit
chromebook C201 semi-working libre ARM 32bit
GNUtoo Lime 2 eMMC with RTL8211E PHY (A20) working, see wiki RYF Certifiable (DIY), nonfree ssd/microSD firmwares ARM 32bit
PCduino Lite (A10) working libre ARM 32bit
Beaglebone Black (AM335x) working Free boot, no 3D or video decoding ARM 32bit
Beaglebone Green (AM335x) working no display connector ARM 32bit
Beagleboard XM (OMAP3) working: Free boot, no 3D or video decoding ARM 32bit
Pandaboard (OMAP4) working: Free boot, no display yet ARM 32bit
TBS TBS2910 (I.MX6) working: Free boot no WiFi, no video decoding, todo: documentation ARM 32bit
AM-S805X-AC (Amlogic S805x) (64bit) working but unsupported: nonfree boot ARM 32bit
GTA04 A3 and GTA04 A4 (DM370?) TODO: test again Free vendor u-boot, good Linux support ARM 32bit
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
Acer TravelMate 4000 booting1 Nonfree BIOS, Radeon video BIOS, etc x86 32bit
isacdaavid thinkpad w/libreboot (i686) working libre x86 32bit

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 Add support for the Lime2 (all versions)
lime2 (gen 3) working (not OOTB) libre ARM 32bit 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?) Support Tegra, free bootloader
Pinebook PRO requires patches Free boot, not everything working2 ARM 64bit Fast laptop, 4GiB of RAM, can probably have ath9k WiFi
Novena requires patches Free boot, almost everything working3 ARM 32bit Laptop, Slow but has SATA, mPCIe, 4GiB of RAM, and so on
Olimex laptop kit ? ? ARM 64bit Probably easy to add support for it, only 2GiB of RAM?
EOMA68 (WIP)[5] ? RIF Certifiable, nonfree eMMC/uSD firmwares ARM 32bit Wait for it to be out, UART access probably requires patching
EOMA68 (WIP)[5] ? RIF Certifiable, nonfree eMMC/uSD firmwares ARM 32bit Wait for it to be out, UART access probably requires patching
other ARM-64 kernel-only ? ARM 64bit
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

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.

4 https://www.powerpc-notebook.org/en/

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.

7 https://elinux.org/MIPS_Creator_CI20

8 https://www.fsf.org/resources/hw/single-board-computers

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

For adding laptops support, the Pinebook PRO lookPPC64LEs 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.

#4

Updated by bill-auger 10 days 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
#5

Updated by isacdaavid 9 days 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.

#6

Updated by bill-auger 9 days 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?

#7

Updated by GNUtoo 9 days 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.

Also available in: Atom PDF