VirtualBox OSE 1.6.1~svn per Debian e Ubuntu
27 Maggio, 2008 7 commenti
In questo post parlavo dell’installazione dall’albero di sviluppo svn (Subversion command line client tool) generando in quel caso dei files binari, scegliendo solo l’esecuzione senza installarli per poter provare contemporaneamente la versione PUEL e quella OSE (che purtroppo manca del componente USB).
Tra i vari messaggi ricevuti negli ultimi giorni dalla mailing list di virtualbox, mi ha subito colpito quello che cercavo da tempo, (avevo scritto anche a Innotex.de senza avere risposte, ma forse non avevo cercato bene).
La cosa è abbastanza banale, ma mi era sfuggita. Direte voi, ma di cosa stai parlando? Semplicemente della compilazione dei sorgenti di virtualbox-ose e relativa pacchettizzazione.
Il messaggio della ML recita:
fakeroot debian/rules binary
in una sola riga c’è la soluzione 8)
Questa invece è la (lunga) preparazione dell’albero e l’installazione dei pacchetti necessari alla compilazione:
Dichiaramo nella variabile $FILES quali sono i pacchetti da installare:
FILES="gcc g++ bcc iasl xsltproc uuid-dev zlib1g-dev \
libidl-dev libsdl1.2-dev libxcursor-dev libqt3-headers libqt3-mt-dev \
libasound2-dev libstdc++5 libhal-dev libpulse-dev libxml2-dev libxslt1-dev \
subversion libqt4-dev"
$ sudo apt-get install $FILES
scarichiamo i sorgenti d SVN
$ svn co http://virtualbox.org/svn/vbox/trunk vbox
U vbox/tools/solaris.x86
U vbox/tools/win.x86
U vbox/tools/Makefile-ose.kmk
U vbox/tools/CommonFetch.kmk
…….
U vbox/kBuild/bin/freebsd.x86/kmk_ash
U vbox/kBuild/envwin.cmd
U vbox/kBuild/header.kmk
L'oggetto esterno è stato estratto alla revisione 1645.
Estratta revisione 9092.
Spostiamoci nella directory e configuriamo:
$ cd vbox
$ ./configure
Checking for environment: Determined build machine: linux.x86, target
machine: linux.x86, OK.
Checking for kBuild: found, OK.
Checking for gcc: found version 4.2.3, OK.
Checking for as86: found version 0.16.17, OK.
Checking for bcc: found version 0.16.17, OK.
Checking for iasl: found version 20061109, OK.
Checking for xslt: found, OK.
Checking for pthread: found, OK.
Checking for libxml2: found version 2.6.31, OK.
Checking for libxslt: found version 1.1.22, OK.
Checking for libIDL: found version 0.8.10, OK.
Checking for zlib: found version 1.2.3.3, OK.
Checking for libpng: found version 1.2.15beta5, OK.
Checking for SDL: found version 1.2.12, OK.
Checking for X libraries: found, OK.
Checking for Xcursor: found, OK.
Checking for Qt3: found version 3.3.8b, OK.
Checking for Qt3 devtools: found version 3.3.8b, OK.
Checking for Qt4: found version 4.3.4, OK.
Checking for Qt4 devtools: found version 4.3.4, OK.
Checking for Qt4 uic3: found version 4.3.4, OK.
Checking for static stc++ library: found, OK.
Checking for Linux kernel sources: found version 2.6.24, OK.
Checking for ALSA: found version 1.0.15, OK.
Checking for PulseAudio: found version 0.9.10 API version 11, OK.
Checking for compiler.h: compiler.h not found, OK.
Successfully generated '/Software/vbox/AutoConfig.kmk' and
'/Software/vbox/env.sh'.
Source '/Software/vbox/env.sh' once before you start to build VBox:
source /Software/vbox/env.sh
kmk
To compile the kernel module, do:
cd ./out/linux.x86/release/bin/src
make
Enjoy!
quindi fino qui non abbiamo fatto altro che prepararci per la compilazione, che va comunque fatta,
ma che avrà come risultato finale i pacchetti formato .deb da poter installare su Ubuntu o Debian,
da me per esempio, compilato su Ubuntu Hardy, ha funzionato su Debian sid senza problemi.
Per generare questi pacchetti va installato fakeroot
$ sudo apt-get install fakeroot debhelper
infine compiliamo con:
$ fakeroot debian/rules binary
dh_testdir
cd /home/Software/vbox && ./configure --odir=/home/Software/vbox/debian
--ose
Checking for environment: Determined build machine: linux.x86, target
machine: linux.x86, OK.
Checking for kBuild: found, OK.
…..
dh_gencontrol -- \
-Valsa=libasound2 \
-Vpulse=libpulse0 \
-Vsdlttf=libsdl-ttf2.0-0
dh_md5sums
dh_builddeb
dpkg-deb: costruisco il pacchetto `virtualbox-ose' in
`../virtualbox-ose_1.6.1~svn-1_i386.deb'.
dpkg-deb: costruisco il pacchetto `virtualbox-ose-dbg' in
`../virtualbox-ose-dbg_1.6.1~svn-1_i386.deb'.
make[1]: Leaving directory `/home/Software/vbox'
I pacchetti binari verranno quindi posizionati nella directory precedente, Se volete provare quelli compilati da me, potete scaricarli da qui :
md5sum.txt | 1 KB | 26/05/2008 | 00:46:58 |
virtualbox-ose-dbg_1.6.1~svn-1_i386.deb | 7613 KB | 26/05/2008 | 00:28:55 |
virtualbox-ose_1.6.1~svn-1_i386.deb | 6744 KB | 26/05/2008 | 00:28:42 |
che vanno installati con:
$ sudo dpkg -i virtualbox-ose*deb
$ apt-cache show virtualbox-ose
Package: virtualbox-ose
Status: install ok installed
Priority: optional
Section: misc
Installed-Size: 22288
Maintainer: Sun Microsystems, Inc.
Architecture: i386
Version: 1.6.1~svn-1
Depends: adduser, libc6 (>= 2.4), libgcc1 (>= 1:4.1.1-21), libglib2.0-0 (>= 2.12.0), libidl0, libqt3-mt (>= 3:3.3.8-b), libsdl1.2debian (>= 1.2.10-1), libstdc++6 (>= 4.2.1-4), libx11-6, libxcursor1 (>> 1.1.2), libxml2 (>= 2.6.27), libxslt1.1 (>= 1.1.20), libxt6, psmisc
Pre-Depends: debconf (>= 1.1) | debconf-2.0
Recommends: binutils, bridge-utils, gcc, libasound2, libhal1 (>= 0.5), libpulse0, libsdl-ttf2.0-0, linux-headers, make, uml-utilities
Conffiles:
/etc/init.d/vboxnet acdcd2b5e42b4c8d7cb33a56bf3dd3ec
/etc/init.d/vboxdrv 0cba99b8a3862675221fb8bb0df04dc7
Description: Sun xVM VirtualBox
VirtualBox is a powerful PC virtualization solution allowing you to run a
wide range of PC operating systems on your Linux system. This includes
Windows, Linux, FreeBSD, DOS, OpenBSD and others. VirtualBox comes with a broad
feature set and excellent performance, making it the premier virtualization
software solution on the market.
Enjoy 🙂
Ed ecco una Sidux Debian in VirtualBox OSE, e non osé 😉
mitico !!!
Mille Grazie 🙂
@ricohet
grazie dei complimenti 🙂
ciao,
Antonio
Pingback: VirtualBox 1.6.2 OSE, compilazione e installazione del pacchetto .deb | Yourpage live news aggregator
Ciao e grazie della guida, mi mancava proprio questa istruzione per costruire il pacchetto
Sula guida ufficiale non c’era – comunque è fatta benissimo, non per niente è SUN 🙂
Ciao 🙂
@Underpass
in effetti tempo fa ho perso tempo anch’io, avevo scritto anche a innotek, ma poi in mailing list c’è stato un messaggio “illuminante” 🙂
Ciao e grazie dei complimenti,
Antonio
Volevo chiederti anche un’altra cosa, ma rispondimi pure con meno premura 😉
Vorrei utilizzare sempre la stessa directory per poter eventualmente in futuro scaricare di nuovo da SVN.
C’è bisogno in questo caso di dare questi comandi prima di ricompilare?
source /Software/vbox/env.sh
kmk clean
Oppure posso ricompilare e basta?
@Underpass
puoi lasciare i sorgenti così, se aggiorni la release svn, verranno sovrascritti i files più nuovi. Per la compilazione non è necessario impostare le variabili di snv.sh, se ne occupa fakeroot che legge il file rules.
Al momento sto usando invece un altro metodo, basta usare:
$ dpkg-buildpackage -rfakeroot -us -uc
che crea anche il pacchetto sorgente e il file .dsc da inserire nel repo source
Ciao 🙂