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 not work with libvirt v5.3.0 (or above) with QEMU 4.0.0 (or above) as in this setup libvirt defaults to PCI for attaching all devices instead of MMIO. Use newer disk images, which contains requires changes in U-Boot. This image allows updating kernels via dnf + reboot. This image does not contain out-of-tree patches for SiFive Unleashed board. 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-20190506.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 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-20190506.n.0 (5.1.0-0.rc7.git4.1.1.riscv64.fc31.riscv64) kernel /uImage-5.1.0-0.rc7.git4.1.1.riscv64.fc31.riscv64 append ro root=UUID=629b7cbb-e5f9-4d6a-b686-c427bd20075f rhgb quiet LANG=en_US.UTF-8 initrd /uInitrd-5.1.0-0.rc7.git4.1.1.riscv64.fc31.riscv64 [..]