You can now boot Fedora 25 for RISC-V in Fabrice Bellard’s RISCVEMU RISC-V emulator. Here’s how in four simple steps:
diskimage-linux-riscv64-XXX.tar.gz from Fabrice’s site.
- Download the latest stage 4 disk image for Fedora/RISC-V from here.
- Compile riscvemu. You should just need to do
- Run everything like this:
./riscvemu -b 64 ../diskimage-linux-riscv64-XXX/bbl.bin stage4-disk.img
If you’re going to do serious work inside the disk image then you’ll probably want to customize it with extra packages. See these instructions.
I wrote supernested a few years ago to see if I could break nested KVM. It works by repeatedly nesting KVM guests until either something breaks or the whole thing grinds to a halt. Even on my very fastest machine I can only get to an L4 guest (L0 = host, L1 = normal guest).
Kashyap and Thomas Huth resurrected the QEMU Advent Calendar this year, and today (day 13) supernested is featured.
Please note that supernested should only be run on idle machines which aren’t doing anything else, and it can crash the machine.
CentOS 7.3 was announced today, and the x86_64 version is available in virt-builder already:
$ virt-builder centos-7.3
$ virt-builder -l | grep fedora-25
fedora-25 x86_64 Fedora® 25 Server
fedora-25 i686 Fedora® 25 Server (i686)
fedora-25 aarch64 Fedora® 25 Server (aarch64)
fedora-25 armv7l Fedora® 25 Server (armv7l)
fedora-25 ppc64 Fedora® 25 Server (ppc64)
fedora-25 ppc64le Fedora® 25 Server (ppc64le)
$ virt-builder fedora-25
$ qemu-system-x86_64 -machine accel=kvm:tcg \
-cpu host -m 2048 \
Or to try out Fedora on a different architecture:
$ virt-builder fedora-25 --arch ppc64le -o fedora-25-ppc64le.img
$ qemu-system-ppc64 -cpu POWER8 -m 2048 \
$ file builder/virt-builder
builder/virt-builder: ELF 64-bit LSB executable, UCB RISC-V, version 1 (SYSV), dynamically linked, interpreter /lib/ld.so.1, for
GNU/Linux 2.6.32, BuildID[sha1]=184c9522f22abc5c325ac5a1ee2d272b225d5503, not stripped
Probably the least useful copy of virt-builder since there’s no qemu and no network. However it does demonstrate that we can now build large mixed C / OCaml binaries on RISC-V successfully.
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/
I was reading about JWZ’s awesome portrait serial terminal and wondering what would a serial terminal look like today if we could implement it using modern technology.
You could get a flat screen display and mount it in portrait mode. Most have VESA attachments, so it’s a matter of finding a nice portrait VESA stand.
To implement the terminal you could fix a Raspberry Pi or similar to the back of the screen. Could it be powered by the same PSU as the screen? Perhaps if the screen had a USB port.
For the keyboard you’d use a nice USB keyboard.
Of course there’s no reason these days to use an actual serial line, nor to limit ourselves to just a text display. Use wifi to link to the host computer. Use software to emulate an old orange DEC terminal, and X11 to display remote graphics.