Questa guida vi dirà come poter lanciare un sistema operativo da un'altro in esecuzione, il programma usato sarà qemu con l'aggiunto del modulo del kernel kqemu che serve a migliorare notevolmente le prestazioni dell'OS emulato.
Vediamo il primo passo:
1) Installiamo qemu:
dovete procurarvi qemu, io usando debian etch ho dato un apt-get install qemu, usate il package manager della vostra distro per installarlo, in alternativa compilatelo prendendo i sorgenti da http://fabrice.bellard.free.fr/qemu/
Una volta installato qemu lo si potrebbe già usare, ma l'OS emulato avrebbe prestazioni insostenibili, è per questo che si può utilizzare il modulo kqemu che rende meno grave la situazione:
2) Compilare e installare il modulo kqemu
In quanto modulo del kernel avrete come dipendenze i linux-headers delle versione del kernel che volete usare, e la versione di gcc che è stata usata per compilare il tutto.
Se avete ricomplato voi il kernel prima e avete come gcc di default la stessa versione non dovrebbero esserci problemi, dato il solito:
./configure
make
make install
dando succesivamente
modprobe kqemu
avrete il modulo in funziona, a questo punto se state usando udev il device in /dev sarà automaticamente creato e, se lo volete, basterà sistemargli i permessi con
chmod 666 /dev/kqemu
se NON state usando udev dovrete creare voi il nodo con:
mknod /dev/kqemu c 250 0
Nel caso vengano dati errori durante l'inserimento del modulo riguardo il formato non valido, controllate con dmesg cosa potrebbe essere, a me ad esempio dava
kqemu: version magic '2.6.15-1-486 486 gcc-4.1' should be '2.6.15-1-486 486 gcc-4.0'
Perchè di default usavo una versione diversa dal gcc usato per compilare il kernel, per rimediare basta far puntare il link /usr/bin/gcc a /usr/bin/gcc-X.Y (nel mio caso era a /usr/bin/gcc-4.0 come dice il dmesg).
3) Usare qemu:
ora che emulatore a acceleratore sono installati si può usare qemu, volendo potreste avviare nuovamente il vostro hard disk come prova, si fa con questo comando:
qemu -snapshot /dev/hda
Ora vi si aprirà una finestra con dentro il vostro boot loader e vedrete partire l'OS; la funziona snapshot serve a leggere dal disco ma scrivere in un altro file temporaneo, per evitare di fare danni.
Un'altra cosa che si potrebbe fare è installare su un file immagine un OS preso da cdrom, per farlo prima si crea l'immagine:
qemu-img create -f qcow OS.img 10G
e quindi si fa fare il boot dal cd di installazione:
qemu -cdrom /dev/cdrom -boot d OS.img
Ora OS.img fa da disco bootabile e lo si potrà lanciare con
qemu OS.img
Note:
---------
Qemu è disponibile anche per Windows e Mac OS X
Aggiungi un commento