[lowrisc-dev] building lowRISC binaries with current riscv-gnu-toolchain?

Karsten Merker merker at debian.org
Mon Oct 22 21:00:28 BST 2018

On Fri, Oct 19, 2018 at 07:25:59AM +0100, Dr Jonathan Kimmitt wrote:

> Karsten, your feedback on the Debian-RISCV installation instructions would
> be particularly welcome. Do you know when
> http://www.debianmirror.de/debian-ports/pool-riscv64/main/s/systemd/libudev1_238-2_riscv64.deb
> http://www.debianmirror.de/debian-ports/pool-riscv64/main/s/systemd/libsystemd0_238-2_riscv64.deb
> http://www.debianmirror.de/debian-ports/pool-riscv64/main/libf/libffi/libffi7_3.3~rc0-2~riscv64_riscv64.deb
> will be merged into sid ?

For libudev1 and libsystemd0 the issue is largely a Debian-internal
one.  Currently we run our riscv64 package builders in qemu VMs and
those are comparatively slow.  The package sources for systemd and
udev run a large number of tests during the package build and some
of those run into timeouts on our build hosts due to the slow
emulation.  We have a patch to solve this issue, but it hasn't yet
been accepted by the systemd/udev maintainers, and before that
happens, we cannot get libudev1 and libsystemd0 into sid.  I hope
that this will get resolved within the next weeks; you can follow
the current status in the Debian bug tracking system at

For libffi, it depends on when upstream releases a new version. 
Libffi6 doesn't have support for the RISC-V architecture; libffi7
has RISC-V support, but hasn't yet had an official upstream
release, which would be the prerequisite for getting it into sid. 
Upstream had originally planned to release libffi7 in May 2018, but
that hasn't worked out (AIUI due to reasons completely unrelated to
the RISC-V support) and it is unclear when the upstream release
will happen.  I had inquired about an updated release schedule, but
haven't received a reply yet, so I unfortunately cannot provide a
reasonable estimate.

I assume your question stems from the need to manually fix up the
chroot created by debootstrap due to the three packages above not
being available in sid and debootstrap only being able to pull
packages from a single suite.  For this issue there might be an
alternative solution: since a few weeks, Debian has a new
alternative to debootstrap - mmdebstrap.  In contrast to
debootstrap, mmdebstrap can pull packages from multiple suites
(unstable+unreleased in our case), so the resulting chroot doesn't
need any manual fixups.  An example of how to create a riscv64
chroot with mmdebstrap is available at

>From the LowRISC documentation I assume that you are using Ubuntu. 
Unfortunately mmdebstrap isn't yet available in the Ubuntu
repositories, but since it is an arch:all package written in perl,
the Debian mmdebstrap package should work unmodified on Ubuntu
without problems.

Gem. Par. 28 Abs. 4 Bundesdatenschutzgesetz widerspreche ich der Nutzung
sowie der Weitergabe meiner personenbezogenen Daten für Zwecke der
Werbung sowie der Markt- oder Meinungsforschung.

More information about the lowrisc-dev mailing list