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