Visualizzazione post con etichetta QEmu. Mostra tutti i post
Visualizzazione post con etichetta QEmu. Mostra tutti i post

martedì 5 novembre 2019

Buildroot e Raspberry Pi

Con BuildRoot e' possibile compilare un firmware completo per un dispositivo embedded...per fare le cose semplici ho provato con Raspberry Pi

Si clona il repository di Buildroot e si lancia

make raspberrypi_defconfig
che preimposta i valori di default per il target Raspberry. Si possono aggiungere sia pacchetti che librerie per personalizzare la configurazione base cosi' come la password di root (System Configuration/Enable root login with password)

Si lancia make e si aspetta un paio di ore...alla fine nella directory output/images si trovera' file sdcard.img 

si puo' quindi copiare il file su una Sd Card con dd ed usare una Raspberry reale oppure si puo' emulare tramite QEmu
Per fare cio' si deve scaricare il kernel per QEmu da

git clone https://github.com/dhruvvyas90/qemu-rpi-kernel.git

e si lancia

qemu-system-arm -kernel ./qemu-rpi-kernel/kernel-qemu-3.10.25-wheezy -cpu arm1176 -m 256 -M versatilepb -no-reboot -serial stdio -append "root=/dev/sda2 panic=1 rootfstype=ext4 rw" -hda sdcard.img


ci si trova quindi in una shell Busybox

lunedì 4 giugno 2018

Emulazione processore con QEMU



In alcuni casi (per esempio provare le prestazioni di software su macchine vecchie) puo' essere utile avere un emulatore che simuli anche la CPU. Virtualbox non permette questa funzione che e' invece presente in QEmu

Per esempio per emulare una Live CD su macchina Pentium 3 con 192 Mb di ram si puo' digitare

qemu-system-x86_64 -boot d -cdrom slitaz-rolling.iso -m 192 -cpu pentium3


cat /proc/cpuinfo in emulazione QEmu


venerdì 30 agosto 2013

Raspberry in emulazione Qemu

Puntando il browser su questo indirizzo http://sourceforge.net/projects/rpiqemuwindows/ e' possibile ottenere un pacchetto gia' confezionato per emulare Raspberry e sistemi operativi collegati in QEmu

Moebius in QEmu
Raspbian in QEmu


Modificando il file run.bat (che e' costituito dalla sola riga sottostante) in partocolare modificando il file .img in hda

qemu-system-arm.exe -M versatilepb -cpu arm1176 -hda 2012-07-15-wheezy-raspbian.img -kernel kernel-qemu -m 192 -append "root=/dev/sda2"

si possono provare altre distribuzioni senza dover formattare SD Card.
La velocita' non e' assolutamente niente di particolare. Curiosamente la distro PiBang non riesce a partire a causa di un errore nella D-Bus connection

martedì 6 novembre 2012

Menuet Os

Un progetto interessante ma sostanzialmente inutile....un sistema operativo scritto interamente in Assembler con Fasm

Menuet OS si scarica da qui e l'immagine e' grande quanto un disco da 1.44 Mb
Per utilizzarla con QEmu si usa la seguente stringa

qemu -localtime -m 768 -fda M32-085B.IMG -L . -net user -net nic

la prima schermata e' per settare alcuni parametri della scheda video


e dopo si ha il desktop con alcune utility (a dire il vero molto scarne)


lunedì 8 ottobre 2012

Debian Testing in QEmu/Windows



Per prima cosa si deve creare una immagine disco (ho scelto 10 G dato che con l'installazione da 2G rimane decisamente poco spazio per qualunque operazione)

qemu-img.exe create deb.img 10G
Formating 'deb.img', fmt=raw, size=10485760 kB

stranamente utilizzando il comando
qemu-img.exe create deb.img 4G
viene generato un file da 0 Byte (con 3G o 5G tutto funziona correttamente)

per installare Debian partendo dal Cd di installazione con Xfce-Lxde si digita il seguente comando
qemu -localtime -m 256 -cdrom "debian-testing-i386-xfce+lxde-CD-1.iso" -hda deb.img -boot d -L . -net user -net nic

in questo modo si indicano
256 Mb di memoria
deb.img e' l'immagine del disco fisso
boot d fa partire l'installazione da CdRom
-net user -net nic abilita l'interfaccia di rete virtuale (questo e' l'unico sistema di abilitare la scheda di rete virtuale in ambiente in cui si e' amministratori del calcolatore)

Dato che il programma Qemu non e' installato ma il binario e' stato scompattato in una directory da un file zip e' necessario aggiungere lo swtich -L . (attenzione al punto)

Non e' stato possibile utilizzare KQemu perche' richiede l'installazione mentre sulla macchina su cui devo lavorare non possiedo i permessi di amministrazione

per utilizzare quindi la macchina virtuale una volta terminata l'installazione si deve effettuare lo shutdown e ripartire con
qemu -localtime -m 768 -cdrom "debian-testing-i386-xfce+lxde-CD-1.iso" -hda deb.img -boot c -L . -net user -net nic -redir tcp:2222::22

Per l'utilizzo normale la memoria e' stata impostata a 768 m ed e' stata aggiunta una direttiva per abilitare la connessione SSH tra Host e Guest sulla porta 2222

si puo' quindi usare sia SFTP che SSH chiamando la macchina virtuale a localhost:2222

Per finire la macchina virtuale assume un indirizzo derivante dal DHCP interno a QEMU  per cui risulta completamente invisibile all'esterno della macchina su cui e' in esecuzione (di solito l'IP e' 10.0.2.15)

Per terminare la finestra di visualizzazione massima e' 1024x768 e non puo' essere allargata a meno di modifiche piuttosto complicate al server X. Mettere QEmu in modalita' FullScreen e' stata una pessima esperienza sulla mia macchina dual-monitor e la sconsiglierei
 

giovedì 4 ottobre 2012

Minix in QEmu



Si crea prima una immagine vuota da 2 Gb per il disco virtuale
qemu-img create minix.img 2G
 
Poi si imposta il cdrom sulla iso scaricata e hda sul disco virtuale 
facendo boot da cdrom
La memoria e' impostata a 256 Mb (anche troppi visti che il 
sistema e' operativo e' dichiarato come funzionante con 128 Mb ma 
essendo una macchina virtuale ho preferito eccedere
qemu -localtime -m 256 -cdrom minix.iso -hda minix.img -boot d 
 
 
L'installazione e' banale, basta scegliere la modalita' guidata 
e non quella expert
Si riavvia
shutdown
 
Si fa ripartire Qemu scambiando i dischi e partendo da C 
(in questo modo si possono installare i pacchetti extra) 
qemu -localtime  -m 256 -hda minix.img -cdrom minix.iso -boot c
 
 
Per installare i pacchetti addizionali si puo' procedere cosi' 
Lista dei pacchetti disponibili 
pkgin_cd available | more 
Installa GCC 
pkgin_cd install gcc44
Installa X11 
pkgin_cd install X11 

X11/Minix in esecuzione su QEmu


senza l'accelerazione hardware di KQEmu comunque anche un sistema 
operativo leggero come Minix risulta lentissimo all'interno di QEmu

venerdì 14 settembre 2012

FreeDos in Qemu

Per installare FreeDos in QEmu la procedura e' abbastanza semplice

prima si crea un file della dimensione voluta del futuro C:\ (in questo caso 400 Mb) e si scarica il file fdfullcd.iso dal sito di FreeDos

dd if=/dev/zero of=freedosfile.img bs=1024 count=400000

successivamente si lancia l'emulatore indicando il supporto di installazione nel cdrom e specificando di fare il boot da D

qemu -cdrom fdfullcd.iso -hda freedosfile.img -boot d

si seguono quindi le istruzioni a schermo

Per avviare la macchina una volta terminato il processo e' sufficiente

qemu -hda freedosfile.img -boot c

Uno dei problemi con QEmu/FreeDos e' quello di non poter indicare in modo semplice una cartella condivisa tra il sistema Guest e quello Host in modo da inserire i file di installazione dei futuri programmi

Leggendo su Internet molti settano QEmu per gestire una rete virtuale ed effettuano un collegamento di rete tra Host e Guest

per me e' stata piu' semplice inserire i file dei programmi su una chiavetta USB e poi creare una immagine img della chiavetta mediante il seguente comando

dd if=/dev/sdb of=/home/luca/qemu/usb.img bs=1024

a questo punto si puo' lanciare QEmu indicando nel disco D: l'immagine della chiavetta

qemu -hda freedos.img -hdb usb.img -boot c

Prompt di FreeDos
Nell'immagine di FreeDos completa sono inclusi molti software compreso OpenGem. Prima di poterlo utilizzare deve essere pero' installato. Per farlo si deve andare nella cartella FDos/OpenGem e far partire l'installazione

Open Gem

Ovviamente poter usare nell'emulatore un programma che e' stato tuo compagno per almeno 5 anni non ha prezzo e quindi via con l'installazione di Turbo Pascal 5


 Per il funzionamento del Turbo Pascal 5 e' importante selezionare l'opzione 1 al boot di FreeDos

 Dopo l'installazione dei dischetti il rassicurante schermo blu e bianco della IDE di Turbo Pascal

Fa abbastanza impressione vedere funzionare dopo tanto tempo l'esempio BGIDemo
BGIDemo Turbo Pascal



Quasi quasi provo ad installare Fractint.........................

giovedì 16 agosto 2012

QEMU

non ho i privilegi di amministratore sulla macchina di lavoro e cercando soluzioni per aggirare il problema (perche' comunque mi servono dei software open source per lavorare) ho provato a far girare QEmu per Windows. L'opzione di usare VirtualBox e' stata esclusa perche' sono richiesti permessi di amministratore anche per la versione portable

L'installazione inizia scaricando il pacchetto da qui e scompattandolo in una directory per esempio in Desktop\qemu

per creare la macchina virtuale (in questo caso una Debian testing) si lancia da linea di comando
qemu-img create debian.img 2000M (per creare un disco virtuale da 2 Giga denominato debian.img)

qemu -cdrom "debian-testing-i386-xfce-lxde-CD-1.iso" -hda debian.img -m 256 -boot d  -L "c:\Documents and Settings\l.innocenti\Desktop\qemu" (per installare il sistema partendo dalla Iso e facendo il boot da CD virtuale ovvero d)

Debian in fase di installazione in QEmu
dopo l'installazione si puo' lanciare Debian con il comando
qemu  -hda debian.img -m 512  -L "c:\Documents and Settings\l.innocenti\Desktop\qemu"


dato che non e' possibile usare kqemu (sempre per permessi di amministratore) l'esecuzione sotto Windows e' piuttosto lenta

Debugger integrato ESP32S3

Aggiornamento In realta' il Jtag USB funziona anche sui moduli cinesi Il problema risiede  nell'ID USB della porta Jtag. Nel modulo...