On 2021-06-07, Efraim Flashner wrote: > Last week my HiFive Umatched¹ board came ... > 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. I, on the other hand, went straight for Debian, of course! I stole the vendor kernel and u-boot and built a Debian rootfs... and after a few tries got it running. > Upstream u-boot support was merged days ago³ so we should be able to add > support to our u-boot package soon-ish™. I haven't gotten u-boot working on Debian yet; builds fine, but has some problem setting up reserved memory in the device-tree when booting. I should try updating the guix u-boot-sifive-unmatched package and see if that works any differently (different toolchain versions sometimes has an effect). There may be patches not yet upstreamed from: https://github.com/sifive/meta-sifive/tree/2021.05/recipes-bsp/u-boot/files/unmatched Those are applied against u-boot 2021.01 ... and I haven't found any that are likely related to the issue with reserved memory in the device-tree. > 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. I've managed to get so far as applying the patches from wip-riscv to the guix 1.3.0 package in Debian and built it! It even runs, for the most part! That said, it was absurdly slow ... ~5 hours to build guix (not including tests, which I disabled!) even though it was built entirely within a tmpfs filesystem (what else would you do with 16GB of ram?). Makes me worry how fast guix pull will perform... I tried both with guile 3.0 (which required rebuilding guile-gnutls against guile-3.0) and guile 2.2 (though I missed some of the patches, so it didn't work too well). I did get so far as trying to build hello, but fails building diffutils-boot0: guix build hello ... config.status: error: in `/tmp/guix-build-diffutils-boot0-3.7.drv-0/diffutils-3.7': config.status: error: Something went wrong bootstrapping makefile fragments for automatic dependency tracking. Try re-running configure with the '--disable-dependency-tracking' option to at least be able to build the package (albeit without support for automatic dependency tracking). See `config.log' for more details command "/gnu/store/0bxdn94rl7fvqksgf60vffsjn6h8fky8-bootstrap-binaries-0/bin/bash" "./configure" "CONFIG_SHELL=/gnu/st ore/0bxdn94rl7fvqksgf60vffsjn6h8fky8-bootstrap-binaries-0/bin/bash" "SHELL=/gnu/store/0bxdn94rl7fvqksgf60vffsjn6h8fky8-bootstrap-binaries-0/bin/bash" "--prefix=/gnu/store/5x2c8fgmw6hw5njish7n5ll28wink9fl-diffutils-boot0-3.7" "--enable-fas t-install" "--build=riscv64-unknown-linux-gnu" failed with status 1 note: keeping build directory `/tmp/guix-build-diffutils-boot0-3.7.drv-1' builder for `/gnu/store/a3dn372lr9pgn3mb7j5s423x0ja1893q-diffutils-boot0-3.7.drv' failed with exit code 1 build of /gnu/store/a3dn372lr9pgn3mb7j5s423x0ja1893q-diffutils-boot0-3.7.drv failed View build log at '/var/log/guix/drvs/a3/dn372lr9pgn3mb7j5s423x0ja1893q-diffutils-boot0-3.7.drv.bz2'. ... cannot build derivation `/gnu/store/62l68kz6zz8m008qa8d0c5ariz7fd97z-hello-2.10.drv': 1 dependencies couldn't be built guix build: error: build of `/gnu/store/62l68kz6zz8m008qa8d0c5ariz7fd97z-hello-2.10.drv' failed I didn't find anything obvious to me in the build log or config.log, but maybe someone else will: https://www.aikidev.net/~vagrant/riscv64/guix/ Some other boot-* stuff downloaded and/or built successfully, but this appears to block any further progress for me at the moment... live well, vagrant