Mondo IT

recensioni, articoli e approfondimenti sul mondo IT

Posts Tagged ‘QEMU

[EN] dig a hole in QEMU: how to execute code on the host from VMs (Part 1)

leave a comment »

In the next posts I’ll show you my recent works on QEMU. The purpose of my work is execute code on the Host machine every time that a virtual machine write or read to certain memory address. As you may know, QEMU is not largely documented, so in these posts I try to simplify works for people who are interested in these kind of operation.

The design of the solution that I’ve implemented starts from a QEMU emulated device, called LittleP. In addiction, we need of a Guest drivers that is programmed to write/read data to a fixed memory address. In my case I have used a GNU/Linux virtual machine, but probably it is possible to do the same thing with others operating systems.

So let’s start with the addiction of a new QEMU emulated device. To do this we have to add a new file (in this example littlep.c) in qemu/hw directory. This file should be something like this:

Leggi il seguito di questo post »

Written by Michele Paolino

13/11/2012 at 12:37

come redirigere porta VM sul sistema guest

leave a comment »

in QEMU/KVM è possibile redirigere le porte della macchina virtuale all’esterno in due modi. Il primo è utilizzabile solo a macchina virtuale spenta. Avviando infatti la VM con l’opzione -redir è possibile mappare porte del sistema ospite sull’host:

kvm -hda harddisk -redir tcp:6001: Leggi il seguito di questo post »

Written by Michele Paolino

12/02/2011 at 23:55

Pubblicato su GNU/linux, KVM, virtualizzazione

Tagged with , , ,

QEMU/KVM serial console

with 2 comments

Ultimamente sto programmando a livello kernel su macchina virtuale. In questi casi è piuttosto importante munirsi di console seriale per il debug del kernel sin dalle prime fasi di boot.

QEMU, quindi anche KVM, mettono a disposizione una console seriale (e una parallela) premendo Ctrl+Alt+3 (Ctrl+Alt+2) all’interno della finestra QEMU. Per avere quindi tutti i log dell’avvio della macchina virtuale su console seriale basterà quindi abilitare il logging e aggiornare il file grub.conf ed il gioco è fatto.

Le modalità per abilitare la console varia da sistema a sistema. è in generale importante aggiungere questa riga a inizio file:

## enable console output to serial port
serial –unit=0 –speed=115200 –word=8 –parity=no –stop=1 terminal –timeout=15 serial console

## Xen Linux kernel options to use with the default Xen boot option


E modifichiamo la entry del sistema da bootare

title        Xen 3.4 serial simple
root        (hd0,0)
kernel        /boot/xen-3.4.2.gz dom0_mem=262144 sched=simple loglvl=all guest_loglvl=all com1=115200,8n1 console=com1

module        /boot/vmlinuz- root=/dev/hda1 ro console=hvc0 earlyprintk=xen nomodeset
module        /boot/xen-3.4.2-initrd.img

Written by Michele Paolino

01/03/2010 at 22:24