Tutoriales

Implemente una VM ARM64 Fedora en su PC: 3 pasos

A veces es necesario comprobar rápidamente las capacidades del sistema operativo que se ejecutan en diferentes arquitecturas. Puede usar una arquitectura diferente por varias razones, que incluyen:

  • Puede tener un dispositivo de prueba independiente e implementar sus programas y configuraciones directamente en él.

  • Probablemente tenga un binario que se pueda compilar de forma cruzada y probar con el contenedor.
  • Es posible que esté creando imágenes de contenedores para diferentes arquitecturas.

Si necesita un sistema operativo completo y no puede probar directamente en un dispositivo dedicado, este artículo es para usted. Para dispositivos integrados ARM64, hacerlo es simple. Puede ejecutar máquinas virtuales (VM) de diferentes arquitecturas en la arquitectura estándar x86_64, pero no se recomienda para uso en producción. Dado que se trata de una emulación, no puede esperar un alto rendimiento. Su experiencia dependerá de las capacidades de su PC.

objetivo

El objetivo principal de este ejercicio es configurar una VM Fedora ARM64 que funcione de la manera más fácil y rápida posible. Elegí la arquitectura ARM64 porque es más popular entre los teléfonos inteligentes, Internet de las cosas (IoT) y otros dispositivos integrados.

[ Get the guide to installing applications on Linux. ]

requisitos previos

Recomiendo instalar la versión completa de Fedora virtualization Un conjunto de paquetes en el host. No se requieren todas las herramientas para configurar e iniciar una VM, pero puede encontrar otras herramientas útiles más adelante cuando trabaje con una nueva VM.

Instale el grupo de paquetes usando DNF:

$ sudo dnf group install --with-optional virtualization

puedes saber más sobre virtualization grupo en Página de inicio de virtualización de Fedora.

también necesitas instalar qemu-system-aarch64 Obtenga la virtualización ARM64:

$ sudo dnf install qemu-system-aarch64

Crear y ejecutar una máquina virtual

Una vez que haya instalado los requisitos previos, puede comenzar a construir su máquina virtual.

[ Keep your most commonly used commands handy with the Linux commands cheat sheet. ]

1. Use virt-builder para preparar la imagen

La forma más rápida de crear una imagen de Fedora es usar virt-builderGenere una imagen de Fedora 35 para la arquitectura ARM64 utilizando el archivo de imagen sin procesar de 10 GB:

$ virt-builder fedora-35 --arch aarch64 --size 10G --arch aarch64
gpg: checking the trustdb
gpg: marginals needed: 3 completes needed: 1 trust model: pgp
gpg: depth: 0 valid: 1 signed: 0 trust: 0-, 0q, 0n, 0m, 0f, 1u
gpg: checking the trustdb
gpg: marginals needed: 3 completes needed: 1 trust model: pgp
gpg: depth: 0 valid: 1 signed: 0 trust: 0-, 0q, 0n, 0m, 0f, 1u
gpg: checking the trustdb
gpg: marginals needed: 3 completes needed: 1 trust model: pgp
gpg: depth: 0 valid: 1 signed: 0 trust: 0-, 0q, 0n, 0m, 0f, 1u
[ 4.5] Downloading: 
[ 5.2] Planning how to build this image
[ 5.2] Uncompressing
[ 10.1] Resizing (using virt-resize) to expand the disk to 10.0G
[ 31.2] Opening the new disk
[ 35.4] Setting a random seed
[ 35.5] Setting passwords
virt-builder: Setting random password of root to iPehMcWTKjxN3GEx
[ 36.4] Finishing off
Output file: fedora-35.img
Output size: 10.0G
Output format: raw
Total usable space: 10.0G
Free space: 8.9G (89%)

Si no ingresó la opción de contraseña raíz, virt-builder Genera uno aleatorio, visible en la salida del comando.

notas: virt-builder Para arquitecturas que no sean x86_64, la cantidad de variantes de imagen es limitada.Puede listarlos ejecutando virt-builder --listEn este ejemplo, uso Fedora 35, aunque Fedora 36 está disponible. La última versión del objetivo ARM64 se ha retrasado.Si esto es un problema en su configuración, le recomiendo que actualice la máquina virtual mientras se ejecuta o continúa. método alternativo sección a continuación.

2. Configure la máquina virtual con virt-install

Después de crear la imagen, use virt-install Cree una máquina virtual por primera vez y ejecute un sistema operativo en ella.Este ejemplo crea un fedora-35-aarch64 Perfil con 4GB de RAM y 4 CPUs, utilizando previamente creado fedora-35.img:

$ sudo virt-install -v --name fedora-35-aarch64 --ram 4096 \
	--disk path=fedora-35.img,cache=none --nographics --os-variant fedora35  \
	--import --arch aarch64 --vcpus 4

Después del primer arranque del sistema, puede iniciar sesión en su máquina virtual.El indicador de inicio de sesión debe indicar que está ejecutando aarch64 núcleo, como se muestra en la siguiente figura:

(Jakub Guzik, CC BY-SA 4.0)

3. Use virsh para administrar máquinas virtuales

virsh Es la interfaz principal para administrar dominios invitados. Puede utilizar esta herramienta para crear, suspender y cerrar dominios.Después de crear la VM usando virt-installse hace visible virsh:

$ sudo virsh list --all
 Id   Name                State
------------------------------------
 -    fedora-35-aarch64   shut off

Inicie la máquina virtual con el siguiente comando:

$ sudo virsh start fedora-35-aarch64
Domain 'fedora-35-aarch64' started

Lea 8 subcomandos virsh de Linux para administrar máquinas virtuales en la línea de comandos para obtener más información sobre virsh.

método alternativo

Si las soluciones anteriores no satisfacen sus necesidades, puede familiarizarse con estas alternativas.

1. Utilice la imagen oficial aarch64 de Fedora

Puedes usar el Fedora oficial aarch64 Una imagen de una arquitectura alternativa, especialmente si la versión que necesita aún no está disponible virt-builder Sin embargo. Por ejemplo, para obtener la imagen sin procesar mínima de Fedora 36, ​​ingrese:

$ wget  -O f36.xz && unxz f36.xz

Tenga en cuenta el último dígito del archivo.En el momento de escribir este artículo, la última imagen disponible es Fedora-Minimal-36-1.5.aarch64.raw.xzEn el futuro, puede actualizar este comando con una versión de imagen más nueva.

[ Cheat sheet: Get a list of Linux utilities and commands for managing servers and networks. ]

El comando anterior descomprime la imagen usando unxz a f36, por lo que está listo para usar.Para configurar la imagen descomprimida, ejecute virt-install:

$ sudo virt-install -v --name fedora-36-aarch64 --ram 4096 \
	--disk path=f36,cache=none --nographics --os-variant fedora36  \
	--import --arch aarch64 --vcpus 4

La imagen está casi lista, pero requiere configuración adicional. Después del inicio inicial, verá un menú con cinco opciones de configuración.Para tener tus imágenes listas rápidamente solo necesitas hacer los siguientes pasos 4) Creación de usuarios o 5) contraseña raíz y continuar como en el siguiente ejemplo:

(Jakub Guzik, CC BY-SA 4.0)

Después de una configuración simple, la máquina virtual Fedora 36 está lista para usar.

2. Use qemu-system-aarch64 en lugar de virsh

Si no desea utilizar una máquina virtual administrada y confiar en virshhay una forma más tradicional de ejecutar una máquina virtual qemu-system-aarch64 directamente.

correr f36 Imagen de la sección anterior, ingresa:

$ qemu-system-aarch64 -nographic -m 4096M -cpu cortex-a57 -smp 4 \
	-netdev user,id=unet -device virtio-net-pci,netdev=unet \
    -drive file=f36 -M virt \
    -bios /usr/share/edk2/aarch64/QEMU_EFI.fd

si virtualization Falta el grupo de paquetes en su máquina, debe instalar edk2-aarch64 el paquete tiene QEMU_EFI.fd en su sistema operativo.

envolver

Este artículo solo cubre los aspectos básicos de los sistemas operativos invitados ARM64. Puede instalar otras versiones y distribuciones de Linux, pero deberá hacer su propia investigación para obtener una imagen lista para usar. virt-builder Solo unos pocos objetivos de imagen ARM64 configurables están disponibles, la última versión solo está disponible para Fedora. Afortunadamente, las distribuciones de Linux a menudo brindan ejemplos de creación de imágenes para ARM64. Es posible que deba ajustar manualmente estas imágenes para satisfacer sus necesidades. Si es así, lea Administrar imágenes de disco de máquinas virtuales con libguestfs para obtener más información sobre cómo administrar imágenes de máquinas virtuales.

Finalmente, cada comando que uso tiene múltiples opciones de línea de comando que modifican el comportamiento. Le animo a comprobar estas variantes visitando sus respectivas páginas man.

LEER  Todos los programas que utilicé (y más) - recomendación de software 2020

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba