qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] Q35, Mac OS X, and the War On Entropy
@ 2012-12-19 19:32 Gabriel L. Somlo
  2012-12-19 20:18 ` Jason Baron
  2012-12-20  7:12 ` Gerd Hoffmann
  0 siblings, 2 replies; 4+ messages in thread
From: Gabriel L. Somlo @ 2012-12-19 19:32 UTC (permalink / raw)
  To: qemu-devel; +Cc: rene, jbaron, kraxel, agraf

Hi,

I'm working on getting OS X to run on KVM, and the latest
q35-qemu tree from GitHub, plus additionally applied commit
40862309a9d733cb0e878c79f477de003897b5d2 from mainline works
great, with the following command line:

bin/qemu-system-x86_64 -enable-kvm -m 2048 -cpu core2duo \
  -M q35 -L seabios-mac/out -kernel ./chameleon_2.0_boot \
  -usb -device usb-kbd -device usb-mouse \
  -device isa-applesmc,osk="..." \
  -device ide-drive,bus=ide.0,drive=MacHDD \
  -drive id=MacHDD,if=none,snapshot=on,file=./mac_10.6.img


However, current mainline QEMU git master does not. I need a
slightly modified command line to even start (had to add
"-L share/qemu" as a fallback bios path to avoid "could not
open option rom ..." errors):

bin/qemu-system-x86_64 -enable-kvm -m 2048 -cpu core2duo \
  -M q35 -L seabios-mac/out -L share/qemu -kernel ./chameleon_2.0_boot \
  -usb -device usb-kbd -device usb-mouse \
  -device isa-applesmc,osk="..." \
  -device ide-drive,bus=ide.0,drive=MacHDD \
  -drive id=MacHDD,if=none,snapshot=on,file=./mac_10.6.img

This seems to be equivalent: 

bin/qemu-system-x86_64 -enable-kvm -m 2048 -cpu core2duo \
  -M q35 -bios bios-mac.bin -kernel ./chameleon_2.0_boot \
  -usb -device usb-kbd -device usb-mouse \
  -device isa-applesmc,osk="..." \
  -device ide-drive,bus=ide.0,drive=MacHDD \
  -drive id=MacHDD,if=none,snapshot=on,file=./mac_10.6.img

(I use the latest SeaBIOS git plus this patch:
http://www.contrib.andrew.cmu.edu/~somlo/OSXKVM/seabios-mac-20121206.patch
for all examples, working *and* non-working).

With mainline and -M q35, OS X gives me:

"Waiting for boot volume with UUID ..."

and

"Still waiting for root device"

I don't know if there's a way to do a bisect across the two different
trees, and I couldn't find a working "-M q35" state in mainline to begin
bisecting from there. I get the above errors immediately after commits
df2d8b3ed4d2b6406335d274f9537d78ac4e3c0c,
a1c9304683161a68c1fc1d9c3bc174ec8e26a61a, and
21bcfdd9a43041720f9370831c694bcb2e11eea4
where -M q35 was added to mainline...

BTW, leaving out "-M q35" in mainline still seems to work fine (if I
explicitly add "-device ahci,id=ide" instead...

Between the working GitHub -M q35 and the non-working mainline -M q35,
"dev: ich9-ahci" from "info qtree" looks identical, save for the
"dev: ide-drive" version under ide.0 (1.3.50 on github vs. 1.2.50 in
mainline). Not sure if that's even relevant...

Any advice as to what else I could do to narrow it down further would be
appreciated !

Thanks,
--Gabriel

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Qemu-devel] Q35, Mac OS X, and the War On Entropy
  2012-12-19 19:32 [Qemu-devel] Q35, Mac OS X, and the War On Entropy Gabriel L. Somlo
@ 2012-12-19 20:18 ` Jason Baron
  2012-12-19 20:34   ` Gabriel L. Somlo
  2012-12-20  7:12 ` Gerd Hoffmann
  1 sibling, 1 reply; 4+ messages in thread
From: Jason Baron @ 2012-12-19 20:18 UTC (permalink / raw)
  To: Gabriel L. Somlo; +Cc: agraf, rene, qemu-devel, kraxel

On Wed, Dec 19, 2012 at 02:32:42PM -0500, Gabriel L. Somlo wrote:
> Hi,
> 
> I'm working on getting OS X to run on KVM, and the latest
> q35-qemu tree from GitHub, plus additionally applied commit
> 40862309a9d733cb0e878c79f477de003897b5d2 from mainline works
> great, with the following command line:
> 
> bin/qemu-system-x86_64 -enable-kvm -m 2048 -cpu core2duo \
>   -M q35 -L seabios-mac/out -kernel ./chameleon_2.0_boot \
>   -usb -device usb-kbd -device usb-mouse \
>   -device isa-applesmc,osk="..." \
>   -device ide-drive,bus=ide.0,drive=MacHDD \
>   -drive id=MacHDD,if=none,snapshot=on,file=./mac_10.6.img
> 
> 
> However, current mainline QEMU git master does not. I need a
> slightly modified command line to even start (had to add
> "-L share/qemu" as a fallback bios path to avoid "could not
> open option rom ..." errors):
> 
> bin/qemu-system-x86_64 -enable-kvm -m 2048 -cpu core2duo \
>   -M q35 -L seabios-mac/out -L share/qemu -kernel ./chameleon_2.0_boot \
>   -usb -device usb-kbd -device usb-mouse \
>   -device isa-applesmc,osk="..." \
>   -device ide-drive,bus=ide.0,drive=MacHDD \
>   -drive id=MacHDD,if=none,snapshot=on,file=./mac_10.6.img
> 
> This seems to be equivalent: 
> 
> bin/qemu-system-x86_64 -enable-kvm -m 2048 -cpu core2duo \
>   -M q35 -bios bios-mac.bin -kernel ./chameleon_2.0_boot \
>   -usb -device usb-kbd -device usb-mouse \
>   -device isa-applesmc,osk="..." \
>   -device ide-drive,bus=ide.0,drive=MacHDD \
>   -drive id=MacHDD,if=none,snapshot=on,file=./mac_10.6.img
> 
> (I use the latest SeaBIOS git plus this patch:
> http://www.contrib.andrew.cmu.edu/~somlo/OSXKVM/seabios-mac-20121206.patch
> for all examples, working *and* non-working).
> 
> With mainline and -M q35, OS X gives me:
> 
> "Waiting for boot volume with UUID ..."
> 
> and
> 
> "Still waiting for root device"
> 
> I don't know if there's a way to do a bisect across the two different
> trees, and I couldn't find a working "-M q35" state in mainline to begin
> bisecting from there. I get the above errors immediately after commits
> df2d8b3ed4d2b6406335d274f9537d78ac4e3c0c,
> a1c9304683161a68c1fc1d9c3bc174ec8e26a61a, and
> 21bcfdd9a43041720f9370831c694bcb2e11eea4
> where -M q35 was added to mainline...
> 
> BTW, leaving out "-M q35" in mainline still seems to work fine (if I
> explicitly add "-device ahci,id=ide" instead...
> 
> Between the working GitHub -M q35 and the non-working mainline -M q35,
> "dev: ich9-ahci" from "info qtree" looks identical, save for the
> "dev: ide-drive" version under ide.0 (1.3.50 on github vs. 1.2.50 in
> mainline). Not sure if that's even relevant...
> 
> Any advice as to what else I could do to narrow it down further would be
> appreciated !
> 
> Thanks,
> --Gabriel

I think you are missing:

-acpitable file=<seabios>/out/q35-acpi-dsdt.aml

Thanks,

-Jason

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Qemu-devel] Q35, Mac OS X, and the War On Entropy
  2012-12-19 20:18 ` Jason Baron
@ 2012-12-19 20:34   ` Gabriel L. Somlo
  0 siblings, 0 replies; 4+ messages in thread
From: Gabriel L. Somlo @ 2012-12-19 20:34 UTC (permalink / raw)
  To: Jason Baron; +Cc: agraf, rene, qemu-devel, kraxel

On Wed, Dec 19, 2012 at 03:18:43PM -0500, Jason Baron wrote:
> I think you are missing:
> 
> -acpitable file=<seabios>/out/q35-acpi-dsdt.aml

Indeed, that made all the difference !

Thanks much,
--Gabriel

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Qemu-devel] Q35, Mac OS X, and the War On Entropy
  2012-12-19 19:32 [Qemu-devel] Q35, Mac OS X, and the War On Entropy Gabriel L. Somlo
  2012-12-19 20:18 ` Jason Baron
@ 2012-12-20  7:12 ` Gerd Hoffmann
  1 sibling, 0 replies; 4+ messages in thread
From: Gerd Hoffmann @ 2012-12-20  7:12 UTC (permalink / raw)
  To: Gabriel L. Somlo; +Cc: rene, jbaron, qemu-devel, agraf

  Hi,

> However, current mainline QEMU git master does not. I need a
> slightly modified command line to even start (had to add
> "-L share/qemu" as a fallback bios path to avoid "could not
> open option rom ..." errors):

Try merging "git.kraxel.org/qemu acpi.1"

Without that you have to explicitly specify the acpi table in mainline.

cheers,
  Gerd

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2012-12-20  7:13 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-12-19 19:32 [Qemu-devel] Q35, Mac OS X, and the War On Entropy Gabriel L. Somlo
2012-12-19 20:18 ` Jason Baron
2012-12-19 20:34   ` Gabriel L. Somlo
2012-12-20  7:12 ` Gerd Hoffmann

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).