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


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

Info Antonio Doldo
www.toolinux.it - www.virtualboxes.org - adoldo.wordpress.com - Linux user & Android fan

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

  1. Underpass scrive:

    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🙂

  2. Antonio Doldo scrive:

    @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

  3. Underpass scrive:

    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?

  4. Antonio Doldo scrive:

    @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

  5. Underpass scrive:

    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🙂

  6. Antonio Doldo scrive:

    @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

  7. Underpass scrive:

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

  8. Antonio Doldo scrive:

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

  9. Underpass scrive:

    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🙂

  10. marco scrive:

    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

  11. Antonio Doldo scrive:

    @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:

    https://adoldo.wordpress.com/2008/05/13/installare-debianubuntu-su-usb-virtualbox-ci-aiuta/
    https://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

  12. marco scrive:

    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

  13. Antonio Doldo scrive:

    @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:
    https://adoldo.wordpress.com/2007/09/24/uso-dei-dischi-fisici-in-virtualbox-e-vmware/

    ciao,
    Antonio

  14. Pingback: Compilazione virtualbox-ose_2.0.51+svn, fix “effective uid is not root” | Tech

Lascia un commento

Effettua il login con uno di questi metodi per inviare il tuo commento:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger cliccano Mi Piace per questo: