|
|
Line 35: |
Line 35: |
| * [[RichardJones|Richard Jones]] <br> | | * [[RichardJones|Richard Jones]] <br> |
| <i>(add your name here)</i> | | <i>(add your name here)</i> |
|
| |
| = Building packages in stage3 =
| |
|
| |
| 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).
| |
|
| |
| === bugs about locking, random "Permission denied" ===
| |
|
| |
| Update to the latest riscv-gnu-toolchain and rebuild the kernel from the repo. All known locking bugs have been fixed.
| |
RISC-V (pronounced "RISC Five") is an 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.
Topics
Downloads
Status
Last updated: 2016-08-16
Status: The stage3 disk image boots to a shell, with GCC, numerous developer utilities, and rpmbuild.
I have started using the stage3 to build stage4 RPMs.
For the latest information, see:
https://github.com/rwmjones/fedora-riscv
Communications
There is no specific mailing list. Use Fedora devel for now.
On FreeNode IRC: #fedora-riscv
People
(add your name here)