Re: QEMU

Jason Bacon <[email protected]>
Newsgroups gmane.os.freebsd.devel.ppc
Message-ID <[email protected]>
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 <[email protected]> 
>>> 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.

_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-ppc
To unsubscribe, send any mail to "[email protected]"
qemu-ppc64 (text/plain, 1.1 KB)
#!/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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.