On Wed, Mar 14, 2018 at 12:09:40PM +0100, Bruno Haible wrote: > Hi Richard, > > > Platform: riscv64-unknown-linux-gnu > > gnulib @ db0b059ae4f489d0c83b785b259eb965a181d0d0 (yesterday) > > Prompted by your mail, I'm trying to run a Linux/riscv64 machine in a qemu > VM, in order to look at the gnulib problems and port GNU libffcall and other > software. According to [1], I'm using qemu built from upstream qemu today with > options > > --target-list=riscv32-softmmu,riscv64-softmmu,riscv32-linux-user,riscv64-linux-user > According to [2], I'm taking your disk image and running it as > > qemu-system-riscv64 \ > -nographic -machine virt -m 2G -smp 4 \ > -kernel bbl \ > -append "console=ttyS0 ro root=/dev/vda init=/init" \ > -device virtio-blk-device,drive=hd0 \ > -drive file=stage4-disk.img,format=raw,id=hd0 \ > -device virtio-net-device,netdev=usernet \ > -netdev user,id=usernet
This command line is slightly different from the one we're using. See the readme.txt file here for details which are known to work: https://fedorapeople.org/groups/risc-v/disk-images/ However the main problem is it cannot find systemd on the root filesystem: > and it fails like this: > > EXT4-fs (vda): couldn't mount as ext3 due to feature incompatibilities > EXT4-fs (vda): couldn't mount as ext2 due to feature incompatibilities > EXT4-fs (vda): mounted filesystem with ordered data mode. Opts: (null) > VFS: Mounted root (ext4 filesystem) readonly on device 254:0. > Freeing unused kernel memory: 200K > This architecture does not have kernel memory protection. > Kernel panic - not syncing: Requested init /init failed (error -2). Are you using our bbl (bootloader + kernel)? Are you using our latest stage4-disk.img, uncompressed? 2a4a27c97e31c9fc78b3b8108067ef58 stage4-disk.img a0aa455d5b84fd7c41e97043279bc3df bbl I've not actually tried upstream qemu yet, we're still using: https://github.com/riscv/riscv-qemu/tree/qemu-upstream-v8 Also we have one extra patch which is not included in any tree yet: https://github.com/rwmjones/fedora-riscv-bootstrap/blob/master/stage1-riscv-qemu/force-float-save.patch But as far as I know upstream qemu should work fine. I'll try it now ... > The message "This architecture does not have kernel memory protection." seems > to indicate some differences between the qemu you are using and the official > upstream one. Can you help, please? Apparently this message can be ignored. Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Read my programming and virtualization blog: http://rwmj.wordpress.com libguestfs lets you edit virtual machines. Supports shell scripting, bindings from many languages. http://libguestfs.org