Last week my HiFive Umatched¹ board came and was quite the object of interest at the local computer store as I picked up a case, PSU and graphics card. Couple of observations about the board first: It boots very slowly. I think it takes about 5 minutes from power-on to being able to sign in at TTY1. It has an NVMe slot which I haven't populated yet. Ubuntu has an image for the board² which booted up just fine and I'm using, since I didn't want to spend too long getting Debian to run on the board. Upstream u-boot support was merged days ago³ so we should be able to add support to our u-boot package soon-ish™. Porting Guix comes with two parts: building the bootstrap-tarballs and adding support for the new architecture in (gnu packages bootstrap). Support for riscv was added to GCC with 7.1.0 so I had to bump the bootstrap GCC to 7 (and adjust some inputs), and guile-2.0.14 didn't known the endianness of riscv64 so instead of patching it I bumped the bootstrap guile to 3.0. I uploaded my bootstrap-tarballs to my regular spot after signing them and switched over to the riscv machine. Building Guix from sources is much easier thanks to the work of Vagrant, I was able to apt install most of the dependencies on riscv. The packaged version of guile-zlib was too old in 21.04 so I built that from source (0.1.0 is available in Debian experimental), and I also had to build gnutls from source for the guile-3.0 bindings. I added the riscv binaries to (gnu packages bootstrap) and temporarily switched the raw-build function to look for 3.0 guile libraries instead of 2.0. Where I'm at right now: Downloading using the daemon (builtin:download) fails currently, it says it doesn't have permissions to open-file to write downloaded files to the store. I haven't built anything using the bootstrap binaries to see if they actually work yet. (ins)efraim@unmatched:~$ neofetch --off efraim@unmatched ---------------- OS: Ubuntu 21.04 riscv64 Host: SiFive HiFive Unmatched A00 Kernel: 5.11.0-1007-generic Uptime: 3 days, 15 hours, 57 mins Packages: 782 (dpkg) Shell: bash 5.1.4 Terminal: /dev/pts/0 CPU: (4) GPU: NVIDIA GeForce GT 730 Memory: 350MiB / 15995MiB (ins)efraim@unmatched:~$ lscpu Architecture: riscv64 Byte Order: Little Endian CPU(s): 4 On-line CPU(s) list: 0-3 Thread(s) per core: 4 Core(s) per socket: 1 Socket(s): 1 L1d cache: 32 KiB L1i cache: 32 KiB L2 cache: 2 MiB ¹https://www.sifive.com/boards/hifive-unmatched ²http://cdimage.ubuntu.com/releases/21.04/release/ ³https://source.denx.de/u-boot/u-boot/-/commit/d8729a114e1e98806cffb87d2dca895f99a0170a -- Efraim Flashner אפרים פלשנר GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Confidentiality cannot be guaranteed on emails sent or received unencrypted