PC on Libre/Free Software: hardware selection, RockPro64
I've been using a libreboot-ed ThinkPad T500, but USB system started to show its age - only one port works, and it's a random one on each boot.
Started to look for a replacement with these requirements:
- Supported by Libre/Free Software - linux-libre, upstream U-boot without vendor blobs
- Ability to install OS to SATA/NVMe drive. SD/eMMC/USB are too slow/unreliable
- Sharing Internet connection via twisted pair and WiFi
- Working Bluetooth
- Upstream software: linux-libre, U-boot. I don't want to install forks of outdated versions.
Main candidates:
- Blackbird, POWER9 CPU. Has a BMC, all firmware sources are available. Firmware for built-in NIC is in development, described here. Drawbacks are price and the fact that you can't order it (logistical problems due to covid, according to Talospace)
- MNT Reform. ARM64 laptop, no vendor blobs except 16KiB one to initialize RAM. Shipping next year
- RockPro64 - RK3399 SBC, 4G RAM, good-enough CPU (2xA72 + 4xA53), PCIe x4, 4xUSB, 1xRJ-45 (1 Gbit/s). Gentoo approves
- Gigabyte GA-G41M-ES2L for libreboot treatment
- HoneyComb LX2 aarch64, 16 A72 cores, a full-fledged motherboard. More expensive than RockPro64 (it has much more functionality). I couldn't find if it requires vendor blobs, and it's not in U-boot repo (by name)
I chose RockPro64. Pine64 sells a SATA card for it but it uses an ASM chip. Judging by forum threads and my experience ASM chips are not reliable - my mPCIe card on ASM1061 works with HDD but not SSD for some reason. Found this card - 4 ports, Marvell 88SE9215 chip, supported by Linux. Bluetooth and WiFi adapters that do not require vendor blobs were found on H-node (an excellent resource).
Resulting BOM:
- SATA controller PCE4SAT-M02 (PCIe)
- Bluetooth controller Asus BT400 (USB)
- WiFi D-Link DWA-126 (USB) - Access Point mode
- Ethernet D-Link Dub-E100 100Mbit/s (USB) - for ISP connection
- 2 USB hubs
- Chipset cooler Zalman ZM-NB32J - fits, here is an old review
- Aluminum box 155x85x120 mm
- Regular PC PSU (I already had one)
DIY power connector Molex -> DC barrel:
Bolted a small aluminum plate to SATA card to hold the cables:
More photos:
Next up: installing U-boot and Arch Linux ARM.