From Fedora Project Wiki

< Architectures‎ | RISC-V

Revision as of 09:57, 11 September 2018 by Rjones (talk | contribs)

Download the latest disk image

Go to this link for the nightly builds and select the most recent (top) build. Look for the -sda.raw.xz file and download it. It will usually be quite large, around 200-300 MB.

Uncompress it:

$ unxz Fedora-Developer-Rawhide-xxxx.n.0-sda.raw.xz

Root password

riscv

Boot under qemu

You will need a very recent version of qemu. If in doubt, compile from upstream qemu sources.

Get bbl from here or compile it from source.

qemu-system-riscv64 \
    -nographic \
    -machine virt \
    -smp 4 \
    -m 2G \
    -kernel bbl \
    -object rng-random,filename=/dev/urandom,id=rng0 \
    -device virtio-rng-device,rng=rng0 \
    -append "console=ttyS0 ro root=/dev/vda1" \
    -device virtio-blk-device,drive=hd0 \
    -drive file=Fedora-Developer-Rawhide-xxxx.n.0-sda.raw,format=raw,id=hd0 \
    -device virtio-net-device,netdev=usernet \
    -netdev user,id=usernet,hostfwd=tcp::10000-:22

Boot with libvirt

Needs libvirt ≥ 4.7.0 which is the first version with upstream RISC-V support. You should be able to boot the disk image using a command similar to this:

# virt-install \
    --name fedora-riscv \
    --arch riscv64 \
    --machine virt \
    --vcpus 4 \
    --memory 2048 \
    --import \
    --disk path=/var/lib/libvirt/images/Fedora-Developer-Rawhide-xxxx.n.0-sda.raw,bus=virtio \
    --boot kernel=/var/lib/libvirt/images/bbl,kernel_args="console=ttyS0 ro root=/dev/vda1" \
    --network network=default,model=virtio \
    --rng device=/dev/urandom,model=virtio \
    --graphics none

Install on the HiFive Unleashed SD card

These are instructions for the HiFive Unleashed board.

The disk image (above) is partitioned, but usually we need an unpartitioned ("naked") filesystem. There are several ways to get this, but the easiest is:

$ guestfish -a Fedora-Developer-Rawhide-xxxx.n.0-sda.raw \
    run : download /dev/sda1 Fedora-Developer-Rawhide-xxxx.n.0-sda1.raw

This creates a naked ext4 filesystem called *-sda1.raw. The naked ext4 filesystem can be copied over the second partition of the SD card.

You can also build a custom bbl+kernel+initramfs to boot directly into the SD card using these sources.

Install on the HiFive Unleashed using NBD server

Look at https://github.com/rwmjones/fedora-riscv-kernel in the sifive_u540 branch. This is quite complex to set up so it's best to ask on the #fedora-riscv IRC channel.