Re: some QEMU success in running armv7
- Reply: Warner Losh : "Re: some QEMU success in running armv7"
- In reply to: Thomas David Rivers : "some QEMU success in running armv7"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 19 May 2023 07:45:17 UTC
Nice review. infortunately kvm does not work ? and a qemu vm without kvm is very slow and useless. Il ven 19 mag 2023, 04:49 Thomas David Rivers <rivers@dignus.com> ha scritto: > > Just f.y.i. - here's the steps I was able to deduce today > to get FreeBSD armv7 running under qemu... just in case > someone goes looking for this... (I was doing this on a > FreeBSD 12.3-RELEASE x86_64 system.) > > > 1. Retrieve the armv7 image from: > fetch > https://download.freebsd.org/releases/arm/armv7/ISO-IMAGES/13.2/FreeBSD-13.2-RELEASE-arm-armv7-GENERICSD.img.xz > and unzip it. This is an actual hard-drive image of a working > system. > > 2. Assuming the qemu port has been installed - this command > starts that system > > qemu-system-arm -M virt -m 512m -nographic \ > -bios edk2-arm-code.fd \ > -hda FreeBSD-13.2-RELEASE-arm-armv7-GENERICSD.img > > the existing terminal will be the console. There is no > networking. > > There root user's password is 'root'. > > Unfortunately this doesn't provide networking in the guest. This > compilation of QEMU also doesn't support the "-netdev user" mode > of networking so I can't take advantage of that. (The FreeBSD 12.3 > host is using QEMU emulator version 7.2.0 - from just the pkg > install.) However, I found that using this option on qemu: > > -nic tap,ifname=tap7,script=no,downscript=no > > got it to use the tap interface on the host to emulate the virtio > device to the guest. > > I also found this discussion regarding alignment issues in the > virtio driver in armv7: > > > https://forums.freebsd.org/threads/kernel-panic-on-armv7-with-qemu.89016/#post-610281 > > that resulted in PR 271288. Apparently it's because of newer versions > of QEMU doing a better job at reporting unaligned memory accesses in the > guest for the armv7 "ldm" instruction. > > When I use the tap interface, I did get the exact panic mentioned > in the forum and the PR. > > I did find that specifying the rtl8139 device worked around the panic > with the QEMU option: > > -nic tap,ifname=tap7,script=no,downscript=no,model=rtl8139 > > by the way - tap7 happens to be a tap device I'd already configured > on the host FreeBSD 12.3 system - if you're doing this yourself, > it will likely need to be a different tap device, see this > write-up for info about how to configure a tap + bridge on your > FreeBSD host: > > http://bsdwiki.reedmedia.net/wiki/networking_qemu_virtual_bsd_systems.html > > So - it seems a newer version of the armv7 kernel with the patch > applied will fix the virtio driver problem, until then, model=rtl8139 > works around it and I have networking and everything! > > - Dave R. - > > -- > rivers@dignus.com Work: (919) 676-0847 > Get your mainframe programming tools at http://www.dignus.com > >