Mes ressources pour le Web

Utliser une machine virtuelle avec qemu-system

Le but est d'installer Qemu est un émulateur de matériel, capable de simuler des processeurs i386 et x86-64 pour tester des ISOs Debian et éventement installer cette distribution afin de vérifier la réalisations des ISOs.

Nota on défini la machine hôte (host) comme étant votre ordinateur et la machine virtuelle est l'invitée (guest)

0 Pour vérifier que le microprocesseur de la machine permet la virtualisation avec un test en ligne de commande
egrep '^flags.*(vmx|svm)' /proc/cpuinfo >/dev/null && echo OK || echo KO
Donc si le résultat est OK c'est bon sinon c'est loupé

Dans cette page  linux est le nom de l’utilisateur Il faut donc adapter le nom suivant votre nom d'ulisateur.

Les manipulations sont faites en ligne de commande en terminal administrateur
1 - Pour une nouvelle installation : il faut donc commencer comme normalement par
sudo -s
# mise à jour éventuelle des paquets
apt-get update
2- Puis installation pour une utilisation console seule
apt-get install ovmf qemu-system-x86
ou
2 - Puis installation par la même occasion installer virt-manager (une interface graphique utilisée ici )
apt-get install ovmf virt-manager 
Cela installera entre autres
ovmf, qemu-kvm, qemu-system-x86, libvirt...
Note : ovmf est "UEFI firmware for 64-bit x86" pour tester les ISOs en mode UEFI

3 - Création de compte d'utilisateur
adduser linux libvirt
adduser linux libvirt-qemu
4 - Puis se déconnecter et se reconnecter pour que ces dernières modifications soient prises en compte par le système

Suivant les combinaisons de nombreuse possibilités sont possible (information EN)

sudo qemu-system-x86_64 -enable-kvm [options] # commande de base pour 64 bits
sudo qemu-system-i386 -enable-kvm [options] # commande de base pour 32 bits 
[options]
-m 2G # mémoire de la machine ici 2 Go
-rtc clock=host,base=localtime # horlage de la machine
-nic none # désactive le reseau
-serial none -parallel none # pas de port série pas deport parralèle
-drive if=pflash,format=raw,readonly,file=/usr/share/OVMF/OVMF_CODE.fd # utilisation de UEFI
-drive file=/dev/sdb,format=raw,index=0,media=disk
# utilisation d'une clef USB /sdb créée à partir d'un fichier ISO
-cdrom /home/linux/df-amd64.iso
# utilisation d'un fichier ISO depuis le disque dur de votre ordinateur
-drive id=disk0,format=qcow2,file=/home/linux/df-disk.qcow2
# utilisation d'un disque virtuel *.qcow2 sur votre disque dur
-usb -device usb-ehci,id=ehci -device usb-host,bus=ehci.0,vendorid=0x0930,productid=0x6533
# utilisation d'une clef USB qui sera montée dans la machine virtuelle
clef détectée en console par lsusb => Bus 001 Device 010: ID 0930:6533 Txxx. xxxM Stick
-soundhw all # permet d'avoir le son
-boot menu=on # permet de choisir le boot
-boot c # Démarre directement sur le disque dur virtuel
-boot d # Démarre directement sur le cd/clef ISO

qemu-img create -f qcow2 df-disk.qcow2 10G 
# permet de créer un disque virtuel nommé df-disk au format qcow2 de de 10 Go 

Quelques exemples
Attention si vous faite un copier/coller des lignes des exemples, le code final  à coller dans le terminal, doit être sur une seule ligne et vérifier bien vos données.
(ici les exemples sont sur plusieurs lignes pour simplifer l'affichage)

Live USB direct depuis une clef USB live (sdb) créée à partir de l'ISO
il faut insérer la la clef USB et vérifier que la clef est bien identifiée /dev/sdb (avec fdisk -l)
sudo qemu-system-x86_64 -enable-kvm -m 2G  -rtc clock=host,base=localtime -serial none -parallel none
-drive file=/dev/sdb,format=raw,index=0,media=disk

Live USB direct depuis un fichier ISO (dfl-amd64.iso) sur le disque dur
sudo qemu-system-x86_64 -enable-kvm -m 2G -rtc clock=host,base=localtime -serial none -parallel none
-cdrom /home/linux/dfl-amd64.iso

LIVE direct en mode UEFI depuis un fichier ISO (dfl-amd64.iso) sur le disque dur
sudo qemu-system-x86_64 -enable-kvm -m 2G -rtc clock=host,base=localtime -serial none -parallel none
-drive if=pflash,format=raw,readonly,file=/usr/share/OVMF/OVMF_CODE.fd
-cdrom /home/linux/dfl-amd64.iso

Définir un disque virtuel de 10 Go 
qemu-img create -f qcow2 /home/linux/df-disk.qcow2 10G 
Cela donnera
Formatting '/home/linux/df-disk.qcow2', fmt=qcow2 size=10737418240 cluster_size=65536
lazy_refcounts=off refcount_bits=16

Live USB direct depuis un fichier ISO (dfl-amd64.iso) sur le disque dur pour définir les partitions du disk df-disk.qcow2
sudo qemu-system-x86_64 -enable-kvm -m 2G -rtc clock=host,base=localtime -serial none -parallel none
-cdrom /home/linux/dfl-amd64.iso
Ensuite quitter le live pour redémarrer pour réaliser l'installation depuis le fichier ISO (dfl-amd64.iso) directement avec le fichier ISO (dfl-amd64.iso) en bootant sur l'ISO par menu de lancement sur ISO (-boot d)
sudo qemu-system-x86_64 -enable-kvm -m 2G -rtc clock=host,base=localtime -serial none -parallel none
-drive id=disk0,format=qcow2,file=/home/linux/df-disk.qcow2
-cdrom /home/linux/dfl-amd64.iso -boot d
Une fois l’installation terminée lancer directement la machine depuis le disque virtuel disk df-disk.qcow2 (-boot c) et la possibilité d'avoir le son, tout en ajoutant une une clef USB qui sera montée dans la machine virtuelle (clef détectée en console par lsusb qui donnera : Bus 001 Device 010: ID 0930:6533 Txxx. xxxM Stick)
sudo qemu-system-x86_64 -enable-kvm -m 2G -rtc clock=host,base=localtime -serial none -parallel none
-drive id=disk0,format=qcow2,file=/home/linux/df-disk.qcow2 -boot c -soundhw all
-usb -device usb-ehci,id=ehci -device usb-host,bus=ehci.0,vendorid=0x0930,productid=0x6533

Depuis une clef USB avec fichier ISO (dflinuxe-11.0-rc1a-amd64) utiliser en Live pour installer sur le disque virtuel disk df-disk.qcow2 afin de définir les partitions du disk df-disk.qcow2
- avec choix du menu de lancement (-boot menu=on)
- et la possibilité d'ajouter une une clef USB qui sera montée dans la machine virtuelle (clef détectée en console par lsusb qui donnera : Bus 001 Device 011: ID 13fe:4223 Kingston Technology Company Inc)
sudo qemu-system-x86_64 -enable-kvm -m 2G -rtc clock=host,base=localtime -serial none -parallel none
-drive id=disk0,format=qcow2,file=/home/linux/df-disk.qcow2 -drive file=/dev/sdb,format=raw,
index=1,media=disk -boot menu=on -usb -device usb-ehci,id=ehci
-device usb-host,bus=ehci.0,vendorid=0x13fe,productid=0x4223
test_deb11_dd10_clefmax_r  Écran de démarrage pour le choix
Nota ici dans ce cas, aprés lancement le logiciel Gparted détectera le Sda pour le disk (df-disk.qcow2) 10G, l'iso 11.0-rc1a-amd64 sera le Sdb  ET le Sdc sera le clef Kingston Technology


Merci de me signaler les erreurs ou omissions  

Document http://jc.etiemble.free.fr/abc/ JCE - version du 01/05/201-0 CC_licence


...