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