TITLE: PC on Libre/Free Software: hardware selection, RockPro64 DATE: 2021-11-11 TAGS: aarch64 rockpro64 sbc hardware hw ------------------------- I've been using a [libreboot](https://libreboot.org)-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] (https://www.fsfla.org/ikiwiki/selibre/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](https://www.raptorcs.com/content/BK1B02/intro.html), POWER9 CPU. Has a BMC, all firmware sources are available. Firmware for built-in NIC is in development, described [here] (https://wiki.raptorcs.com/wiki/BCM5719). Drawbacks are price and the fact that you can't order it (logistical problems due to covid, [according to Talospace] (https://www.talospace.com/2021/02/blackbird-supply-chain-likely-to-improve.html)) * [MNT Reform](https://mntre.com/reform). ARM64 laptop, no vendor blobs except 16KiB one to initialize RAM. Shipping next year * [RockPro64](https://wiki.pine64.org/wiki/ROCKPro64) - RK3399 SBC, 4G RAM, good-enough CPU (2xA72 + 4xA53), PCIe x4, 4xUSB, 1xRJ-45 (1 Gbit/s). [Gentoo approves](https://wiki.gentoo.org/wiki/PINE64_ROCKPro64) * [Gigabyte GA-G41M-ES2L] (https://www.gigabyte.com/Motherboard/GA-G41M-ES2L-rev-10) for [libreboot treatment] (https://libreboot.org/docs/hardware/ga-g41m-es2l.html) * [HoneyComb LX2](https://developer.solid-run.com/knowledge-base/honeycomb-lx2k) 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](https://www.pc-adapter.net/product/874.html) - 4 ports, [Marvell 88SE9215] (https://www.marvell.com/products/system-solutions/sata-controllers/pcie-2-sata-controllers.html) chip, supported by Linux. Bluetooth and WiFi adapters that do not require vendor blobs were found on [H-node](https://h-node.org) (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] (https://www.overclockersclub.com/reviews/zalmanzmnb32j) * Aluminum box 155x85x120 mm * Regular PC PSU (I already had one) DIY power connector Molex -> DC barrel: ![power-molex-barrel.jpg](../../assets/power-molex-barrel.jpg) Bolted a small aluminum plate to SATA card to hold the cables: ![rockpro64-sata-1](../../assets/sata-1.jpg) *** ![rockpro64-sata-2](../../assets/sata-2.jpg) *** More photos: ![rockpro64-hw-2](../../assets/rockpro64-hw-hdmi.jpg) *** ![rockpro64-hw-2](../../assets/rockpro64-hw-usb.jpg) *** ![rockpro64-hw-2](../../assets/rockpro64-hw-2.jpg) *** ![rockpro64-hw-3](../../assets/rockpro64-hw-3.jpg) *** ![rockpro64-hw-4](../../assets/rockpro64-hw-4.jpg) *** ![rockpro64-hw-5](../../assets/rockpro64-hw-5.jpg) *** Next up: installing U-boot and Arch Linux ARM.