This page contains details about the port of Debian for the RISC-V architecture (riscv64).
In a nutshell
What is RISC-V?
From the Wikipedia entry for RISC-V:
RISC-V (pronounced "risk-five") is an open source instruction set architecture (ISA) based on established reduced instruction set computing (RISC) principles. |
There are different versions of the instruction set for 32, 64 and 128 bits; operating as little-endian by default.
What is a Debian port?
In short, a port in Debian terminology means to provide the software normally available in the Debian archive (over 20,000 source packages) ready to install and run on systems based in a given computer architecture with the Linux kernel, or kernel-architecture combinations, with other kernels including Hurd and FreeBSD.
See https://www.debian.org/ports/ and DebianPorts for more information.
What are the goals of this project in particular?
In this project the goal is to have Debian ready to install and run in systems implementing variants of the RISC-V ISA:
Software-wise, this port will target the Linux kernel
Hardware-wise, the port will target the 64-bit variant, little-endian
The ISA variant is the "default flavour" recommended by the designers, and the one that seems to attract more interest for planned implementations that might become available in the next few years (development boards, possible consumer hardware or servers).
While 32-bit and 128-bit implementations are possible, there are problems with this:
- In the context of RISC-V design, they have not been explored as deeply, and tools and resources (e.g. simulators, research cores) as not as well studied and adapted;
- For general purpose computers, the focus shifted to 64-bit for many years already, and there isn't a lot of interest in 32-bit architectures except for specific purposes;
- 32-bit ports in Debian already struggle to compile some large packages of the archive in the last few months/years, a problem that will become worse with time;
- and 128 is simply not realistic at this time.
Upstream project / Architecture / Hardware
Upstream project / Community
Main website: https://riscv.org
Mailing lists (see below for Debian-specific): https://riscv.org/mailing-lists/
IRC (see below for Debian-specific): #riscv at freenode
Architecture details
Hardware
There are different efforts from organisations around the world (research institutes, commercial companies, ...) that have shown interest in this project. Perhaps they will create some hardware available for purchase in the future, but there is nothing available or announced at this time.
The most interesting/promising project in this respect is the lowRISC project:
lowRISC is a not-for-profit organisation working closely with the University of Cambridge and the open-source community. |
FPGA implementations
There are cores freely available such as Rocket, implementing the 64-bit scalar flavour of the RISC-V ISA (and MMU and an optional IEEE 754-2008-compliant FPU), which can be synthetised to an FPGA.
Debian port information
Current Status
- 2016-02-19
- The preparations for this port started in private a while ago, but nothing has been made public so far and nothing useful yet for users and developers.
The main reason is the lack of official support for this architecture in fundamental pieces of the toolchain (binutils, gcc, glibc), the main OS kernel (linux) or even other software that might help with the port (e.g. qemu). All of the mentioned pieces have support in progress and are considered to submit for upstreaming, but nothing definitive has happened at the moment.
In particular, a recent message informed about some upcoming changes to the supervisor specifications (the ABI), which will affect binutils at least. Starting a Debian port without the ISA being settled is not very good, since the effort will need to be restarted from scratch.
- It is expected that this situation will change soon (within few months) and that progress on this port can be started.
Credits
Porters:
Manuel A. Fernandez Montecelo (ManuelMontecelo)
Hardware Sponsors:
Bytemark provides hardware to help to kick-start this port. Bytemark is a long-time partner of Debian
- Also using personal computers and regular Debian infrastructure
History
- 2016-02-19
- Created page of the port in the wiki
APT sources.list
Follow instructions in: http://www.ports.debian.org/archive . Example:
deb http://ftp.ports.debian.org/debian-ports/ sid main deb http://ftp.ports.debian.org/debian-ports/ unreleased main deb-src http://ftp.ports.debian.org/debian-ports/ sid main
Mirrors (use them if possible, they may be closer to you): http://www.ports.debian.org/mirrors
buildd (build-daemon) information
NOT CREATED YET
Contact: buildd maintainers <riscv64@buildd.debian.org>
Status: https://buildd.debian.org/status/architecture.php?suite=unstable&a=riscv64&priority=
Stats graph: https://buildd.debian.org/stats/?arch=riscv64
Stats overview: https://buildd.debian.org/stats/riscv64.txt
Porterboxes
Currently there are no porterboxes available. See the qemu section to install locally, if available.
Qemu
qemu emulation is not possible yet since the changes are not upstreamed, and the code is still being revised for changes in the specifications.
In the future, when qemu works it sould be possible to do something like:
M68k/sbuildQEMU (not upstreamed, so this one can be specially useful)
Cross compilation
When support for RISC-V targets are added to gcc upstream and enabled in the relevant packages in Debian, they can be installed directly from the main Debian repositories:
# apt install gcc-riscv64-linux-gnu g++-riscv64-linux-gnu
Resources
Mailing list
NOT CREATED YET
debian-riscv@lists.debian.org , https://lists.debian.org/debian-riscv/
IRC
irc.oftc.net / irc.debian.org (https://www.oftc.net/)
- #debian-riscv
- #lowRISC (not exactly Debian specific, but many interested people within Debian participate)
Bugs (BTS)
https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=riscv64;users=debian-riscv@lists.debian.org
bugs.debian.org/usertags examples:
To: submit@bugs.debian.org Subject: foo: FTBFS on riscv64 Package: foo Version: 1.2.3-4 X-Debbugs-CC: debian-riscv@lists.debian.org User: debian-riscv@lists.debian.org Usertags: riscv64 The version of the package currently FBTFS on the riscv64 port: URL_of_the_log
or
To: control@bugs.debian.org Subject: riscv64 usertags for #BUGNUMBER CC: debian-riscv@lists.debian.org user debian-riscv@lists.debian.org usertag BUGNUMBER + riscv64 stop
or
To: BUGNUMBER@bugs.debian.org Subject: Setting riscv64 usertags CC: debian-riscv@lists.debian.org Control: user debian-riscv@lists.debian.org Control: usertag -1 + riscv64