From Fedora Project Wiki
No edit summary
(45 intermediate revisions by 2 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/
** 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 =
 
Last updated: 2016-08-16


Status: The stage3 disk image boots to a shell, with GCC, numerous developer utilities, and rpmbuild.
'''May 2018''' [http://fedora-riscv.tranquillity.se/koji/ A Koji build system instance is now building Fedora packages].


I have started using the stage3 to build stage4 RPMs.
'''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.


For the latest information, see:
'''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.
https://github.com/rwmjones/fedora-riscv


= Communications =
= Communications =


There is no specific mailing list.  Use [https://lists.fedoraproject.org/admin/lists/devel.lists.fedoraproject.org/ Fedora devel] for now.
Find us on FreeNode IRC: <code>#fedora-riscv</code>


On FreeNode IRC: <code>#fedora-riscv</code>
There is no specific mailing list, use [https://lists.fedoraproject.org/admin/lists/devel.lists.fedoraproject.org/ the general Fedora developers' mailing list].


= People =
= Topics =


* [[RichardJones|Richard Jones]] <br>
* [[Architectures/RISC-V/Building]] - Help to build packages for Fedora/RISC-V.
<i>(add your name here)</i>
* <s>[[Architectures/RISC-V/Bootstrapping]] - Bootstrapping Fedora on RISC-V.</s>


= Building packages in stage3 =
= Downloads =
 
The stage3 environment can be built from source or you can download a snapshot binary image.  See above for links to git etc.
 
Pick a package which:
* has very few dependencies
* is written in C or C++
* is part of Fedora @Core
 
Grab the source RPM from [http://koji.fedoraproject.org/koji/ Koji].
 
Copy the source RPM into the stage3 disk image.  The disk image <b>must not</b> be running when you do this:
 
virt-copy-in -a stage3-disk.img the_package.src.rpm /var/tmp/
 
Boot the disk image in qemu:
 
make boot-stage3-in-qemu
 
Inside the VM you can now "install" the source RPM, which makes it available under <code>/rpmbuild</code>:
 
rpm -i /var/tmp/the_package.src.rpm
cd /rpmbuild/SPECS
 
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 ==
 
<i>The list of packages in this section was constantly out of date, so I deleted it</i>
 
To see the packages which have been built so far, look in the git repo.  If you are planning to port another package, please ping us on <code>#fedora-riscv</code> first, just to make sure that two people don't do overlapping work.
 
=== "all-recursive" bug in make ===
 
Making all in .
Makefile:742: recipe for target 'all-recursive' failed
 
Added this to the spec file as a workaround:
 
sed 's/\$(am__cd) \$\$subdir \&\&/cd $$subdir ;/g' -i Makefile.in
 
=== debugedit missing ===


Use <code>%global debug_package %{nil}</code> (temporarily for stage3, in stage4 we will attempt to build the debuginfo packages).
; https://fedorapeople.org/groups/risc-v/
: Disk images, RPMs, SRPMs.
; http://fedora-riscv.tranquillity.se/koji/
: Koji build system
; <s>https://github.com/rwmjones/fedora-riscv-autobuild
: The autobuilder source.</s>
; https://github.com/rwmjones/fedora-riscv-stage4
: Scripts used to build the stage4 disk image.
; https://github.com/rwmjones/fedora-riscv-kernel
: Linux kernel build scripts and patches
; <s>http://copr-fe.cloud.fedoraproject.org/coprs/rjones/riscv/
: The COPR repository (for Fedora 27/x86_64) containing QEMU</s>
; https://bugzilla.redhat.com/show_bug.cgi?id=1553405
: Tracker bug for all issues which affect Fedora on RISC-V


=== bugs about locking, random "Permission denied" ===
Bootstrapping is over so the following links are now obsolete:


Update to the latest riscv-gnu-toolchain and rebuild the kernel from the repo. All known locking bugs have been fixed.
; <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>

Revision as of 10:52, 7 May 2018

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

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

Find us on FreeNode IRC: #fedora-riscv

There is no specific mailing list, use the general Fedora developers' mailing list.

Topics

Downloads

https://fedorapeople.org/groups/risc-v/
Disk images, RPMs, SRPMs.
http://fedora-riscv.tranquillity.se/koji/
Koji build system
https://github.com/rwmjones/fedora-riscv-autobuild
The autobuilder source.
https://github.com/rwmjones/fedora-riscv-stage4
Scripts used to build the stage4 disk image.
https://github.com/rwmjones/fedora-riscv-kernel
Linux kernel build scripts and patches
http://copr-fe.cloud.fedoraproject.org/coprs/rjones/riscv/
The COPR repository (for Fedora 27/x86_64) containing QEMU
https://bugzilla.redhat.com/show_bug.cgi?id=1553405
Tracker bug for all issues which affect Fedora on RISC-V

Bootstrapping is over so the following links are now obsolete:

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.