Date: Tue, 27 Dec 2016 13:48:16 -0800 From: Jason Harmening <jason.harmening@gmail.com> To: freebsd-arm@freebsd.org Subject: loading 'VIRT' kernel in qemu Message-ID: <CAM=8qa=pSRphmsbvy1L7fgPFDDK4xhozfrr3tj5fojd8w7fFjg@mail.gmail.com>
next in thread | raw e-mail | index | archive | help
Hi everyone, I'm making some tweaks to the armv6 pmap to mirror some recent i386 changes. I don't have arm hardware readily available, so I thought I'd give qemu a whirl instead of asking other people to test my changes for me. Since I need SMP but don't need any specific peripheral hw, the 'VIRT' kernel seems like my best bet. I've successfully booted mips[64] under qemu, so naively starting out w/ the same steps I use for mips: 1). build armv6 world and VIRT kernel, install world to temp directory 2). use makefs(8) to build a 4GB (little endian) fs image from temp dir 3). Run qemu: qemu-system-arm -M virt -kernel <VIRT kernel binary> -hda <fs image> -nographic -m 1024 ...fails immediately: qemu: fatal: Trying to execute code outside RAM or ROM at 0xc1000100 R00=00000000 R01=00000000 R02=00000000 R03=00000000 R04=00000000 R05=00000000 R06=00000000 R07=00000000 R08=00000000 R09=00000000 R10=00000000 R11=00000000 R12=00000000 R13=00000000 R14=00000000 R15=c1000100 hmm, looks pretty close to KERNVIRTADDR. Most online docs for qemu-system-arm seem to assume a prebuilt linux kernel and initrd, the rest are...fragmented-to-nonexistent. I've seen a few hints that I might need to wrap the kernel image up along w/ u-boot, but the u-boot images seem to be very SoC-specific. Any help would be much appreciated, sorry for the n00b question. Thanks, Jason
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAM=8qa=pSRphmsbvy1L7fgPFDDK4xhozfrr3tj5fojd8w7fFjg>