guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: RISCV porting effort


From: Vagrant Cascadian
Subject: Re: RISCV porting effort
Date: Sun, 13 Jun 2021 10:24:13 -0700

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

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]