Re: Hang while trying to boot armv7 on qemu-system-arm

From: Alexey Dokuchaev <danfe_at_freebsd.org>
Date: Mon, 16 May 2022 13:20:54 UTC
On Mon, May 16, 2022 at 11:20:22AM +0200, Emmanuel Vadot wrote:
> On Mon, 16 May 2022 09:11:05 +0000 Alexey Dokuchaev wrote:
> > > ...
> > > Hit [Enter] to boot immediately, or any other key for command prompt.
> > > Booting [/boot/kernel/kernel]...
> > > Using DTB provided by EFI at 0x47dfd000.
> > > Kernel entry at 0x57e00180...
> > > Kernel args: (null)
> > 
> > I've just tried following the same wiki recipe with GENERICSD images
> > for 12.3 and 13.1-RC4, with the same outcome, regardless of the QEMU
> > version.  How to proceed from here?  Is wiki recipe missing important
> > details?  If it works for someone, could you guys share exact versions
> > of QEMU, U-Boot, FreeBSD version and image type you're using?  Thanks,
> 
> GENERICSD doesn't have the QEMU u-boot.

Hmm, interestingly, `sysutils/u-boot-qemu-arm/pkg-descr' doesn't mention
this, and suggests that

  $ qemu-system-arm -M virt -m 512m -nographic \
  -bios /usr/local/share/u-boot/u-boot-qemu-arm/u-boot.bin \
  -hda FreeBSD-13.0-CURRENT-arm-armv7-GENERICSD-20200409-r359731.img

should be enough to boot the GENERICSD image in QEMU.  Had something
changed from 20200409 to present days?  Side question: why the same
u-boot.bin file has to be baked inside the image and passed via -bios
argument?

> We cannot add it as it have the same name than the u-boot file for
> RPI-B.
> So what you need to do is to pkg install u-boot-qemu-arm and copy the
> u-boot.bin from there in the image.

Okay, so I've mdconfig'ed the image, mounted -t msdosfs /dev/md0s1, and
copied /usr/local/share/u-boot/u-boot-qemu-arm/u-boot.bin onto it, but
this didn't fix the boot for me.  Is there anything else needed, like
config.txt file or something?

On a larger scale, can you or other folks with sufficient ARM knowledge
update relevant ports' descriptions, wiki recipes, and other doc bits
on how to reliably get working FreeBSD/arm with QEMU in 2022?  Thanks.

./danfe