Booting Fedora 19 ppc64 netinst under qemu on x86-64

My notes on getting the Fedora 19 ppc64 netinst image to boot under qemu on an x86-64 machine.

Note: I’ve no idea if this is a good way, or a recommended way, but it worked for me.

1. Prerequisites:

I’m using Fedora 19 on the host. Note qemu-1.4 in Fedora does not work. I’m not using libvirt to manage the guest, although it’d be nice to get this working one day.

2. Compile qemu-system-ppc64 from upstream git.

3. Create an empty hard disk to store the guest:

# lvcreate -L 16G -n f20ppc64 /dev/fedora

or use truncate or qemu-img create.

4. Boot the netinst ISO using this qemu command line:

$ ./ppc64-softmmu/qemu-system-ppc64 \
    -cpu POWER7 \
    -machine pseries \
    -m 2048 \
    -hda /dev/fedora/f20ppc64 \
    -cdrom Fedora-19-ppc64-netinst.iso \
    -netdev user,id=usernet,net=169.254.0.0/16 \
    -device virtio-net-pci,netdev=usernet

5. You should get to the yaboot prompt.

There seems to be a rendering bug with graphics (X) in the qemu console. Anaconda was obviously running, but no drawing was happening in X, making it impossible to start the install. Oddly the exact same thing happened with VNC. Therefore I used a text-mode install:

boot: linux text

6. That should boot into the textual Anaconda installer.

If it gets stuck at returning from prom_init (and you should wait a minute or two to ensure it’s really stuck) then the problem is broken qemu, or you’re using the wrong CPU/machine type, or you’re trying to use a 64 bit kernel on 32 bit qemu.

QEMU tip: Use [Ctrl] [Alt] 2 to switch to the monitor. Use the monitor command sendkey ctrl-alt-f1 to send keycodes to the guest. Use [Ctrl] [Alt] 1 to switch back to the guest console.

tmux tip: Use [Ctrl] b [1-5] to switch between tmux windows.

1 Comment

Filed under Uncategorized

One response to “Booting Fedora 19 ppc64 netinst under qemu on x86-64

  1. Corey

    For me, using a qemu-system-ppc64 built from the git tree as of about a week ago, this gets quite a ways, but finally fails while installing one of the packages. I tried this twice and the result was the same. Oh well, I guess qemu is still evolving.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s