Tag Archives: fedora

OCaml 4.04, RISC-V, S/390, POWER and more …

I pushed OCaml 4.04.0 to Fedora Rawhide last week. There are loads of new features for OCaml users, but the ones that particularly affect Fedora are:

  • New, upstream POWER (ppc64, ppc64le) backend, replacing the downstream one that we have maintained for a few years. I was quite apprehensive about this change because I had tried the new backend during the OCaml 4.03 release cycle and found it to be quite unstable. However the latest version looks rock solid and has no problem compiling the entire Fedora+OCaml software suite.
  • New, upstream S/390x backend. I actually found and fixed a bug, go me!
  • New, non-upstream RISC-V backend. I found a bug in this backend too, but it proved to be easy to fix. You can now install and run most of the OCaml packages on Fedora/RISC-V.

And talking about Fedora/RISC-V, it took a month, but the mass-rebuild of all Fedora packages completed, and now we’ve got about ⅔rds of all Fedora packages available for RISC-V. That’s quite a lot:

$ du -sh SRPMS/ RPMS/
31G	SRPMS/
27G	RPMS/

1 Comment

Filed under Uncategorized

Fedora/RISC-V is finished!

Ha ha only joking. However when we started out on building Fedora on the free RISC-V architecture, the goal we decided on was to get every package in the Fedora @Core group built.

I’m happy to announce that we have done that. Almost.

There are two mandatory packages that we’re not building, dracut and plymouth. Luckily neither are relevant to RISC-V at the moment since we’re not using an initramfs and there is no graphical boot device.

Another milestone is we have built more than 5,000 Fedora packages. Fedora has about 18,400 packages in total, so that’s a respectable chunk.

Here is what Fedora/RISC-V looks like when it is booting in QEMU:

cropped

Props to Stefan O’Rear, David Abdurachmanov for doing most of the real work.

14 Comments

Filed under Uncategorized

RISC-V bootstrapping: over 1,100 packages

$ ls -l SRPMS | wc -l
1172

The autobuilder is really getting though the package list, having attempted to rebuild nearly 4,000 so far.

Leave a comment

Filed under Uncategorized

Fedora / RISC-V stage4 autobuilder is up and running

Bootstrapping Fedora on the new RISC-V architecture continues apace.

I have now written a small autobuilder which picks up new builds from the Fedora Koji build system and attempts to build them in the clean “stage4” environment.

Getting latest packages from Koji ...
Running: 0 (max: 16) Waiting to start: 7
uboot-tools-2016.09.01-1.fc25.src.rpm                       |  11 MB  00:10     
uboot-tools-2016.09.01-1.fc25 build starting
tuned-2.7.1-2.fc25.src.rpm                                  | 136 kB  00:00     
tuned-2.7.1-2.fc25 build starting
rubygem-jgrep-1.4.1-1.fc25.src.rpm                          |  24 kB  00:00     
rubygem-jgrep-1.4.1-1.fc25 build starting
qpid-dispatch-0.6.1-3.fc25.src.rpm                          | 1.3 MB  00:01     
qpid-dispatch-0.6.1-3.fc25 build starting
python-qpid-1.35.0-1.fc25.src.rpm                           | 235 kB  00:01     
python-qpid-1.35.0-1.fc25 build starting
java-1.8.0-openjdk-aarch32-1.8.0.102-4.160812.fc25.src.rpm  |  53 MB  00:54     
java-1.8.0-openjdk-aarch32-1.8.0.102-4.160812.fc25 build starting
NetworkManager-strongswan-1.4.0-1.fc25.src.rpm              | 290 kB  00:00     
NetworkManager-strongswan-1.4.0-1.fc25 build starting
MISSING DEPS: NetworkManager-strongswan-1.4.0-1.fc25 (see
logs/NetworkManager-strongswan/1.4.0-1.fc25/root.log)
   ... etc ...

Given that we don’t have GCC in the stage4 environment yet, almost all of them currently fail due to missing dependencies, but we’re hoping to correct that soon. In the mean time a few packages that have no C dependencies can actually compile. This way we’ll gradually build up the number of packages for Fedora/RISC-V, and that process will accelerate rapidly once we’ve got GCC.

You can browse the built packages and build logs here: https://fedorapeople.org/groups/risc-v/

1 Comment

Filed under Uncategorized

Updated stage4 RISC-V image with RPM (and some broken bits)

For context, see the previous post

I’ve uploaded our latest stage4 to http://oirase.annexia.org/riscv/.

util-linux is still missing, so there’s no mount command and the filesystem comes up read-only.

RPM has been added, but there’s some sort of bug or configuration problem in libdb which means that RPM cannot read its own database (although the RPM database that has been written seems fine and can be read quite happily from an x86_64 machine). Still under investigation …

Leave a comment

Filed under Uncategorized

Now building Fedora/RISC-V “stage4” disk images

I’m happy to announce that Fedora/RISC-V, the project to bootstrap Fedora on the new RISC-V architecture, has reached a key milestone: We are now releasing clean “stage4” disk images which are built entirely from RPMs (ie. every file except two[1] are managed by RPM).

You can get the latest image from http://oirase.annexia.org/riscv/

To use it, you must enable my RISC-V tools copr:

# dnf copr enable rjones/riscv
# dnf install riscv-qemu riscv-pk

and you can then boot the stage4 directly using this qemu command[2]:

$ qemu-system-riscv -m 4G -kernel /usr/bin/bbl \
    -append vmlinux \
    -drive file=stage4-disk.img,format=raw -nographic

This is an early release and there are a few problems. The main one is that we lack a util-linux package, and thus there is no mount command so the disk image stays read-only after boot. You’ll see lots of errors like this at boot:

/init: line 16: mount: command not found
/init: line 19: mount: command not found
/init: line 20: mount: command not found

I hope to get that fixed soon.

There’s also no actual rpm command in the stage4, again because of a required dependency, and again that’s something that will be fixed real soon.

Many thanks go to David Abdurachmanov and Stefan O’Rear for their huge efforts building packages.

Notes:

[1] Because there is no systemd package yet, currently two extra files are added to the disk image which are not under the control of RPM: /init and /usr/bin/poweroff

[2] For real hardware, read this page

2 Comments

Filed under Uncategorized

Great list of Fedora riscv64 RPMs

Most of these were done by davidlt. The latest list is here. We’re getting close to having a referentially-complete RPM-built disk image.

acl-2.2.52-11.fc24.riscv64.rpm
attr-2.4.47-16.fc24.riscv64.rpm
bash-4.3.43-1.fc24.riscv64.rpm
bash-doc-4.3.43-1.fc24.riscv64.rpm
bc-1.06.95-16.fc24.riscv64.rpm
bison-3.0.4-4.fc25.riscv64.rpm
bison-devel-3.0.4-4.fc25.riscv64.rpm
bison-runtime-3.0.4-4.fc25.riscv64.rpm
bzip2-1.0.6-20.fc25.riscv64.rpm
bzip2-devel-1.0.6-20.fc25.riscv64.rpm
bzip2-libs-1.0.6-20.fc25.riscv64.rpm
bzip2-static-1.0.6-20.fc25.riscv64.rpm
chrpath-0.16-3.fc24.riscv64.rpm
coreutils-8.25-14.fc25.riscv64.rpm
coreutils-common-8.25-14.fc25.riscv64.rpm
coreutils-single-8.25-14.fc25.riscv64.rpm
cpio-2.12-3.fc24.riscv64.rpm
cracklib-2.9.6-3.fc24.riscv64.rpm
cracklib-devel-2.9.6-3.fc24.riscv64.rpm
cracklib-dicts-2.9.6-3.fc24.riscv64.rpm
dos2unix-7.3.4-1.fc24.riscv64.rpm
elfutils-0.166-2.fc24.riscv64.rpm
elfutils-devel-0.166-2.fc24.riscv64.rpm
elfutils-devel-static-0.166-2.fc24.riscv64.rpm
elfutils-libelf-0.166-2.fc24.riscv64.rpm
elfutils-libelf-devel-0.166-2.fc24.riscv64.rpm
elfutils-libelf-devel-static-0.166-2.fc24.riscv64.rpm
elfutils-libs-0.166-2.fc24.riscv64.rpm
expat-2.2.0-1.fc25.riscv64.rpm
expat-devel-2.2.0-1.fc25.riscv64.rpm
expat-static-2.2.0-1.fc25.riscv64.rpm
expect-5.45-22.fc24.riscv64.rpm
expect-devel-5.45-22.fc24.riscv64.rpm
expectk-5.45-22.fc24.riscv64.rpm
file-5.28-3.fc24.riscv64.rpm
file-devel-5.28-3.fc24.riscv64.rpm
file-libs-5.28-3.fc24.riscv64.rpm
filesystem-3.2-37.fc24.riscv64.rpm
findutils-4.6.0-7.fc24.riscv64.rpm
flex-2.6.0-2.fc25.riscv64.rpm
flex-devel-2.6.0-2.fc25.riscv64.rpm
flex-doc-2.6.0-2.fc25.riscv64.rpm
gawk-4.1.3-3.fc24.riscv64.rpm
gdbm-1.12-1.fc24.riscv64.rpm
gdbm-devel-1.12-1.fc24.riscv64.rpm
gmp-6.1.1-1.fc24.riscv64.rpm
gmp-c++-6.1.1-1.fc24.riscv64.rpm
gmp-devel-6.1.1-1.fc24.riscv64.rpm
gmp-static-6.1.1-1.fc24.riscv64.rpm
gperf-3.0.4-12.fc25.riscv64.rpm
grep-2.25-1.fc24.riscv64.rpm
gzip-1.8-1.fc24.riscv64.rpm
hostname-3.15-7.fc24.riscv64.rpm
info-6.1-3.fc24.riscv64.rpm
less-481-5.fc24.riscv64.rpm
libacl-2.2.52-11.fc24.riscv64.rpm
libacl-devel-2.2.52-11.fc24.riscv64.rpm
libattr-2.4.47-16.fc24.riscv64.rpm
libattr-devel-2.4.47-16.fc24.riscv64.rpm
libdb-5.3.28-14.fc24.riscv64.rpm
libdb-cxx-5.3.28-14.fc24.riscv64.rpm
libdb-cxx-devel-5.3.28-14.fc24.riscv64.rpm
libdb-devel-5.3.28-14.fc24.riscv64.rpm
libdb-devel-static-5.3.28-14.fc24.riscv64.rpm
libdb-sql-5.3.28-14.fc24.riscv64.rpm
libdb-sql-devel-5.3.28-14.fc24.riscv64.rpm
libdb-utils-5.3.28-14.fc24.riscv64.rpm
libedit-3.1-16.20160618cvs.fc24.riscv64.rpm
libedit-devel-3.1-16.20160618cvs.fc24.riscv64.rpm
libffi-3.1-9.fc24.riscv64.rpm
libffi-devel-3.1-9.fc24.riscv64.rpm
libsepol-2.5-9.fc25.riscv64.rpm
libsepol-devel-2.5-9.fc25.riscv64.rpm
libsepol-static-2.5-9.fc25.riscv64.rpm
libtool-2.4.6-11.fc24.riscv64.rpm
libtool-ltdl-2.4.6-11.fc24.riscv64.rpm
libtool-ltdl-devel-2.4.6-11.fc24.riscv64.rpm
libunistring-0.9.4-3.fc24.riscv64.rpm
libunistring-devel-0.9.4-3.fc24.riscv64.rpm
libutempter-1.1.6-8.fc24.riscv64.rpm
libutempter-devel-1.1.6-8.fc24.riscv64.rpm
libxml2-2.9.3-4.fc24.riscv64.rpm
libxml2-devel-2.9.3-4.fc24.riscv64.rpm
libxml2-static-2.9.3-4.fc24.riscv64.rpm
libxslt-1.1.28-13.fc24.riscv64.rpm
libxslt-devel-1.1.28-13.fc24.riscv64.rpm
lksctp-tools-1.0.16-5.fc24.riscv64.rpm
lksctp-tools-devel-1.0.16-5.fc24.riscv64.rpm
lksctp-tools-doc-1.0.16-5.fc24.riscv64.rpm
m4-1.4.17-9.fc25.riscv64.rpm
make-4.1-5.fc24.riscv64.rpm
make-devel-4.1-5.fc24.riscv64.rpm
nano-2.6.1-1.fc24.riscv64.rpm
ncurses-6.0-6.20160709.fc24.riscv64.rpm
ncurses-c++-libs-6.0-6.20160709.fc24.riscv64.rpm
ncurses-compat-libs-6.0-6.20160709.fc24.riscv64.rpm
ncurses-devel-6.0-6.20160709.fc24.riscv64.rpm
ncurses-libs-6.0-6.20160709.fc24.riscv64.rpm
ncurses-static-6.0-6.20160709.fc24.riscv64.rpm
nspr-4.12.0-1.fc24.riscv64.rpm
nspr-devel-4.12.0-1.fc24.riscv64.rpm
nss-3.25.0-6.fc24.riscv64.rpm
nss-devel-3.25.0-6.fc24.riscv64.rpm
nss-pkcs11-devel-3.25.0-6.fc24.riscv64.rpm
nss-softokn-3.25.0-3.fc24.riscv64.rpm
nss-softokn-devel-3.25.0-3.fc24.riscv64.rpm
nss-softokn-freebl-3.25.0-3.fc24.riscv64.rpm
nss-softokn-freebl-devel-3.25.0-3.fc24.riscv64.rpm
nss-sysinit-3.25.0-6.fc24.riscv64.rpm
nss-tools-3.25.0-6.fc24.riscv64.rpm
nss-util-3.25.0-2.fc24.riscv64.rpm
nss-util-devel-3.25.0-2.fc24.riscv64.rpm
openssl-1.0.2h-2.fc24.riscv64.rpm
openssl-devel-1.0.2h-2.fc24.riscv64.rpm
openssl-libs-1.0.2h-2.fc24.riscv64.rpm
openssl-perl-1.0.2h-2.fc24.riscv64.rpm
openssl-static-1.0.2h-2.fc24.riscv64.rpm
pcre-8.39-2.fc24.riscv64.rpm
pcre-cpp-8.39-2.fc24.riscv64.rpm
pcre-devel-8.39-2.fc24.riscv64.rpm
pcre-static-8.39-2.fc24.riscv64.rpm
pcre-tools-8.39-2.fc24.riscv64.rpm
pcre-utf16-8.39-2.fc24.riscv64.rpm
pcre-utf32-8.39-2.fc24.riscv64.rpm
perl-5.24.0-377.fc24.riscv64.rpm
perl-Compress-Raw-Bzip2-2.069-377.fc24.riscv64.rpm
perl-Compress-Raw-Zlib-2.069-377.fc24.riscv64.rpm
perl-core-5.24.0-377.fc24.riscv64.rpm
perl-Data-Dumper-2.160-377.fc24.riscv64.rpm
perl-DB_File-1.835-377.fc24.riscv64.rpm
perl-devel-5.24.0-377.fc24.riscv64.rpm
perl-Devel-Peek-1.23-377.fc24.riscv64.rpm
perl-Devel-PPPort-3.32-377.fc24.riscv64.rpm
perl-Digest-MD5-2.54-377.fc24.riscv64.rpm
perl-Digest-SHA-5.95-377.fc24.riscv64.rpm
perl-Encode-2.80-377.fc24.riscv64.rpm
perl-encoding-2.17-377.fc24.riscv64.rpm
perl-Errno-1.25-377.fc24.riscv64.rpm
perl-Filter-1.55-377.fc24.riscv64.rpm
perl-IO-1.36-377.fc24.riscv64.rpm
perl-IPC-SysV-2.06-377.fc24.riscv64.rpm
perl-libintl-1.24-3.fc24.riscv64.rpm
perl-libs-5.24.0-377.fc24.riscv64.rpm
perl-macros-5.24.0-377.fc24.riscv64.rpm
perl-Math-BigInt-FastCalc-0.40-377.fc24.riscv64.rpm
perl-MIME-Base64-3.15-377.fc24.riscv64.rpm
perl-PathTools-3.63-377.fc24.riscv64.rpm
perl-Scalar-List-Utils-1.42-377.fc24.riscv64.rpm
perl-Scalar-List-Utils-1.45-2.fc25.riscv64.rpm
perl-Socket-2.020-377.fc24.riscv64.rpm
perl-Storable-2.56-377.fc24.riscv64.rpm
perl-Sys-Syslog-0.33-377.fc24.riscv64.rpm
perl-tests-5.24.0-377.fc24.riscv64.rpm
perl-threads-2.07-377.fc24.riscv64.rpm
perl-threads-2.09-1.fc25.riscv64.rpm
perl-threads-shared-1.51-377.fc24.riscv64.rpm
perl-Time-HiRes-1.9733-377.fc24.riscv64.rpm
perl-Time-Piece-1.31-377.fc24.riscv64.rpm
perl-Unicode-Collate-1.14-377.fc24.riscv64.rpm
perl-Unicode-Normalize-1.25-377.fc24.riscv64.rpm
perl-XML-Parser-2.44-5.fc25.riscv64.rpm
pkgconfig-0.29.1-1.fc24.riscv64.rpm
popt-1.16-7.fc24.riscv64.rpm
popt-devel-1.16-7.fc24.riscv64.rpm
popt-static-1.16-7.fc24.riscv64.rpm
procps-ng-3.3.10-11.fc24.riscv64.rpm
procps-ng-devel-3.3.10-11.fc24.riscv64.rpm
psmisc-22.21-8.fc24.riscv64.rpm
python-2.7.12-3.fc24.riscv64.rpm
python-debug-2.7.12-3.fc24.riscv64.rpm
python-devel-2.7.12-3.fc24.riscv64.rpm
python-libs-2.7.12-3.fc24.riscv64.rpm
python-test-2.7.12-3.fc24.riscv64.rpm
python-tools-2.7.12-3.fc24.riscv64.rpm
readline-6.3-8.fc24.riscv64.rpm
readline-devel-6.3-8.fc24.riscv64.rpm
readline-static-6.3-8.fc24.riscv64.rpm
sed-4.2.2-15.fc24.riscv64.rpm
sharutils-4.15.2-4.fc24.riscv64.rpm
sqlite-3.13.0-1.fc24.riscv64.rpm
sqlite-devel-3.13.0-1.fc24.riscv64.rpm
sqlite-libs-3.13.0-1.fc24.riscv64.rpm
strace-4.13-1.fc24.riscv64.rpm
tar-1.29-1.fc24.riscv64.rpm
tcl-8.6.6-1.fc24.riscv64.rpm
tcl-devel-8.6.6-1.fc24.riscv64.rpm
texinfo-6.1-3.fc24.riscv64.rpm
texinfo-tex-6.1-3.fc24.riscv64.rpm
tkinter-2.7.12-3.fc24.riscv64.rpm
unzip-6.0-30.fc24.riscv64.rpm
ustr-1.0.4-21.fc24.riscv64.rpm
ustr-debug-1.0.4-21.fc24.riscv64.rpm
ustr-debug-static-1.0.4-21.fc24.riscv64.rpm
ustr-devel-1.0.4-21.fc24.riscv64.rpm
ustr-static-1.0.4-21.fc24.riscv64.rpm
xz-5.2.2-2.fc25.riscv64.rpm
xz-devel-5.2.2-2.fc25.riscv64.rpm
xz-libs-5.2.2-2.fc25.riscv64.rpm
xz-lzma-compat-5.2.2-2.fc25.riscv64.rpm
xz-static-5.2.2-2.fc25.riscv64.rpm
zip-3.0-16.fc24.riscv64.rpm
zlib-1.2.8-10.fc25.1.riscv64.rpm
zlib-devel-1.2.8-10.fc25.1.riscv64.rpm
zlib-static-1.2.8-10.fc25.1.riscv64.rpm

Leave a comment

Filed under Uncategorized