From Fedora Project Wiki

(Create test case)
 
(Add virt-manager steps)
Line 11: Line 11:
 
* <code>wget http://releases.linaro.org/14.07/openembedded/aarch64/vexpress64-openembedded_lamp-armv8-gcc-4.9_20140727-682.img.gz</code>
 
* <code>wget http://releases.linaro.org/14.07/openembedded/aarch64/vexpress64-openembedded_lamp-armv8-gcc-4.9_20140727-682.img.gz</code>
 
* <code>wget http://releases.linaro.org/14.07/openembedded/aarch64/Image</code>
 
* <code>wget http://releases.linaro.org/14.07/openembedded/aarch64/Image</code>
* <code>unar vexpress64-openembedded_lamp-armv8-gcc-4.9_20140727-682.img.gz</code>
+
* <code>unar vexpress64-openembedded_lamp-armv8-gcc-4.9_20140727-682.img.gz -o /var/lib/libvirt/images</code>
 +
* <code>sudo mv Image /var/lib/libvirt/images/linaro-aarch64-kernel
 +
* <code>sudo yum install qemu-system-aarch64</code>
  
 
|actions=
 
|actions=
{{admon/warning | This currently doesn't work | Libvirt chokes on the --cpu specification, which is needed for the VM to boot correctly. Bug or fix forthcoming}}
+
{{admon/note | Latest libvirt and virt-manager are required | You'll need libvirt-1.2.8-5 and virt-manager-1.1.0-3 at least}}
 +
 
 +
=== Import with virt-manager ===
 +
 
 +
* Start virt-manager, connect to 'QEMU', click the 'New VM' icon
 +
* On the first page, under 'Architecture Options' select 'aarch64'. The 'virt' machine type should be selected automatically
 +
* Select the 'Import install' option, go to the next page
 +
* Browse to the disk image and kernel we moved in the previous step.
 +
* Set kernel args as: <code>root=/dev/vda2 rw rootwait console=ttyAMA0</code>
 +
* Continue with the OS defaults, complete the install.
 +
* The guest should shortly start booting, and you should see text console output. After a bit of a wait, it should drop you into a root prompt.
  
 
=== Import with virt-install ===
 
=== Import with virt-install ===
 +
 +
Here's the command:
  
 
<pre>
 
<pre>
 
sudo virt-install \
 
sudo virt-install \
     --name aarch64-vm --ram 1024 --import \
+
     --name aarch64-vm --ram 1024 --arch aarch64 --import \
     --cpu cortex-a57 --arch aarch64 \
+
     --boot kernel=/var/lib/libvirt/images/linaro-aarch64-kernel,extra_args="root=/dev/vda2 rw rootwait console=ttyAMA0" \
    --boot machine=virt,kernel=Image,extra_args="root=/dev/vda2 rw rootwait mem=1024M console=ttyAMA0" \
+
     --disk /var/lib/libvirt/images/vexpress64-openembedded_lamp-armv8-gcc-4.9_20140727-682.img
     --disk vexpress64-openembedded_lamp-armv8-gcc-4.9_20140727-682.img,bus=virtio \
 
    --network default,model=virtio
 
 
</pre>
 
</pre>
  

Revision as of 21:09, 23 September 2014

Description

Run an AArch64 (ARM 64) disk image as a VM on your x86 machine.

Setup

Get the media

Note.png
Fedora AArch64 images are not yet supported
Fedora's AArch64 preview images expect to be run on UEFI, which is still under development for ARM/AArch64 virt usage

We will use some images from Linaro for this test:

How to test

Note.png
Latest libvirt and virt-manager are required
You'll need libvirt-1.2.8-5 and virt-manager-1.1.0-3 at least

Import with virt-manager

  • Start virt-manager, connect to 'QEMU', click the 'New VM' icon
  • On the first page, under 'Architecture Options' select 'aarch64'. The 'virt' machine type should be selected automatically
  • Select the 'Import install' option, go to the next page
  • Browse to the disk image and kernel we moved in the previous step.
  • Set kernel args as: root=/dev/vda2 rw rootwait console=ttyAMA0
  • Continue with the OS defaults, complete the install.
  • The guest should shortly start booting, and you should see text console output. After a bit of a wait, it should drop you into a root prompt.

Import with virt-install

Here's the command:

sudo virt-install \
     --name aarch64-vm --ram 1024 --arch aarch64 --import \
     --boot kernel=/var/lib/libvirt/images/linaro-aarch64-kernel,extra_args="root=/dev/vda2 rw rootwait console=ttyAMA0" \
     --disk /var/lib/libvirt/images/vexpress64-openembedded_lamp-armv8-gcc-4.9_20140727-682.img

Expected Results

Guest starts fine, seems usable.