Compilazione virtualbox-ose_2.0.51+svn, fix “effective uid is not root”

10 10 2008
logo Sun xVM VirtualBox

logo Sun xVM VirtualBox

Per continuare la saga di VirtualBox OSE, se avete letto questo articolo, stiamo continuando a tenere i pacchetti svn di VirtualBox sul repo di M0rF3uS, consapevoli dell’utilità di avere la versione Open Source Edition (OSE) aggiornata il più possibile, specie quando ci sono fix importanti.

Per ora abbiamo deciso di tenere, compresi i sorgenti, solo le ultime 5/6 versioni compilate per non avere spazio occupato inutilmente.

La scelta di avere un nostro repository (non ufficiale) è ovvia perché la versione ultima comincia a avere piccoli problemi, che comunque verranno risolti nella release successiva, e il nostro pensiero è quello di essere utili a chi voglia usare e provare la versione Open Source, priva (o quasi) da vincoli e sicuramente più fresca, anche se occorre rinunciare alle caratteristiche (USB, RDP) della versione PUEL (Personal Use and Evaluation License).

Interessanti a questo proposito le discussioni di questo topic, riguardanti la natura del progetto, con frasi tipo:

“The problem for me is how the Sun team have lobotomised the OSE version compared to the PEUL version”

IMHO, VBox is not really a community project, hence there are no community developers

Per tornare a noi, Il processo è ormai quasi standardizzato, anche se a volte piccoli ostacoli vengono superati con l’aiuto del forum di virtualbox e le mailing-lists -users e -dev.

La penultima versione è stata ricompilata a causa di un errore che impediva all’utente normale (pur inserito nel gruppo vboxusers) di poter eseguire VirtualBox, l’errore si presentava così:

error: “effective uid is not root”
VirtualBox: SUPR3HardenedMain: effective uid is not root (euid=1000 egid=100 uid=1000 gid=100)

Sul forum c’era già la soluzione, bastava configurare con l’opzione “–disable-hardening” :)

Nel nostro caso, occorreva però effettuare le modifiche nei files della directory debian, prima di usare dpkg-buildpackages. Abbiamo quindi modificato il file vbox/debian/LocalConfig.kmk cambiando il valore da “1″ a “0″ nella riga:

VBOX_WITH_HARDENING        := 0

Questa modifica è disponibile a partire dalla versione 13003,

I pacchetti si possopno installare sia su Debian etch/lenny/sid che su Ubuntu hardy/intrepid

Per farlo bisogna aggiungere al file /etc/apt/sources.list le righe:

#M0rF3uS+adoldo
deb http://www.ilportalinux.it/repository/ hardy binary
deb-src http://www.ilportalinux.it/repository/ hardy binary

Se invece siete pigri e volete solo avere gli pacchetti, potete scaricarli da:

[   ] virtualbox-ose_2.0.51+svn-1-adoldo-13104_i386.deb 09-Oct-2008 11:47 5.6M
[   ] virtualbox-ose-dbg_2.0.51+svn-1-adoldo-13104_i386.deb 09-Oct-2008 11:46 18M

mentre i sorgenti sono disponibili in:

[   ] virtualbox-ose_2.0.51+svn-1-adoldo-13104.dsc 09-Oct-2008 11:49 663
[   ] virtualbox-ose_2.0.51+svn-1-adoldo-13104.tar.gz 09-Oct-2008 11:51 83M
[   ] virtualbox-ose_2.0.51+svn-1-adoldo-13104_i386.changes 09-Oct-2008 11:51 1.0K

Considerando che i links che vedete rimarranno solo per qualche settimana ;)
Sarebbe gradito un feedback, solo per la nostra soddisfazione.

Enjoy :)

Debian in virtualbox OSE svn adoldo

Debian in virtualbox OSE svn adoldo


Azioni

Informazione

14 risposte

11 10 2008
Underpass

Ciao,
Due domande:

1) Ho provato oggi a compilare da SVN ed è andato tutto bene.

Però durante l’utilizzo, la macchina virtuale WinXP va in crash e nella finestra di virtualbox lo stato indica “Aborted”.

Ho provato a rimettere un vecchio pacchetto SVN del 20 settembre e il problema non si verifica. Tu hai qualche idea?

2) Come si fa ad impostare i CFLAGS per la compilazione in Debian? con fakeroot debian/rules binary?

Grazie, ciao :)

11 10 2008
Antonio Doldo

@Underpass
1) a essere sincero, credo che qualche chiamata “illegale” faccia cadere XP (ma sai gli basta boco), quello che mi viene in mente è di ricreare la macchina virtuale, associando il disco e rimuovendo eventuali guest additions installare per poi reinstallarle. E’ vero pure che se la versione del 20 settembre funziona qualche differenza ci dovrà pur essere, dai un’occhiata ai log. Sempre come consiglio in questi casi si può rinominare .VirtualBox partendo quindi da un VirtualBox.xml nuovo, associando il disco .VirtualBox-old/VDI/disco.vdi.
per la domanda 2 in effetti durante la fase di build appare:
“dpkg-buildpackage: set CFLAGS to default value: -g -O2″
ma non saprei dirti dove si può cambiare l’impostazione di default, forse in Config.kmk o come dici tu nel file rules
qualche link forse ci può aiutare:
http://www.pluto.it/files/ildp/traduzioni/pts-debian-package-tutorial/pts-debian-package-tutorial.html

http://manpages.ubuntu.com/manpages/intrepid/man1/dpkg-buildpackage.html

CFLAGS Optimization options which are passed to the Debian build system
and can/should be overriden by the package build if needed
(default value: -g -O2, or -g -O0 if noopt is specified in
DEB_BUILD_OPTIONS). Overriding options can be used to
explicitely set a higher optimization level, or work around com‐
piler bugs, which only can be seen with some optimization levels
(the last opt level “wins”).

ciao,
Antonio

11 10 2008
Underpass

Ciao e grazie per la risposta.

Sto cercando la questione dei CFLAGS su internet, ma non trovo niente di definitivo… Se ci arrivi prima tu, lo scriverai…? ;)

Per la domanda 1: tu quindi mi assicuri che è possibile staccare temporaneamente la macchina virtuale senza perderla?

11 10 2008
Antonio Doldo

@Underpass
Credo che per le impostazioni delle CFLAGS il file sia Config.kmk anche se secondo me sarebbe più corretto provare a impostarle nel file “debian/LocalConfig.kmk”:

#
# Compiler optimization flags.
#
ifeq ($(KBUILD_TYPE),debug)
VBOX_GCC_FP ?= -fno-omit-frame-pointer
VBOX_GCC_OPT ?= -O0
VBOX_VCC_FP ?= -Oy-
VBOX_VCC_OPT ?=
VBOX_GCC_GC_FP ?= -fno-omit-frame-pointer
VBOX_GCC_GC_OPT ?= -O0
VBOX_VCC_GC_FP ?= -Oy-
VBOX_VCC_GC_OPT ?=
else
# We should use -fomit-frame-pointer for GCC / -Oy for VCC.
# -funwind-tables provides support for backtraces in gdb then.
VBOX_GCC_FP ?= -fno-omit-frame-pointer
VBOX_GCC_OPT ?= -O2 $(VBOX_GCC_mtune-generic)
VBOX_VCC_FP ?= -Oy-
ifdef VBOX_USE_VCC80
VBOX_VCC_OPT ?= -O2 -GS-
else
VBOX_VCC_OPT ?= -Ogitb2
endif
VBOX_GCC_GC_FP ?= -fno-omit-frame-pointer
VBOX_GCC_GC_OPT ?= -O2 $(VBOX_GCC_mtune-generic)
VBOX_VCC_GC_FP ?= -Oy-
ifdef VBOX_USE_VCC80
VBOX_VCC_GC_OPT ?= -O2
else
VBOX_VCC_GC_OPT ?= -Ogitb2
endif
endif

Per “staccare” la macchina virtuale intendo generare un nuovo ambiente .VirtualBox/VirtualBox.xml e Machines/macchina/macchina.xml al quale associare il disco .vdi
E’ però logico che una scrittura qualunque sul file .vdi potrebbe pregiudicarne il funzionamento, per questo, e meno male che c’è, è il caso effettuare uno snapshot (Host+S) prima di fare prove azzardate.
Ciao,
Antonio

12 10 2008
Underpass

Utilizzando i tuoi pacchetti il problema non sembra presentarsi.

Forse c’è qualche file sostituito tra il 9 e l’11 ottobre che mi sta dando fastidio…?
La revisione attuale è 13172

Un’altra cosa che mi piacerebbe fare è quella di aggiungere il numero della revisione al nome del pacchetto…

Ciao :)

13 10 2008
Antonio Doldo

@Underpass
ho compilato ieri sera la 13172, dovrebbe essere in linea oggi.
per cambiare il nome al pacchetto devi modificare il file debian/changelog e debian/control
Ciao,
Antonio

13 10 2008
Underpass

Grazie, più tardi la installo e ti faccio sapere.

13 10 2008
Antonio Doldo

@Underpass
ho messo invece la release 13192 appena aggiornata, è già in linea ;)
ciao,
Antonio

13 10 2008
Underpass

Ciao,

Il problema mi capita nella stessa identica maniera con i tuoi pacchetti.

Vorrei poter dedurre che c’è stato qualche file “beffardo” messo nel trunk tra il 9 e l’11 ottobre.

Vedo di fare qualche altra prova

Grazie :)

21 10 2008
marco

Ciao Antonio,

sa se VB, oppure qualche ramo sperimentale in SVN ha la possibilità di eseguire direttamente il boot da una periferica USB?

ciao e grazie
Marco

21 10 2008
Antonio Doldo

@marco
Se parliamo di usare VB per effettuare il boot da una periferica USB, la risposta è SI se si usa la versione PUEL, vedi il mio post:

http://adoldo.wordpress.com/2008/05/13/installare-debianubuntu-su-usb-virtualbox-ci-aiuta/
http://adoldo.wordpress.com/2008/02/15/slax-60-su-usb-in-virtualbox-da-reale-a-virtuale/

Di fatto si tratta di estrarre le informazioni del disco con VBoxManage e metterle in un disco formato vmdk, pratica contemplata tra l’altro nel manuale di VirtualBox.
Sempre che io abbia capito la domanda, se invece intendevi dire che VB parta direttamente da USB, occorre usare una distro con VB installato, ma questo mi sembra ovvio. Scusami se ho dilungato il brodo, ma non vorrei aver frainteso.
Ciao,
Antonio

22 10 2008
marco

Ciao Antonio,

di fatto hai riposto ad entrambe le possibili ipotesi, grazie. In realtà la domanda verteva sull’aspettativa (mia) di poter utilizzare una build di VB con l’opzione nativa di boot USB (stile BIOS di win insomma, evitando conversioni vmdk).

Fino ad ora VB offre la possibilità di eseguire un bootstrap via floppy, CD, rete? ecc ma non da usb. Sarebbe molto comodo, almeno per il sottoscritto, verificare dei dispositivi USB (pen drive ecc) direttamente dalle preferences di VB, magari ci vorrà ancora un pò di tempo ..

Cia e grazie
Marco

22 10 2008
Antonio Doldo

@marco
dimenticavo di aggiungere che non si tratta di una conversione, ma di avere un file vmdk di testo che è un puntatore al disco usb fisico. In Linux è usabile anche una pendrive, diversamente dalla versione per windows che vede solo dischi reali,
vedi il post e commenti:
http://adoldo.wordpress.com/2007/09/24/uso-dei-dischi-fisici-in-virtualbox-e-vmware/

ciao,
Antonio

15 11 2008
Compilazione virtualbox-ose_2.0.51+svn, fix “effective uid is not root” | Tech

[...] Compilazione virtualbox-ose_2.0.51+svn, fix “effective uid is not root” Postato da admin – 15 Novembre, 2008 Per continuare la saga di VirtualBox OSE, se avete letto questo articolo, stiamo continuando a tenere i pacchetti svn di VirtualBox sul repo di M0rF3uS, consapevoli dell’utilità di avere la versione Open Source Edition (OSE) aggiornata il più possibile, specie quando ci sono fix importanti. Per ora abbiamo deciso di tenere, compresi i sorgenti, solo [...] Vai alla Fonte [...]

Lascia un commento