From Fedora Project Wiki
m (Crobinso moved page QA:Testcase Virt x86 on ARM to QA:Testcase Virt ARM on x86: Misleading title) |
mNo edit summary |
||
(13 intermediate revisions by 3 users not shown) | |||
Line 2: | Line 2: | ||
|description= | |description= | ||
Run Fedora ARM VM on your x86 machine via libvirt + | Run Fedora ARM VM on your x86 machine via libvirt + QEMU. | ||
|setup= | |setup= | ||
Line 13: | Line 11: | ||
=== Get the media === | === Get the media === | ||
This is one way to do it and the paths are only relevant for | This is one way to do it and the paths are only relevant for F33 Minimal media. For some more info, see: [[Architectures/ARM/F28/Installation#For_Versatile_Express_Emulation_with_QEMU]] | ||
* Download the | * Download the latest arm disk image to $HOME:https://dl.fedoraproject.org/pub/fedora/linux/releases/33/Spins/armhfp/images/Fedora-Minimal-armhfp-33-1.2-sda.raw.xz | ||
* Extract the disk image: <code> | * Extract the disk image: <code>unxz Fedora-Minimal-armhfp-33-1.2-sda.raw.xz</code>. Delete the original compressed image | ||
* Install virt- | * Install virt-builder: <code>sudo dnf install libguestfs-tools-c</code> | ||
* | * Extract the kernel/initrd from the disk image: <code>virt-get-kernel -a Fedora-Minimal-armhfp-33-1.2-sda.raw</code> | ||
* | * Get kernel args for the the image <code>virt-cat -a Fedora-Minimal-armhfp-33-1.2-sda.raw /etc/extlinux.conf</code> | ||
* | * Copy the media to the the default libvirt image location: <code>sudo mv Fedora-Minimal-armhfp-33-1.2-sda.raw vmlinuz-*.armv7hl initramfs-*.armv7hl.img /var/lib/libvirt/images/</code> | ||
* Ensure qemu-system-arm is installed: <code>sudo dnf install qemu-system-arm</code> | |||
=== Create the VM with virt-manager === | === Create the VM with virt-manager === | ||
* Start virt-manager, connect to 'QEMU', click the 'New VM' icon | * Start virt-manager, connect to 'QEMU', click the 'New VM' icon | ||
* On the first page, under 'Architecture Options' select 'arm'. | * On the first page, under 'Architecture Options' select 'arm'. The 'virt-2.11' machine type needs to be selected for the VM to boot (BZ#1633328). | ||
* Select the 'Import install' option, go to the next page | * Select the 'Import install' option, go to the next page | ||
* Browse to the disk image, kernel, initrd | * Browse to the disk image, kernel, and initrd we moved in the previous step. | ||
* | * Use the output of the virt-cat command to set the kernel args or use the generic args: <code>console=ttyAMA0 rw root=LABEL=_/ rootwait</code> | ||
* Set the OS as Fedora | * Set the OS as Fedora 32. | ||
* Continue with the OS defaults, complete the install. | * 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 hit a text mode 'initial setup' where you can set a root password. | * The guest should shortly start booting, and you should see text console output. After a bit of a wait, it should hit a text mode 'initial setup' where you can set a root password. | ||
Line 41: | Line 38: | ||
<pre> | <pre> | ||
sudo virt-install \ | sudo virt-install \ | ||
--name | --name Fedora-Minimal-armhfp-33-1.2-sda.raw --ram 4096 --arch armv7l --machine virt-2.11 --os-variant fedora31 --import \ | ||
--arch armv7l --machine | --disk /var/lib/libvirt/images/Fedora-Minimal-armhfp-33-1.2-sda.raw \ | ||
-- | --boot kernel=/var/lib/libvirt/images/vmlinuz-5.8.15-301.fc33.armv7hl,initrd=/var/lib/libvirt/images/initramfs-5.8.15-301.fc33.armv7hl.img,kernel_args="console=ttyAMA0 rw root=LABEL=_/ rootwait" | ||
</pre> | </pre> | ||
|results= | |results= | ||
No obvious errors occur. | No obvious errors occur. | ||
}} | }} | ||
[[Category:Virtualization Test Cases]] | [[Category:Virtualization Test Cases]] |
Latest revision as of 19:15, 5 January 2021
Description
Run Fedora ARM VM on your x86 machine via libvirt + QEMU.
Setup
Functioning Fedora virt host.
How to test
Get the media
This is one way to do it and the paths are only relevant for F33 Minimal media. For some more info, see: Architectures/ARM/F28/Installation#For_Versatile_Express_Emulation_with_QEMU
- Download the latest arm disk image to $HOME:https://dl.fedoraproject.org/pub/fedora/linux/releases/33/Spins/armhfp/images/Fedora-Minimal-armhfp-33-1.2-sda.raw.xz
- Extract the disk image:
unxz Fedora-Minimal-armhfp-33-1.2-sda.raw.xz
. Delete the original compressed image - Install virt-builder:
sudo dnf install libguestfs-tools-c
- Extract the kernel/initrd from the disk image:
virt-get-kernel -a Fedora-Minimal-armhfp-33-1.2-sda.raw
- Get kernel args for the the image
virt-cat -a Fedora-Minimal-armhfp-33-1.2-sda.raw /etc/extlinux.conf
- Copy the media to the the default libvirt image location:
sudo mv Fedora-Minimal-armhfp-33-1.2-sda.raw vmlinuz-*.armv7hl initramfs-*.armv7hl.img /var/lib/libvirt/images/
- Ensure qemu-system-arm is installed:
sudo dnf install qemu-system-arm
Create the VM with virt-manager
- Start virt-manager, connect to 'QEMU', click the 'New VM' icon
- On the first page, under 'Architecture Options' select 'arm'. The 'virt-2.11' machine type needs to be selected for the VM to boot (BZ#1633328).
- Select the 'Import install' option, go to the next page
- Browse to the disk image, kernel, and initrd we moved in the previous step.
- Use the output of the virt-cat command to set the kernel args or use the generic args:
console=ttyAMA0 rw root=LABEL=_/ rootwait
- Set the OS as Fedora 32.
- 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 hit a text mode 'initial setup' where you can set a root password.
Create the VM with virt-install
Here's the relevant virt-install command:
sudo virt-install \ --name Fedora-Minimal-armhfp-33-1.2-sda.raw --ram 4096 --arch armv7l --machine virt-2.11 --os-variant fedora31 --import \ --disk /var/lib/libvirt/images/Fedora-Minimal-armhfp-33-1.2-sda.raw \ --boot kernel=/var/lib/libvirt/images/vmlinuz-5.8.15-301.fc33.armv7hl,initrd=/var/lib/libvirt/images/initramfs-5.8.15-301.fc33.armv7hl.img,kernel_args="console=ttyAMA0 rw root=LABEL=_/ rootwait"
Expected Results
No obvious errors occur.