QEMU
Jason Bacon
bacon4000 at gmail.com
Sat Feb 23 13:49:08 UTC 2019
On 7/21/18 1:06 PM, Jason Bacon wrote:
> On 7/19/18 4:32 PM, Jason Bacon wrote:
>> On 07/19/18 14:09, Chuck Tuffli wrote:
>>> On Thu, Jul 12, 2018 at 8:09 AM, Jason Bacon <bacon4000 at gmail.com>
>>> wrote:
>>>> FYI, I get the exact same behavior under qemu 2.8.1 on Debian.
>>>>
>>>> So now we have similar symptoms in qemu 2.8.1, 2.9, and 2.12.50 on
>>>> FreeBSD
>>>> and Linux hosts.
>>> FWIW, on an Ubuntu 14.04 system with qemu-system-ppc64 version 2.0.0,
>>> the ppc64 snapshot ISO of 12.0, the OS appears to install correctly
>>> and subsequently boots correctly.
>>>
>>> --chuck
>> That's worth a lot, actually.
>>
>> The 12.0 snapshot also works on my FreeBSD 11.1 host with the stock
>> qemu package. Both keyboard and mouse input are processed.
>>
>> Interestingly, though, while 12.0 works, it seems to be a lot slower
>> than 11.1 under qemu. Below are times to get to the install screen.
>> ( I just close the qemu window as soon as it reaches that point,
>> where 11.1 won't accept keyboard input. )
>>
>> FreeBSD cray.acadix bacon ~ 999: time qemu-ppc install
>> freebsd-ppc.img
>> FreeBSD-12.0-CURRENT-powerpc-powerpc64-20180709-r336134-disc1.iso
>> + [ ! -e freebsd-ppc.img ]
>> + qemu-system-ppc64 -cdrom
>> FreeBSD-12.0-CURRENT-powerpc-powerpc64-20180709-r336134-disc1.iso
>> -drive 'file=freebsd-ppc.img,format=raw' -boot d
>> 217.327u 3.455s 4:21.41 84.4% 9628+6292k 94+2io 476pf+0w
>>
>>
>> FreeBSD cray.acadix bacon ~ 1000: time qemu-ppc install
>> freebsd-ppc.img Save/FreeBSD-11.1-RELEASE-powerpc-powerpc64-disc1.iso
>> + [ ! -e freebsd-ppc.img ]
>> + qemu-system-ppc64 -cdrom
>> Save/FreeBSD-11.1-RELEASE-powerpc-powerpc64-disc1.iso -drive
>> 'file=freebsd-ppc.img,format=raw' -boot d
>> 123.001u 1.748s 2:47.05 74.6% 9643+6302k 556+3io 0pf+0w
>>
>> Maybe these data will provide some clues to the ppc base developers...
>>
> I'm getting "lock order reversal" errors followed by stack traces when
> running portsnap. Bleeding-edge 12.0 issue?
>
Poked around at this a bit more and found a workaround. It seems
FreeBSD doesn't support the latest default PPC machine in qemu.
Available options are listed below. After switching from the default
pseries-2.6 to pseries-2.5, FreeBSD 12.0 works flawlessly.
I attached a script I'm using to install and then boot the VM.
So now there's an easy way to test/fix ports for PPC64. Runs about as
fast as a 486, but that's fine since we can install dependencies via
"pkg install" to reduce build time.
FreeBSD cray.acadix bacon ~ 1010: qemu-system-ppc -machine help
Supported machines are:
bamboo bamboo
g3beige Heathrow based PowerMAC (default)
mac99 Mac99 based PowerMAC
mpc8544ds mpc8544ds
none empty machine
ppce500 generic paravirt e500 platform
prep PowerPC PREP platform
ref405ep ref405ep
taihu taihu
virtex-ml507 Xilinx Virtex ML507 reference design
FreeBSD cray.acadix bacon ~ 1011: qemu-system-ppc64 -machine help
Supported machines are:
bamboo bamboo
g3beige Heathrow based PowerMAC
mac99 Mac99 based PowerMAC
mpc8544ds mpc8544ds
none empty machine
ppce500 generic paravirt e500 platform
prep PowerPC PREP platform
pseries-2.1 pSeries Logical Partition (PAPR compliant)
pseries-2.2 pSeries Logical Partition (PAPR compliant)
pseries-2.3 pSeries Logical Partition (PAPR compliant)
pseries-2.4 pSeries Logical Partition (PAPR compliant)
pseries-2.5 pSeries Logical Partition (PAPR compliant)
pseries pSeries Logical Partition (PAPR compliant) (alias
of pseries-2.6)
pseries-2.6 pSeries Logical Partition (PAPR compliant) (default)
ref405ep ref405ep
taihu taihu
virtex-ml507 Xilinx Virtex ML507 reference design
--
Earth is a beta site.
-------------- next part --------------
#!/bin/sh -e
##########################################################################
# Script description:
# Install/boot FreeBSD-powerpc on qemu
#
# History:
# Date Name Modification
# 2018-07-07 Jason Bacon Begin
#
# https://wiki.freebsd.org/QemuRecipes
##########################################################################
usage()
{
printf "Usage: $0 install|boot disk-image raw|qcow2 [cd-image]\n"
exit 1
}
##########################################################################
# Main
##########################################################################
if [ $# -lt 3 ]; then
usage
fi
cmd=$1
diskimage=$2
format=$3
case $cmd in
install)
cdimage=$4
set -x
if [ ! -e $diskimage ]; then
qemu-img create -f $format $diskimage 20g
fi
# qemu-system-ppc64 -nographic
# qemu-system-ppc64 -m 2048 -machine pseries-2.5
qemu-system-ppc64 -machine pseries-2.5 \
-cdrom $cdimage -drive file=$diskimage,format=$format \
-boot d
;;
boot)
qemu-system-ppc64 -m 2048 -machine pseries-2.5 \
-drive file=$diskimage,format=$format -boot c
;;
*)
usage
;;
esac
More information about the freebsd-ppc
mailing list