OVMF ja QEMU kasutamine operatsioonisüsteemiga Debian: erinevus redaktsioonide vahel

Allikas: Imre kasutab arvutit
Mine navigeerimisribaleMine otsikasti
116. rida: 116. rida:
   
 
{"timestamp": {"seconds": 1650139458, "microseconds": 385606}, "event": "SHUTDOWN", "data": {"guest": false, "reason": "host-qmp-quit"}}
 
{"timestamp": {"seconds": 1650139458, "microseconds": 385606}, "event": "SHUTDOWN", "data": {"guest": false, "reason": "host-qmp-quit"}}
  +
</pre>
  +
  +
Plokkseadmete küsimiseks ja varundamiseks sobib öelda
  +
  +
<pre>
  +
{ "execute": "query-block" }
  +
{ "execute": "drive-backup","arguments": { "device": "drive-virtio1","sync": "full","target": "backup.img" } }
  +
</pre>
  +
  +
Tulemusena salvestatakse arvutisse fail
  +
  +
<pre>
  +
root@ceph-pm71-1:~# fdisk /backup.img -l
  +
Disk /backup.img: 1 GiB, 1073741824 bytes, 2097152 sectors
  +
Units: sectors of 1 * 512 = 512 bytes
  +
Sector size (logical/physical): 512 bytes / 512 bytes
  +
I/O size (minimum/optimal): 512 bytes / 512 bytes
  +
Disklabel type: dos
  +
Disk identifier: 0x977fec66
  +
  +
Device Boot Start End Sectors Size Id Type
  +
/backup.img1 2048 2097151 2095104 1023M 83 Linux
 
</pre>
 
</pre>
   

Redaktsioon: 16. aprill 2022, kell 22:08

Sissejuhatus

Virtuaalse arvuti kasutamisel tekib küsimus, millist nn BIOS'i kasutada (või kas üldse). Üks virtuaalne BIOS on OVMF. Kuna ta nö toetab UEFI'it, siis on ehk õigem teda ettekujutada kui virtuaalset UEFI võimelist riistvara, sealhulgas nn Setup keskkonda. Alternatiiv oleks nt SeaBIOS. OVMF sobib kasutada kõige tavalisema virtuaalse arvuti pidamiseks, kuid tavaliselt kasutatakse OVMF'i UEFI võimelise virtuaalse arvuti pidamiseks, kus saab uurida midagi UEFI spetsiifilist, nt Secure Boot teemat.

Tööpõhimõte

Paigaldamine

QEMU ja OVMF saab nt 2016 sügisel Debian v. 9 Stretch paketihaldusest

# apt-get install ovmf qemu-system-x86 xterm

kus

  • xterm - kui töökohaarvuti on üks ja arvuti, kus katsetatakse ovmf + qemu teine, siis paigaldatake xterm tagajärjel piisvalt X'i, et üle võrgu saada värviline pilt ette

Tulemusena tekib failisüsteemi muu hulgas

-rw-r--r-- 1 root root 1966080 Dec  9 10:09 /usr/share/OVMF/OVMF_CODE.fd
-rw-r--r-- 1 root root 131072  Dec  9 10:09 /usr/share/OVMF/OVMF_VARS.fd
-rw-r--r-- 1 root root 2097152 Dec  9 10:09 /usr/share/ovmf/OVMF.fd

kus

  • OVMF.fd - kõik-ühes tõmmis
  • OVMF_CODE.fd ja OVMF_VARS.fd - BIOS kood ja konf on eraldi

Kõige lihtsamal juhul sobib käivitamise testiks öelda

Käivitamiseks sobib öelda

# qemu-system-x86_64 -enable-kvm -pflash /var/tmp/o/OVMF.fd

ja pistab selline pilt

Fail:Ovmf-qemu-1.gif

kus

  • saab jõuda EFI Shelli (fs0: jt käsud)
  • saab sättida Secure Boot PK, KEK, DB jt võtmeid

Kui efi shellis öelda 'exit' ning jõutakse Setup keskkonda.

EFI võimelise operatsioonisüsteemi paigaldamine

# cat run.sh 
qemu-system-x86_64 --enable-kvm -m 1536 \
  -drive file=/dev/deb8-vg/root_fedora25,if=ide \
  -net nic -net tap,ifname=tap0,script=no,downscript=no \
  -drive file=/srv/video/20161224/OVMF_CODE-fedora.fd,if=pflash,format=raw,readonly \
  -drive file=/srv/video/20161224/OVMF_VARS-fedora.fd,if=pflash,format=raw \
  -drive file=/srv/video/20161224/Fedora-Server-dvd-x86_64-25-1.3.iso,if=ide,media=cdrom

Selleks, et nii käivitatud arvutis töötaks võrk sobib host peal öelda

# brctl addbr br0
# brctl addif br0 eth0
# brctl addif br0 tap0
# ifconfig br0 192.168.10.8
# route add default gw 192.168.10.254

kus

  • TODO

UEFI seisukohalt virtuaalses arvutis või olla asjakohane selline tarkvara

  • efibootmgr

Misc

Tundub, et redhat keskkonnas on huvitav pakett edk2-ovmf

# dnf install edk2-ovmf
# rpm -ql edk2-ovmf
/usr/share/doc/edk2-ovmf
/usr/share/doc/edk2-ovmf/README
/usr/share/edk2
/usr/share/edk2/ovmf
/usr/share/edk2/ovmf/EnrollDefaultKeys.efi
/usr/share/edk2/ovmf/OVMF_CODE.fd
/usr/share/edk2/ovmf/OVMF_CODE.secboot.fd
/usr/share/edk2/ovmf/OVMF_VARS.fd
/usr/share/edk2/ovmf/Shell.efi
/usr/share/edk2/ovmf/UefiShell.iso
/usr/share/licenses/edk2-ovmf
/usr/share/licenses/edk2-ovmf/LICENSE.openssl
/usr/share/licenses/edk2-ovmf/License.txt

QMP - QEMU Machine Protocol

Proxmox KVM guestiga suhtlemine

root@ceph-pm71-1:~# socat - unix-connect:/var/run/qemu-server/3011.qmp
{"QMP": {"version": {"qemu": {"micro": 0, "minor": 2, "major": 6}, "package": "pve-qemu-kvm_6.2.0"}, "capabilities": []}}

{"execute":"qmp_capabilities"}
{"return": {}}

{ "execute": "query-version" }
{"return": {"qemu": {"micro": 0, "minor": 2, "major": 6}, "package": "pve-qemu-kvm_6.2.0"}}

{ "execute": "quit" }         
{"return": {}}

{"timestamp": {"seconds": 1650139458, "microseconds": 385606}, "event": "SHUTDOWN", "data": {"guest": false, "reason": "host-qmp-quit"}}

Plokkseadmete küsimiseks ja varundamiseks sobib öelda

{ "execute": "query-block" }
{ "execute": "drive-backup","arguments": { "device": "drive-virtio1","sync": "full","target": "backup.img" } }

Tulemusena salvestatakse arvutisse fail

root@ceph-pm71-1:~# fdisk /backup.img -l
Disk /backup.img: 1 GiB, 1073741824 bytes, 2097152 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x977fec66

Device       Boot Start     End Sectors  Size Id Type
/backup.img1       2048 2097151 2095104 1023M 83 Linux

Kasulikud lisamaterjalid

QEMU Guest Agent Protocol

TODO

Kasulikud lisamaterjalid

Kasulikud lisamaterjalid