NOTES ===== This image introduces bootflow changes. We use now OpenSBI -> U-Boot (S-mode) [extlinux] -> kernel. The kernel and initramfs are wrapped in U-Boot container for now. This should change later this year once kernel header patches are merged in kernel and U-Boot. This image will work with libvirt v.5.3.0 (or above) and QEMU 4.0.0 (or above). Tested also with libvirt v5.4.0 and v5.5.0. This image allows updating kernels via dnf + reboot. This image does not contain out-of-tree patches for SiFive Unleashed board. This image is also available via virt-builder repository (not signed). For example: % virt-builder \ --source https://dl.fedoraproject.org/pub/alt/risc-v/repo/virt-builder-images/images/index \ --no-check-signature \ --arch riscv64 \ --size 20G \ --format qcow2 \ --hostname fedora1.builders.riscv.rocks \ fedora-rawhide-developer-20190703n0 See virt-builder man page for more information on how to customize disk images. The disk image contains two partitions: - sda1 (/boot) contains kernel, initramfs, extlinux configuration and firmware blobs. - sdta2 contains rootfs. % virt-filesystems --long -h --all -a Fedora-Developer-Rawhide-20190703.n.0-sda.raw Name Type VFS Label MBR Size Parent /dev/sda1 filesystem ext4 _/boot - 488M - /dev/sda2 filesystem ext4 _/ - 7.2G - /dev/sda1 partition - - - 488M /dev/sda /dev/sda2 partition - - - 7.2G /dev/sda /dev/sda device - - - 8.0G - To extract firmware blob install libguestfs-tools-c (Fedora/CentOS/RHEL), then: % mkdir a % guestmount -a $PWD/Fedora-Developer-Rawhide-*.raw -m /dev/sda1 $PWD/a % cp a/opensbi/unstable/fw_payload-uboot-qemu-virt-smode.elf . % guestunmount a Use `fw_payload-uboot-qemu-virt-smode.elf` instead of the kernel. libvirt (virt-instal): [..] --boot kernel=$PWD/fw_payload-uboot-qemu-virt-smode.elf \ [..] QEMU: [..] -kernel $PWD/fw_payload-uboot-qemu-virt-smode.elf \ [..] You do not need to specify bootargs, initramfs or actual kernel images. U-Boot will read /boot/extlinux/extlinux.conf (from sda1) to load that information. Record from extlinux.conf: [..] label Fedora-Developer-Rawhide-20190703.n.0 (5.2.0-0.rc7.git0.1.0.riscv64.fc31.riscv64) kernel /uImage-5.2.0-0.rc7.git0.1.0.riscv64.fc31.riscv64 append ro root=UUID=3b75927f-d59f-4b04-96ce-823ead0046bc rhgb quiet LANG=en_US.UTF-8 initrd /uInitrd-5.2.0-0.rc7.git0.1.0.riscv64.fc31.riscv64 [..]