Estoy jugando con QEMU. Aquí encontré algunas imágenes de SO precompiladas:
http://docs.openstack.org/trunk/openstack-compute/admin/content/starting-images.html
Pero todos están destinados a un sistema de 64 bits, mientras que mi sistema es de 32 bits. ¿Alguien sabe si hay alguna imagen preconstruida de 32 bits en línea?
Así que puedo usarlos directamente y no tener que molestarme con la instalación.
Gracias.
Respuestas:
Una búsqueda rápida en Google reveló lo siguiente (no he probado ninguno de ellos) :
Además, puede usar vmbuilder (denominado aquí
ubuntu-vmbuilder
) para crear rápidamente imágenes de Ubuntu en KVM, VirtualBox, etc.Como último recurso, puede usar el
qemu-img
comando para convertir imágenes de disco de VirtualBox / VMware a un formato más adecuado para QEMU / KVM (esto puede no ser necesario: creo que QEMU / KVM puede funcionar con otros tipos de imágenes como vdi o vmdk).NOTA : Si está utilizando un SO de 32 bits, no puede ejecutar máquinas virtuales de 64 bits con KVM. Pero QEMU es un emulador, por lo que debería permitirle ejecutar 64 bits vm en un sistema operativo de 32 bits. ¡Pero la sobrecarga de rendimiento probablemente será enorme!
fuente
Esta respuesta contiene pasos detallados para las siguientes configuraciones:
Todo fue probado en un host Ubuntu 18.04 dirigido a invitados 18.04.
Imagen de nube amd64
Las imágenes en la nube de Ubuntu son imágenes preinstaladas que le permiten arrancar directamente sin realizar la instalación habitual del sistema de escritorio. Ver también: /server/438611/what-are-ubuntu-cloud-images
GitHub aguas arriba .
Después de que se inicie QEMU, es posible que deba presionar enter para que se muestre el menú de inicio. Selecciona
Ubuntu
desde allí.Entonces, el comienzo del arranque dice:
pero incluso si no presiona ninguna tecla, el arranque continúa después de un breve tiempo de espera. Vota a favor este informe de error: https://bugs.launchpad.net/cloud-images/+bug/1726476
Una vez que finalice el arranque, inicie sesión con:
ubuntu
asdfqwer
Internet funciona normalmente.
Imagen de la nube arm64
TODO: Noté que a veces ocurre un error al usar esto: https://bugs.launchpad.net/cloud-images/+bug/1818197
Muy similar a amd64, pero necesitamos algo de magia negra UEFI para que arranque.
GitHub aguas arriba .
debootstrap
amd64No es una imagen prefabricada, pero descarga todos los paquetes prefabricados, por lo que también es rápida, pero también mucho más configurable y útil.
GitHub aguas arriba .
Esto arranca sin ningún error o advertencia del sistema.
Ahora desde la terminal, inicie sesión con
root
/root
, y luego verifique que Internet funcione con los siguientes comandos:Usamos
nc
como se explica en /programming/32341518/how-to-make-an-http-get-request-manually-with-netcat/52662497#52662497 porque:wget
ycurl
no están instalados por defectoping
no funciona desde QEMU por defecto: /unix/473448/how-to-ping-from-the-qemu-guest-to-an-external-urlVersión de Debian análoga: /unix/275429/creating-bootable-debian-image-with-debootstrap/473256#473256
Construye tu propio núcleo
Ya que estamos aquí:
Esto produjo exactamente la misma configuración y creo que usó exactamente el mismo código fuente que el Ubuntu empaquetado que
debootstrap
descargó como se explica en: ¿Dónde puedo obtener el archivo .config del kernel 11.04?Luego lo parcheé con:
y reconstruir:
e imprimió mi mensaje durante el arranque:
Sin embargo, la reconstrucción no fue muy rápida, así que ¿tal vez hay un mejor comando? Solo esperaba que dijera:
y siguió adelante con la carrera.
debootstrap arm64
El procedimiento fue similar al de amd64, pero con las siguientes diferencias:
1)
Debemos hacer dos etapas
debootstrap
:--foreign
solo descargar los paqueteschroot
--second-stage
usando la emulación de modo de usuario QEMU +binfmt_misc
Ver también: ¿Qué es debootstrap - segunda etapa para
2) el arranque del kernel predeterminado falla al final con:
La lista de particiones vacía indica que hay un error grave con el controlador de disco, después de probar un poco la opción que falta es:
Creo que funciona cuando uso el ISO porque los módulos deben cargarse desde el initrd.
Intenté usar otros tipos de discos, pero virtio es el único valor válido para
-drive if=
cuándo-M virt
, que es el tipo de máquina más sano hoy en día.Por lo tanto, debemos recompilar nuestro propio núcleo con esa opción habilitada, como se explica aquí: al compilar el núcleo de forma cruzada, ¿cómo puedo evitar que se limpie cada vez que solo quiero modificar un archivo?
¡Los desarrolladores de Ubuntu deberían activar esta CONFIG
y
por defecto! ¡Es muy útil!TODO: la red no funciona, el mensaje de error es:
Aquí está el script totalmente automatizado:
GitHub Upstream .
Imagen de escritorio
Ver: ¿Cómo ejecutar el escritorio de Ubuntu en QEMU?
Requiere pasar por el instalador manualmente, pero es lo más estable que puede hacer, y está muy bien si solo desea obtener una VM para uso interactivo que se ejecute de vez en cuando.
Para aarch64, todavía no he conseguido que funcione el escritorio, tal vez esté atento: ¿Cómo ejecutar Ubuntu 16.04 ARM en QEMU?
fuente
dhclient.service: Can't open PID file /var/run/dhclient.pid (yet?) after start: No such file or directory
alguna pista? Después del arranque, puedotouch /var/run/a
.Consulte http://cloud-images.ubuntu.com/ que contiene imágenes de la nube que se pueden usar con qemu / kvm.
fuente
https://www.turnkeylinux.org/ ha existido por siglos. Tienen un gran catálogo descargable, "dispositivo" prefabricado como imágenes en numerosos formatos (ova, iso, vdmk, openstack, xen). Incluso pueden lanzar una imagen directamente en AWS para usted.
Cuando quiero comenzar a explorar una pila en particular o necesito eliminar un problema, frecuentemente descargo sus imágenes, las convierto en cow2 y las uso.
También puede tomar imágenes de https://app.vagrantup.com/boxes/search o https://virtualboxes.org/images/ y convertirlas también.
fuente