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

giovedì 14 marzo 2024

Da VirtualBox a PC

L'idea di questa prova era quella di configurare un thin client senza connetterlo a tastiera, monitor e mouse

Ho avuto in prova un Praim C33 ed ho deciso di usarlo come macchina test

 


 La macchina monta 2 Gb di Ram ed un disco mSATA da 8 G quindi la distro deve essere molto leggera...mi sono orientato su Alpine Linux



Mi sono creato su Virtualbox una macchina virtuale con Alpine e Docker (circa 500 Mb di spazio disco occupato) ed ho configurato utenti, rete ed accessori vari

Poi con il comando il file vdi e' stato convertito in img


VBoxManage internalcommands converttoraw Alpine.vdi Alpine.img

L'immagine e' stata quindi flashata sull' mSata tramite un adattatore USB-mSata e flashata con BalenaEtcher oppure tramite dd

dd if=Alpine.img of=/dev/sdb bs=1k conv=sync,noerror status=progress


(attenzione il disco e' dichiarato da 8G ma poi e' risultato essere piu' piccolo quindi l'immagine di Virtualbox doveva essere inferiore a 8G)

A questo punto ho rimontato il thin client ed e' partito regolarmente con l'immagine creata su Virtualbox....attenzione il Bios deve essere impostato come Legacy oppure Legacy+UEFI non solo UEFI

 

giovedì 8 febbraio 2018

Windows 7 in Virtualbox

Tentando di montare una macchina virtuale Windows 7 64 bit su VirtualBox (con host Mac) sono incappato in questo errore nelle primissime fasi

Error code : 0x000000C4



Il classico in cui se non ci fossero i forum non ne sarei mai venuto a capo. La soluzione e' quella di inserire la stringa da linea di comando prima di avviare la macchina virtuale



VBoxManage setextradata "Windows 7" VBoxInternal/CPUM/CMPXCHG16B 1

Fatto cio' l'installazione procede senza problemi

martedì 27 dicembre 2016

Debian dual monitor su Virtual Box

Come usare Debian usando VirtualBox in modalita' dual monitor

Per prima cosa si deve creare una macchina virtuale con due monitor




Dopo di cio' si installano le Guest Additions secondo la classica trafile

apt-get install build-essential
apt-get install linux-headers-$(uname -r)
VBoxLinuxAdditions.run 
reboot

A questo punto con la macchina virtuale attiva si deve abilitare il secondo schermo virtuale dal menu Visualizza




ed alla fine si manda tutto a pieno schermo


mercoledì 12 agosto 2015

Hyper-V e Virtualbox

Da quando ho installato l'SDK di Windows Phone (e l'annesso emulatore) ho avuto la sgradita sorpresa che Virtualbox (cosi' come WMWare) non risultano piu' funzionanti perche' e' possibile avere in esecuzione un solo hypervisor per volta...peccato che a me serva anche una Linux box anche se virtualizzata

La soluzione del problema e' questa (copiata da qui):

1) Si clicca  Tasto Windows+X e si apre una finestra di shell come amministratore

2) Si digita bcdedit /copy {current} /d "No Hyper-V".Questo comando riporta come risposta una stringa tra parentesi graffe. Il testo tra le graffe deve essere copiato perche' sara' utile per il comando successivo

3) Si digita bcdedit /set {inserire_qui_codice_copiato} hypervisorlaunchtype off

4) A questo punto si effettua il logout e si, tenendo premuto il tasto SHIFT, si clicca con il mouse per riavviare il sistema

5) Al reboot sara' presente una nuova opzione (non di default) di boot No Hyper-V che dovra' essere usata se si vuole successivamente impiegare Virtualbox od altro software di virtualizzazione


martedì 28 aprile 2015

Windows Phone SDK su Virtualbox

Sto sviluppando una applicazione in Phonegap e volevo provare a fare il porting in Windows Phone....peccato che non ho una macchina fisica con installato Windows 8.
Per questo motivo ho provato ad installare il sistema di sviluppo su una macchina virtuale VirtualBox partendo da un disco di installazione Windows 8 Pro


I primi problemi non hanno tardato ad arrivare. Per installare il sistema non e' stato possibile usare l'installer online ma ho dovuto prendere l'immagine iso del DVD dell'SDK (circa 1.6 Gb) ed installarlo in questo modo
Una volta avuto l'SDK funzionante ho visto che il sistema di creazione dell'interfaccia utente non funzionava, non era possibile comporre i form delle pagine dell'applicazione....leggendo a giro ho visto che il problema era legato ad un conflitto tra l'installazione di Silverlight di W8 e quello dell'SDK. E' stato necessario rimuovere l'SDK e Silverlight e ripartire da capo con l'installer

Alla fine sono riuscito ad avere l'IDE completa ed ho trovato l'ultima sorpresa. Nei dispositivi non era presente l'opzione dell'emulatore del Windows Phone


Lanciando a  mano il software dell'emulatore, dall'esterno dell'ambiente di sviluppo, e' risultato un po' piu' chiaro il motivo.....l'emulatore di Windows Phone gira come macchina virtuale direttamente dentro a Windows ma Virtualbox, essendo lui stesso un ambiente di virtualizzazione, non permette un ambiente virtuale dentro un ambiente virtuale.

Nessuna soluzione. O mi compro un telefono Windows o cerco un computer fisico con Windows 8 installato dove far girare l'emulatore

venerdì 23 gennaio 2015

VPN Host to Lan con Zeroshell e VirtualBox


In questo post viene mostrato come configurare una VPN Host to Lan mediante l'uso di Zeroshell (il  tutto virtualizzato per comodita' su VirtualBox)

Lo scenario e' il seguente:
1) un server su rete interna con indirizzi 10.0.0.x su cui gira un server SSH. Lo scopo e' di collegarsi via VPN a questo server (per la cronaca e' una installazione minimale di Debian)

2) una macchina router cui gira Zeroshell, una distribuzione firewall/router che ha integrata un server VPN basato su OpenVPN. Questa macchina ha due schede di rete: una WAN con indirizzo 150.217.xx.xx ed una scheda interna che collega la LAN 10.0.0.x

3) una macchina esterna, in particolare una Ubuntu, che deve accedere come client alla VPN




Per la virtualizzazione un paio di indicazioni:
1) Tutte le macchine virtuali devono avere le schede di rete virtuali in modalita' Bridge
2) La macchina Zeroshell deve avere due interfacce di rete in quanto lavora come router. Facendo le prove su un portatile ho montato una scheda di rete USB

Questa e' la configurazione degli indirizzi di rete. L'interfaccia VPN99 e' virtuale ed e' ovviamente quella della VPN



Si aggiunge un utente (username/password) che dovra' accedere alla VPN


si imposta poi la VPN (modalita' Host to Lan, primo tab). Da notare che e' stata reimpostata la porta di ascolto di default di OpenVPN (spostata su 8080/TCP). Il pool di indirizzi della VPN e' del tipo 192.168.250.x ma non interessa molto perche' saranno trasparenti. Da ricordarsi di spuntare NAT

A questo punto e' bene salvarsi il file del certificato del server (sara' poi installato sul client). Si deve entrare su Trusted CAs ed esportare il file TrustedCas.pem


Per avvisare Zeroshell come instradare verso la rete interna il traffico VPN si deve cliccare il pulsante Net nella schermata precedente e settare il pool di indirizzi della rete interna


La parte Zeroshell e' terminata, passiamo a configurare il client. Su Ubuntu e' particolarmente immediato. Dal menu della configurazione delle interfacce di rete si puo' impostare anche un nuovo client VPN. In questo caso si deve selezionare OpenVPN come tipologia di connessione
Si seleziona l'indirizzo WAN di Zeroshell e si inseriscono le credenziali dell'utente ed il certificato del server (TrustedCa.pem)


Si va quindi in configurazione avanzate e si modifica la porta di ascolto (8080) e si spunta la compressione LZO e TAP (questo e' importante, altrimenti la connessione va in TUN e ci si collega alla VPN ma non si arriva sulla rete interna)



a connessione avvenuta deve comparire l'interfaccia virtuale


a questo punto si si puo' collegare da qualunque rete alla rete interna sul server ssh (sempre che la rete da cui ci si connette non filtra la porta 8080 ma cio' e' improbabile perche' sulla stessa porta girano spesso servizi web)






mercoledì 20 agosto 2014

Freenas su Virtualbox

Per fare qualche prova con FreeNas, non avendo a disposizione una macchina fisica su cui provarlo, ho deciso di virtualizzarlo ed ho visto che non e' poi cosi' banale

Per prima cosa,visto che FreeNas e' basato su BSD, si deve impostare il sistema operativo
Attenzione: ho provato ad installare la versione a 64 bit ma in fase di boot (dopo l'installazione) andava in kernel panic per cui e' stata impiegata la versione a 32 bit 


I dettagli della configurazione sono
Ram almeno 4 Gb per usare ZFS
Scheda di rete in bridge

Ho provato anche a creare due dischi fissi (uno per FreeNas e l'altro per i dati) ma all'interno di Virtualbox viene visto solo il disco di boot

Al termine del boot, nella finestra di shell, viene visualizzato l'indirizzo a cui connettersi con il browser per l'amministrazione

WebAdmin di FreeNas
al primo login si deve scegliere la password dell'amministratore (root)
Shell di FreeNas


Dopo aver seguito le istruzioni a questo link ed aver creato un Volume attivo ed un Dataset, dopo aver creato un utente e messo il disco in condivisione, questo compare nella lista delle cartelle condivise





venerdì 18 aprile 2014

Problemi di Ubuntu 14.04 con Virtualbox


Cercando di dare un'occhiata alle novita' di Ubuntu 14.04, ho provato ad installare Ubuntu 14.04 in Virtualbox. Di solito non ci sono problemi tra Virtualbox ed Ubuntu ma in questo caso il risultato finale e' quello in immagine, ovvero una finestra microscopica
Installare le estensioni di Virtualbox non ha migliorato la situazione


Ho risolto il problema facendo l'upgrade di Virtualbox (alla versione 4.3.10) e reinstallando ex-novo le estensioni di Virtualbox. In ogni caso per far girare decentemente Ubuntu 14.04 ho dovuto assegnare meta' della Ram (1.4 Gb) ed abilitare 128Mb di Ram video con accelerazione 3D

lunedì 16 settembre 2013

Mac Os X in Virtualbox

Mac Os X e' virtualizzabile su VirtualBox in modo nativo ma non e' banale da configurare.

Si ricorda che pur possedendo una licenza di OsX (come nel mio caso) non e' possibile in modo legale virtualizzare il sistema


Per prima cosa va scelto il sistema a 64 Bit (almeno per le versioni moderne tipo Mountaion Lion)


Successivamente si deve garantire almeno 1Gb di Ram, si deve selezionare ICH9 e si deve togliere l'abilitazione di EFI

Per le CPU piu' sono meglio e'

Ovviamente devono essere abilitate le accelerazioni hardware

La memoria video deve impostata al valore massimo con accelerazione hardware



Per quanto riguarda i dischi che si devono montare non riporto le indicazioni esatte perche' si tratta di materiale che puo' essere reperito in modo non legale dai torrent. L'unica cosa che si puo' dire e' che bisogna montare prima un boot da cdrom assieme al' hd virtuale.
Attenzione : e' riportato da altri utenti  che i file che si scaricano da torrent effettuano traffico via rete su indirizzi non appartenenti ad Apple. Cio' puo' voler indicare che nel file immagine sia installato software legato a botnet o simili. Per questo motivo io lo ho provato con la scheda di rete virtuale disattivata


Se si avvia il sistema si entra nell'installazione


e poco dopo si arriva al desktop


Al momento non sono riuscito a far funzionare le estensioni di Virtualbox per cui non sono disponibili il copia/incolla, le cartelle condivise e la modalita' a tutto schermo

Guest SO 64 Bit in Virtualbox

Per usare un sistema operativo in modalita' Guest in Virtualbox non e' sufficiente avere il sistema Host a 64 bit.



Devono essere infatti attivate le opzioni AMD-V e VT-x. Esistono infatti alcuni processori (un po' vecchietti ma sono quelli che uso io) che hanno l'estensione 64 bit ma non la virtualizzazione
Inoltre deve essere impostata la giusta versione del SO dal menu a tendina. Come si puo' vedere dalla figura sottostante esistono differenti opzioni per la versione 32 e 64 bit del medesimo SO


mercoledì 11 settembre 2013

Errore OpenGl (FreeGlut) in Virtualbox

UPDATE 2
------------------------------------------------------------
Dopo un po' di prove ho isolato il problema
Il programma che disegna il cubo e che funzionava in CentOS e non in Debian ha smesso di funzionare nel momento in cui ho installato le Guest Additions alla macchina CentOS.
Per cui il difetto non e' nelle librerie OpenGL ma nell'implementazione OpenGL fatta da Virtualbox nelle Guest Additions
--------------------------------------------------------------

UPDATE
------------------------------------------------------------
ho riprovato dopo un po' di tempo e mi sono reso conto che l'errore di segmentazione su VirtualBox delle OpenGL non e' totalmente a carico di software di virtualizzazione

Infatti questo codice

//////////////////////////////////////////////////////////////
#include <GL/gl.h>
#include <GL/glu.h>
#include <GL/glut.h>

void init(void) 
{
   glClearColor (0.0, 0.0, 0.0, 0.0);
   glShadeModel (GL_FLAT);
}

void display(void)
{
   glClear (GL_COLOR_BUFFER_BIT);
   glColor3f (1.0, 1.0, 1.0);
   glLoadIdentity ();             /* clear the matrix */
           /* viewing transformation  */
   gluLookAt (0.0, 0.0, 5.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0);
   glScalef (1.0, 2.0, 1.0);      /* modeling transformation */ 
   glutWireCube (1.0);
   glFlush ();
}

void reshape (int w, int h)
{
   glViewport (0, 0, (GLsizei) w, (GLsizei) h); 
   glMatrixMode (GL_PROJECTION);
   glLoadIdentity ();
   glFrustum (-1.0, 1.0, -1.0, 1.0, 1.5, 20.0);
   glMatrixMode (GL_MODELVIEW);
}

int main(int argc, char** argv)
{
   glutInit(&argc, argv);
   glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB);
   glutInitWindowSize (500, 500); 
   glutInitWindowPosition (100, 100);
   glutCreateWindow (argv[0]);
   init ();
   glutDisplayFunc(display); 
   glutReshapeFunc(reshape);
   glutMainLoop();
   return 0;
}
//////////////////////////////////////////////////////////////
compilato con 
gcc cubo.cpp -lglut -lGLU
Su Debian Testing in Virtuabox crasha brutalmente




Invece su CentOS , installando le librerie come segue

yum install freeglut freeglut-devel libX11-devel mesa-libGLU-devel

il programma funziona correttamente



c'e' da dire che CentOS usa generalmente librerie e programmi piu' vecchi rispetto a Debian Testing per cui il problema potrebbe essere proprio da ricercare nelle librerie OpenGL ed il non aggiornamento di Virtualbox
------------------------------------------------------------



Tentando di compilare il sorgente sottostante (un esempio di OpenGl) in una Debian Box in VirtualBox e' comparso il seguente messaggio


OpenGL Warning: XGetVisualInfo returned 0 visuals for 0x8807240
OpenGL Warning: Retry with 0x8002 returned 0 visuals


Errore di segmentazione


----------------------------------------
#include "GL/freeglut.h"
#include "GL/gl.h"

/* display function - code from:
     http://fly.cc.fer.hr/~unreal/theredbook/chapter01.html
This is the actual usage of the OpenGL library. 
The following code is the same for any platform */
void renderFunction()
{
    glClearColor(0.0, 0.0, 0.0, 0.0);
    glClear(GL_COLOR_BUFFER_BIT);
    glColor3f(1.0, 1.0, 1.0);
    glOrtho(-1.0, 1.0, -1.0, 1.0, -1.0, 1.0);
    glBegin(GL_POLYGON);
        glVertex2f(-0.5, -0.5);
        glVertex2f(-0.5, 0.5);
        glVertex2f(0.5, 0.5);
        glVertex2f(0.5, -0.5);
    glEnd();
    glFlush();
}

/* Main method - main entry point of application
the freeglut library does the window creation work for us, 
regardless of the platform. */
int main(int argc, char** argv)
{
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_SINGLE);
    glutInitWindowSize(500,500);
    glutInitWindowPosition(100,100);
    glutCreateWindow("OpenGL - First window demo");
    glutDisplayFunc(renderFunction);
    glutMainLoop();    
    return 0;
}
----------------------------------------

Il problema e' relativo alla software di virtualizzazione (Virtualbox) che, nonostante sia spuntato l'utilizzo dell'accelerazione 3D, non gestisce in modo corretto OpenGL e quindi genera un errore che su una macchina reale sarebbe assente

mercoledì 17 luglio 2013

Debian Hurd su VirtualBox

Giusto per curiosita' ho provato ad installare Debian/Hurd...ovviamente in una macchina virtuale per non fare troppi danni

La storia dello sviluppo di Hurd e' decennale e dopo aver letto che era uscita la nuova Debian Hurd ho voluto provarlo. So bene che non e' consigliato l'uso di produzione e che solo 2/3 dei pacchetti Debian sono disponibili....e' solo una prova con una prima incredibile sorpresa

Dopo aver configurato la macchina virtuale con un disco da 3Gb (come piu' o meno sono solito fare) ho lanciato il cd di installazione ed al momento di effettuare il partizionamento del disco fisso mi sono accorto che "semplicemente" non era elencato



Dopo una buona mezz'ora di riavvi mi sono messo alla ricerca su Internet di qualche indizio ed ho trovato che uno dei limiti attuali di Hurd e' quello di non gestire i dischi SATA ma di gestire solo in controller IDE

A questo punto sono ritornato in Virtualbox, ho cancellato il disco fisso ed il controller (di default sono SATA) ed ho creato un disco virtuale IDE


a questo punto l'installazione e' partita

Comunque una volta arrivati, dopo il riavvio, al login le impressioni di utilizzo sono pessime. Al di la' dei comandi che sono (ovviamente) differenti da Linux anche le operazioni piu' banali pongono problemi e vi sono molti errori. Il sistema e' sostanzialmente non usabile

lunedì 25 febbraio 2013

Freeglut su Virtualbox

Per fare qualche prova ho deciso di provare FreeGlut su una macchina virtuale
Per prima cosa si deve abilitare il supporto di accelerazione 3D alla macchina virtuale (altrimenti le librerie FreGlut si rifiutano di funzionare)òl



per il test ho provato ad usare il codice presente a questo link compilando mediante la riga di comando
g++ test.cpp -o test -lglut

lanciando l'eseguibile viene risposto con il seguente errore

-------------------------------------------

luca@debian:~$ ./test 
OpenGL Warning: XGetVisualInfo returned 0 visuals for 0x8b484e8
OpenGL Warning: Retry with 0x8002 returned 0 visuals
Errore di segmentazione
-------------------------------------------

la soluzione a questo errore, ripresa da questo sito, e' la seguente
-------------------------------------------
export LIBGL_ALWAYS_INDIRECT=1
-------------------------------------------

una volta modificata questa variabile di ambiente rilanciando l'eseguibile il risultato e' quello atteso



giovedì 7 febbraio 2013

ADB in Virtualbox

In alcuni casi puo' essere necessario installare una macchina virtuale per sviluppare in Android senza particolari controindicazione
Qualche problema potrebbe venire dall'utilizzo di Adb con un telefono reale a causa del livello di isolamento derivante dalla macchina virtuale

Nel caso in cui si usi Virtualbox la soluzione e' costuita da installare i driver adb nella macchina host (questo per Windows, in Linux il problema non si pone) e successivamente di aggiungere mediante l'icona con il segno + il device alla macchina virtuale (vedi immagine sottostante)




A questo punto si puo' accendere la macchina virtuale e configurare il dispositivo nella macchina guest

lunedì 4 febbraio 2013

Modalita' scalata in VirtualBox

Una delle cose piu' fastidiose in VirtualBox e' la modalita' scalata che in pratica fa scomparire il menu' di Virtualbox dalla finestra dell'applicazione (impedendo cosi' di ripristinare la modalita' precedente via mouse)

Modalita' a finestra

Modalita' Scalata


per poter riconquistare il menu si deve premere la combinazione CTRL destro + F

venerdì 4 gennaio 2013

Aggiungere Shared Folder a VirtualBox

Nel caso in esame si scambiano file tra una macchina virtuale Guest Ubuntu e una macchina reale Host Windows Xp

Per permettere lo scambio dei file e' necessario in modo preliminare installare le Guest Additions.
In seguito si definisce sul computer Windows una directory condivisa (in questo caso con grande sforzo di fantasia chiamata scambio.....attenzione a non mettere caratteri speciali) e la si definisce nel menu Dispositivi\Cartelle Condivise di VirtaulBox


 Alla fine il risultato deve essere cosi'

Per finire si deve montare la cartella condivisa dentro Ubuntu con i comandi
mkdir /mnt/scambio
mount -t vboxsf scambio /mnt/scambio



una ultima avvertenza: i nomi dei file che si intendono scambiare non devono contenere caratteri speciali

venerdì 21 dicembre 2012

FreeDos in VirtualBox

Sempre piu' spesso mi capita di dover ritirare fuori dei vecchi programmi in Dos che al momento si rifiutano di girare sui moderni Windows

A questo punto (avevo gia' provato con Qemu) e' il turno di VirtualBox di far girare Freedos

Per prima cosa i settaggi di base
Ram 32 Mb
Disco fisso 200 Mb
Cd l'immagine di FreeDos 1.1

attenzione a come si imposta la scheda di rete virtuale. Per l'uso successivo e' meglio scegliere Bridged



la prima cosa da fare una volta avviata e' creare il disco C (opzione 2)


scegliendo poi "Create Dos Partition/Create Primary Dos Partition" ed Esc fino al reboot della macchina

Una volta ripartita la macchina virutale si sceglie l'opzione 1 "Install to HardDisk"

ci sara' una serie di errori di bad sector .. non c'e' da preoccuparsi
una volta riconquistato il controllo si formatta il disco fisso virtuale


si inizia l'installazione e si continua ad andare avanti fino alla scelta dei moduli in cui si aggiungono quelli net e gui


L'installazione di base e' terminata ma c'e' un ulteriore passo da fare. Non esistono le Guest Additions per Dos per cui per inserire dei programmi o dei file nella macchina virtuali questi devono essere fatti passare attraverso la rete virtuale via FTP per cui si procede alla configurazione della rete stessa e del server FTP

Per abilitare la rete virtuale si deve editare il file autoexec.bat




rimuovendo il REM all'inizio della riga che ha LH PCNTPK e rimuovendo il REM all'inizio della riga che ha DHCP (se si ha un DHCP server attivo)

Per configurare il Server Ftp si copia il file di configurazione
copy C:\FDOS\DOC\MTCP\SAMPLE.CFG C:\FDOS\MTCP.CFG

e si edita
edit C:\fdos\mtcp.cfg

cambiando i parametri
MTU 1472

e rimuovendo i REM dalle righe seguenti

ftpsrv_password_file c:\ftppass.txt
ftpsrv_log_file c:\ftpsrv.log
FTPSRV_FILEBUFFER_SIZE 16
FTPSRV_TCPBUFFER_SIZE 16
FTPSRV_PACKETS_PER_POLL 2



a questo punto si crea il file c:\ftppass.txt
edit c:\ftppass.txt

mettendo una riga come segue
luca     password      [none]     [any]      all


nb: i campi sono separati da un tabulatore
il server Ftp si lancia con il comando
ftpsrv

e dovrebbe apparire una schermata come la seguente

con Filezilla si puo' quindi interagire con il server (in questo caso all'indirizzo 10.200.3.94)

e dopo tanta fatica si puo' usare il programma DOS di cui si aveva bisogno


Geologi

  E so anche espatriare senza praticamente toccare strada asfaltata