From Fedora Project Wiki
(→‎News: Added a note to know the latest status of RISC-V.)
 
(66 intermediate revisions by 10 users not shown)
Line 1: Line 1:
[https://riscv.org/ RISC-V] (pronounced "RISC Five") is an [https://en.wikipedia.org/wiki/RISC-V open source instruction set architecture (ISA)].  This project, informally called '''Fedora/RISC-V''', aims to get Fedora bootstrapped on the RISC-V (64 bit) architecture.
[https://riscv.org/ RISC-V] (pronounced "RISC Five") is an [https://en.wikipedia.org/wiki/RISC-V open source instruction set architecture (ISA)].  This project, informally called '''Fedora/RISC-V''', aims to provide a complete Fedora experience on the RISC-V (64 bit, RV64GC) architecture.


= Downloads =
= News =


* http://copr-fe.cloud.fedoraproject.org/coprs/rjones/riscv/
Please contact people at the [https://fedoraproject.org/wiki/SIGs/RISC-V RISC-V SIG] if you want to know the latest status.
** COPR repository (for Fedora 24/x86_64) containing: QEMU, Spike, cross-compiler toolchain
* https://github.com/rwmjones/fedora-riscv
** Git repository containing the bootstrapping work.  Read the README file!
* http://oirase.annexia.org/riscv/
** Interim stage3 disk image.


= Status =
'''May 2024''' We're starting a Special Interest Group! See the [https://fedoraproject.org/wiki/SIGs/RISC-V RISC-V SIG] for more details.


Last updated: 2016-08-16
'''May 2024''' PLCT have releases a new repo for Fedora RV64 OCI image, currently F39 and F40 is avaliable. https://hub.docker.com/r/fedorariscv/base


Status: The stage3 disk image boots to a shell, with GCC, numerous developer utilities, and rpmbuild.
'''Jun 2023''' <s>A new Fedora 38 [https://hub.docker.com/r/imbearchild/fedora-rv64 OCI image] for riscv64 is available.</s>


I have started using the stage3 to build stage4 RPMs.
'''May 2023'''  T-Head platform (Sipeed LicheePi 4A) description and installation how-to at [[Architectures/RISC-V/T-Head]]


For the latest information, see:
'''Jan 2022''' [https://plctlab.github.io/ PLCT Lab] have another new [https://openkoji.iscas.ac.cn/koji/index koji build system] for Riscv64.
https://github.com/rwmjones/fedora-riscv


= Communications =
'''Oct 2021''' Community member made a Fedora based BSP image for Allwinner D1 Nezha board. The information is available at [[Architectures/RISC-V/Allwinner]]. Note: Allwinner D1 is '''NOT''' officially supported by Fedora yet.


There is no specific mailing list.  Use [https://lists.fedoraproject.org/admin/lists/devel.lists.fedoraproject.org/ Fedora devel] for now.
'''May 2018''' [http://fedora.riscv.rocks/koji/ A Koji build system instance is now building Fedora packages].


On FreeNode IRC: <code>#fedora-riscv</code>
'''February/March 2018'''  [https://fedorapeople.org/groups/risc-v/disk-images/ Stage4 disk images are available].  These are bootable in qemu and let you try out Fedora/RISC-V.  Make sure you read the [https://fedorapeople.org/groups/risc-v/disk-images/readme.txt readme.txt file] first.  The development environment is quite complete with GCC 7.3.1, Perl 5.26, Python 2 and 3, git, systemd, various editors including vi and emacs, many <code>-devel</code> packages, and some X11 packages.  It will be enough for most developers to start porting their software to RISC-V.  The main missing things at the moment are Ruby, Java and Gtk 3.


= People =
'''Status January/February 2018'''  The third and hopefully final bootstrap of Fedora 27 has started.  Please follow progress or try building it yourself via [https://github.com/rwmjones/fedora-riscv-bootstrap this git repository].  Expected timelines are: 1-2 weeks until stage 3 disk images are available, 1-2 months until stage 4 pristine RPM-built disk images are available, 2 months until we are autobuilding regular Fedora packages, 3-6 months until we have koji-shadow functionality.


* [[RichardJones|Richard Jones]] <br>
= Communications =
<i>(add your name here)</i>


= Building packages in stage3 =
Follow (and post to!) [https://discussion.fedoraproject.org/tag/risc-v-sig #risc-v on Fedora Discussion]! (If you prefer, you can follow this tag by email.)


The stage3 environment can be built from source or you can download a snapshot binary image.  See above for links to git etc.
= Topics =


Pick a package which:
* [[Architectures/RISC-V/Installing]] - How to download, install and run Fedora/RISC-V.
* has very few dependencies
* <s>[[Architectures/RISC-V/Building]] - Help to build packages for Fedora/RISC-V.</s>
* is written in C or C++
* <s>[[Architectures/RISC-V/Bootstrapping]] - Bootstrapping Fedora on RISC-V.</s>
* is part of Fedora @Core


Grab the source RPM from [http://koji.fedoraproject.org/koji/ Koji].
= Builds =


Copy the source RPM into the stage3 disk image. The disk image <b>must not</b> be running when you do this:
; http://fedora.riscv.rocks:3000/
: RISC-V Package Sources


virt-copy-in -a stage3-disk.img the_package.src.rpm /var/tmp/
= Downloads =
 
; http://fedora.riscv.rocks/koji/tasks?state=closed&view=flat&method=createAppliance&order=-id
Boot the disk image in qemu:
: Latest disk images
 
; http://fedora.riscv.rocks/koji/
make boot-stage3-in-qemu
: Koji build system
 
; http://fedora.riscv.rocks/repos/ http://fedora.riscv.rocks/repos-dist/
Inside the VM you can now "install" the source RPM, which makes it available under <code>/rpmbuild</code>:
: Packages built by Koji
 
; https://github.com/rwmjones/fedora-riscv-kernel
rpm -i /var/tmp/the_package.src.rpm
: Linux kernel build scripts and patches
cd /rpmbuild/SPECS
; https://bugzilla.redhat.com/show_bug.cgi?id=1553405
 
: Tracker bug for all issues which affect Fedora on RISC-V
You may need to disable hardened build by adding:
 
%undefine _hardened_build
 
to the spec file. Use <code>vim</code> to edit files.
 
You can now try building the package:
 
rpmbuild -ba the_package.spec --define "debug_package %{nil}"
 
If it builds successfully, brilliant!  More usually this will require many cycles of debugging and fixing things.  Removing dependencies or parts of the spec file is an option for these stage3 builds.
 
If you get a build, it will be in <code>/rpmbuild</code> inside the VM.  sync and shut down the VM, then do:
 
virt-copy-out -a stage3-disk.img /rpmbuild ./
 
and the files will be downloaded to ./SRPMS and ./RPMS in the current directory.  Note: Keep the source RPM too, especially if you modified it.
 
Add notes to the section below.  Also come to <code>#fedora-riscv</code> and discuss where to put your built packages.
 
== Notes on packages built so far ==
 
=== zlib (RWMJ) ===
 
Done
 
=== filesystem (RWMJ) ===
 
Done
 
=== glibc (RWMJ) ===
 
rpmbuild --with bootstrap ...
 
It fails (consistently) at:
 
Adding szl_PL
Adding ta_IN
Adding ta_LK
Adding tcy_IN.utf8
cannot lock new archive: Permission denied
 
=== GCC (RWMJ) ===
 
GCC can now be built from source inside the chroot. Next step is to build from the Fedora GCC SRPM.
 
=== gawk (RWMJ) ===
 
Done.
 
Hits "all-recursive" bug in make (or GCC?)
 
Making all in .
Makefile:742: recipe for target 'all-recursive' failed


Added this to the spec file as a workaround:
; https://hub.docker.com/r/imbearchild/fedora-rv64
: OCI image (for docker and podman) Note: This image uses rpm repo from openkoji.iscas.ac.cn (instead of fedora.riscv.rocks)


sed 's/\$(am__cd) \$\$subdir \&\&/cd $$subdir ;/g' -i Makefile.in
The following links are now obsolete:


=== bzip2 (davidlt) ===
; <s>https://fedorapeople.org/groups/risc-v/
: Disk images, RPMs, SRPMs. (old)</s>
; <s>https://github.com/rwmjones/fedora-riscv-autobuild
: The autobuilder source.</s>
; <s>http://copr-fe.cloud.fedoraproject.org/coprs/rjones/riscv/
: The COPR repository (for Fedora 27/x86_64) containing QEMU</s>
; <s>https://github.com/rwmjones/fedora-riscv-stage4
: Scripts used to build the stage4 disk image.</s>
; <s>https://github.com/rwmjones/fedora-riscv-bootstrap</s>
: <s>Git repository containing the bootstrapping work.  Read the README file!</s>
; <s>http://oirase.annexia.org/riscv/</s>
: <s>Interim stage3 disk images built by rwmj</s>
; <s>http://davidlt.web.cern.ch/davidlt/riscv/</s>
: <s>Interim stage3 disk and kernel images built by davidlt.</s>

Latest revision as of 18:08, 24 November 2024

RISC-V (pronounced "RISC Five") is an open source instruction set architecture (ISA). This project, informally called Fedora/RISC-V, aims to provide a complete Fedora experience on the RISC-V (64 bit, RV64GC) architecture.

News

Please contact people at the RISC-V SIG if you want to know the latest status.

May 2024 We're starting a Special Interest Group! See the RISC-V SIG for more details.

May 2024 PLCT have releases a new repo for Fedora RV64 OCI image, currently F39 and F40 is avaliable. https://hub.docker.com/r/fedorariscv/base

Jun 2023 A new Fedora 38 OCI image for riscv64 is available.

May 2023 T-Head platform (Sipeed LicheePi 4A) description and installation how-to at Architectures/RISC-V/T-Head

Jan 2022 PLCT Lab have another new koji build system for Riscv64.

Oct 2021 Community member made a Fedora based BSP image for Allwinner D1 Nezha board. The information is available at Architectures/RISC-V/Allwinner. Note: Allwinner D1 is NOT officially supported by Fedora yet.

May 2018 A Koji build system instance is now building Fedora packages.

February/March 2018 Stage4 disk images are available. These are bootable in qemu and let you try out Fedora/RISC-V. Make sure you read the readme.txt file first. The development environment is quite complete with GCC 7.3.1, Perl 5.26, Python 2 and 3, git, systemd, various editors including vi and emacs, many -devel packages, and some X11 packages. It will be enough for most developers to start porting their software to RISC-V. The main missing things at the moment are Ruby, Java and Gtk 3.

Status January/February 2018 The third and hopefully final bootstrap of Fedora 27 has started. Please follow progress or try building it yourself via this git repository. Expected timelines are: 1-2 weeks until stage 3 disk images are available, 1-2 months until stage 4 pristine RPM-built disk images are available, 2 months until we are autobuilding regular Fedora packages, 3-6 months until we have koji-shadow functionality.

Communications

Follow (and post to!) #risc-v on Fedora Discussion! (If you prefer, you can follow this tag by email.)

Topics

Builds

http://fedora.riscv.rocks:3000/
RISC-V Package Sources

Downloads

http://fedora.riscv.rocks/koji/tasks?state=closed&view=flat&method=createAppliance&order=-id
Latest disk images
http://fedora.riscv.rocks/koji/
Koji build system
http://fedora.riscv.rocks/repos/ http://fedora.riscv.rocks/repos-dist/
Packages built by Koji
https://github.com/rwmjones/fedora-riscv-kernel
Linux kernel build scripts and patches
https://bugzilla.redhat.com/show_bug.cgi?id=1553405
Tracker bug for all issues which affect Fedora on RISC-V
https://hub.docker.com/r/imbearchild/fedora-rv64
OCI image (for docker and podman) Note: This image uses rpm repo from openkoji.iscas.ac.cn (instead of fedora.riscv.rocks)

The following links are now obsolete:

https://fedorapeople.org/groups/risc-v/
Disk images, RPMs, SRPMs. (old)
https://github.com/rwmjones/fedora-riscv-autobuild
The autobuilder source.
http://copr-fe.cloud.fedoraproject.org/coprs/rjones/riscv/
The COPR repository (for Fedora 27/x86_64) containing QEMU
https://github.com/rwmjones/fedora-riscv-stage4
Scripts used to build the stage4 disk image.
https://github.com/rwmjones/fedora-riscv-bootstrap
Git repository containing the bootstrapping work. Read the README file!
http://oirase.annexia.org/riscv/
Interim stage3 disk images built by rwmj
http://davidlt.web.cern.ch/davidlt/riscv/
Interim stage3 disk and kernel images built by davidlt.