Abilitare porte USB in Opensuse 10.2 con Virtualbox.

Gio, 12/04/2007 - 23:23

Abilitare porte USB in Opensuse 10.2 con Virtualbox.

Inviato da Alfio 17 commenti

Prima di iniziare premetto che per la compilazione del kernel mi sono basato in parte su questa guida.
Per abilitare le porte usb in Virtualbox dobbiamo compilare il kernel attivando le porte virtuali in openSuse .
Non spaventatevi della compilazione in quando in questo caso è solo per abilitare il modulo usb senza intaccare la struttura del kernel ma andremo solo ad attivare un modulo che già c'è ma che era disabilitato di default.
Prepariamo l'occorrente per la buona riuscita nell'installazione di Virtualbox.
Ecco cosa bisogna installare.
Troverete tutto nel dvd o nei repositori oss di openSuse.
* gcc
* gcc-c++
* kernel-source
* kernel-syms
* make
* ncurses-devel
* qt3-devel

Iniziamo a compilare il Kernel per facilitare tutto elenco i comandi che dobbiamo impartire sulla shell da root:

cd /usr/src/linux
make mrproper
cp /boot/config-`uname -r` ./.config
make xconfig
Con gli ultimi due comandi andremo a salvare la configurazione attuale del kernel con nome .config mentre con xconfig andremo a preparare un nuovo file di configurazione includendo le porte usb.
Con l'ultimo comando si apre una finestra che visualizza tutti i moduli disponibili nel kernel e una finestra soprastante più piccola come da figura dove andremo ad aprire il nostro file di configurazione .config ricordando che essendo un file nascosto nella stessa finestra clicchiamo col mouse su una parte in bianco e scegliamo "show idden files" oltre alla visione di questo file avrete un file chiamato .config.old che è quello che da shell abbiamo salvato come backup.
Apriamo il file con open o con un doppio click sul file dentro la finestra.
Ora la finestra si chiude e resta solo la finestra principale dei moduli.
Andiamo su "general setup" e sulla parte a destra facciamo un doppio click in "Local version-append to kernel release:nostro kernel"
In basso come da figura
daremo il nome che vogliamo al nostro kernel .
Clicchiamo invio e poi andiamo in "File/Search" e nella finestra che compare come da figura
cerchiamo ed mettiamo il segno di spunta al nostro modulo.
Clicchiamo su "File/save ed usciamo chiudendo al finestra.
Ora il nostro file di configurazione è pronto.

Ritorniamo alla shell e compiliamo il nostro kernel che assecondo della velocità del personal computer usato può impiegarci anche qualche ora.
Diamo il comando:

make rpm

Alla fine della compilazione vengono creati un rpm ed il sorgente src.rpm .
Installiamo rpm da shell con il comando:

rpm -ivh /percorso de kernel che noterete dalla shell dove l'abbia creato.
es. rpm -ivh /usr/src/packages/RPMS/i386/kernel-2.6.18.80.1DefaultVBX-1.i386.rpm
Nota se quando installate il kernel.rpm da shell vi dice che è installato usate l'opzione --force per forzare l'installazione.
Es:rpm -ivh /usr/src/packages/RPMS/i386/kernel-2.6.18.80.1DefaultVBX-1.i386.rpm --force
Ora in Yast /gestioni pacchetti avete due kernel il vecchio ed il nuovo.

Bene adesso il kernel è pronto ed installato dobbiamo solo creare il percorso in grub con il comando:

mkinitrd

Apriamo konqueror da root nella shell ed andiamo in boot/grub/menu.list apriamo il file .
Ora con un semplice tocco copiamo tutta la voce del vecchio kernel nello stesso menu.list .
Es.

###Don't change this comment - YaST2 identifier: Original name: linux###
title openSuse 10.2
root (hd0,1)
kernel /boot/vmlinuz-2.6.18.8-0.1Default-VBX root=/dev/sda2 vga=0x31a resume=/dev/sda5 splash=silent showopts
initrd /boot/initrd-2.6.18.8-0.1Default-VBX
Guardate bene basta sostituire vmlinuz ed initrd col percorso del nuovo kernel ed dare un nome diverso ad opensuse 10.2

Esempio:

###Don't change this comment - YaST2 identifier: Original name: linux###
title openSuse 10.2 virtualbox
root (hd0,1)
kernel /boot/vmlinuz-nuovo kernel root=/dev/sda2 vga=0x31a resume=/dev/sda5 splash=silent showopts
initrd /boot/initrd-nuovo kernel

Salviamo ed abbiamo sia la voce del vecchio kernel che quella nuova .

ATTENZIONE!Ora potete riavviare ed usare il nuovo kernel ricordando che dovete reinstallare i drivers video.

Bene ora Installiamo Virtualbox facendo il download da Qui
per openSuse 10.2.

Aprimo una shell e spostiamoci nella directory del file VirtualBox-1.3.8_openSUSE102-2.i586.rpm.run con il comando cd .
es.

cd /home/nomeutente/nome del file

Ora diamo il comando :

sh VirtualBox-1.3.8_openSUSE102-2.i586.rpm.run
Accettiamo la licenza premendo q e poi yes cosi crea un file rpm che possiamo installare da shell o con yast.
Una volta installato rpm apriamo una shell e da root digitiamo konqueror e spostiamoci in etc/fstab dove abiliteremo le porte usb.
Nella stringa usbfs /proc/bus/usb usbfs
la modifichiamo cosi:
usbfs /proc/bus/usb usbfs defaults,devmode=666 0 0
Salviamo e chiudiamo ed riavviamo il personal computer.

Ora dovete installare solamente la vostra macchina virtuale.

Per chi avesse gia installato Virtualbox in precedenza alla guida consiglio di aprire una shell con Virtualbox chiuso e da root digitare:

/etc/init.d/vboxdrv setup
Questo comando riavvia virtualbox caricando di nuovo il modulo del kernel compreso di usb nei moduli che carica dovrebbero dare tutti "done"
Consiglio caldamente di non usare root per la macchina virtuale.
Solo in caso che non riuscite ad abilitare le porte come utente allora usate l'alternativa dell'utente root.

Se avete commenti o migliorie sulla guida non esitate a chiedere.
Ciao





Commenti

Ritratto di Alfio
#1

Inviato da Alfio il Gio, 19/04/2007 - 20:49.

I voti ha scuola...

Preferisco cosa va migliorato o se avete incontrato difficoltà.
Cosi si migliora un po tutti iniziando da me.
Ciao



Ritratto di Vinux
#2

Inviato da Vinux il Dom, 22/04/2007 - 00:21.

Re: I voti ha scuola...

Bisognerebbe aggiungere che occorre (per chi ce l'ha) anche ricompilare fuse per il supporto ntfs-3g.

Ciao



Ritratto di Nevermore
#3

Inviato da Nevermore il Dom, 22/04/2007 - 17:55.

piccolo errore

Sto compilando il kernel, diciamo che sono a metà guida, per ora ti segnalo che non bisogna dare xconfig ma make xconfig.



Ritratto di Alfio
#4

Inviato da Alfio il Lun, 23/04/2007 - 00:14.

Re: piccolo errore

Ho coretto il make era solo una dimenticanza.
Grazie

Devi dare il comando da root



Ritratto di Nevermore
#5

Inviato da Nevermore il Dom, 22/04/2007 - 19:08.

altra precisazione

Ho già VirtualBox installato quindi ho dato

/etc/init.d/vboxdrv setup

Il risultato è:

bash: /etc/init.d/vboxdrv: No such file or directory



Ritratto di daeron83
#6

Inviato da daeron83 il Ven, 27/04/2007 - 18:26.

porte usb?!

Could not load the Host USB Proxy Service (VERR_FILE_NOT_FOUND).The service might be not installed on the host computer.

Result Code:
0x80004005
Component:
Host
Interface:
IHost {fd443ec1-000b-4f5b-9282-d72760a66916}
Callee:
IMachine {fd443ec1-0009-4f5b-9282-d72760a66916}

questo è quanto mi dice vbox anche correggendo fstab
premetto di aver installato vbox prima di aver seguito la guida
non capisco dov'è l'errore
ps...io ho problemi con le porte usb anche sul sistema host, del tipo che non riesco ad utilizzarle per scrivere su alcun tipo di supporto usb



Ritratto di Alfio
#7

Inviato da Alfio il Ven, 27/04/2007 - 20:45.

Re: porte usb?!

hai dato questo comando da root con virtualbox chiuso?
/etc/init.d/vboxdrv setup
ciao



Ritratto di skapestrato86
#8

Inviato da skapestrato86 il Sab, 28/04/2007 - 22:35.

Dov'è il nuovo kernel ?

Ho ricompilato il kernel e l'ho installato dando i seguenti comandi:
<br />linux-raul:/usr/src/linux # rpm -ivh /usr/src/packages/RPMS/x86_64/kernel-2.6.18.234default-1.x86_64.rpm<br />Preparing...                ########################################### [100%]<br />        file /boot/System.map-2.6.18.2-34-default from install of kernel-2.6.18.234default-1 conflicts with file from package kernel-default-2.6.18.2-34<br />        file /boot/config-2.6.18.2-34-default from install of kernel-2.6.18.234default-1 conflicts with file from package kernel-default-2.6.18.2-34<br />        file /boot/vmlinuz-2.6.18.2-34-default from install of kernel-2.6.18.234default-1 conflicts with file from package kernel-default-2.6.18.2-34<br />linux-raul:/usr/src/linux # rpm -ivh /usr/src/packages/RPMS/x86_64/kernel-2.6.18.234default-1.x86_64.rpm --force<br />Preparing...                ########################################### [100%]<br />   1:kernel                 ########################################### [100%]<br />linux-raul:/usr/src/linux # mkinitrd<br />Root device:    /dev/sdb8 (mounted on / as ext3)<br />Module list:    sata_via via82cxxx jbd ext3 fan edd (xennet xenblk)<br /><br />Kernel image:   /boot/vmlinuz-2.6.18.2-34-default<br />Initrd image:   /boot/initrd-2.6.18.2-34-default<br />Shared libs:    lib64/ld-2.5.so lib64/libacl.so.1.1.0 lib64/libattr.so.1.1.0 lib64/libblkid.so.1.0 lib64/libc-2.5.so lib64/libcom_err.so.2.1 lib64/libdl-2.5.so lib64/libext2fs.so.2.4 lib64/libhistory.so.5.1 lib64/libncurses.so.5.5 lib64/libpthread-2.5.so lib64/libreadline.so.5.1 lib64/librt-2.5.so lib64/libutil-2.5.so lib64/libuuid.so.1.2 lib64/libvolume_id.so.0.73.0 lib64/libnss_files-2.5.so lib64/libnss_files.so.2 lib64/libgcc_s.so.1<br />Driver modules: ide-core ide-disk scsi_mod sd_mod libata sata_via via82cxxx fan edd<br />Filesystem modules:     jbd mbcache ext3<br />Including:      initramfs fsck.ext3<br />Bootsplash:     SuSE (1280x1024)<br />17243 blocks<br />

Ora dovrei modificare il menu.lst di grub, ma nella cartella /boot non trovo il nuovo kernel che dovrebbe essere vmlinuz-2.6.18.2-34-default-1 ma cè solo il vecchio kernel col nome vmlinuz-2.6.18.2-34-default modificato oggi.
è possibile che ho sovrascritto il vecchio kernel con il nuovo?



Ritratto di Alfio
#9

Inviato da Alfio il Sab, 28/04/2007 - 22:44.

Riprova...

Hai un conflitto con il vecchio kernel sicuramente hai usato lo stesso file di configurazione o l'hai soprascritto.
Disinstalla il kernel senza riavviare installa il kernel del dvd ricomponi il percorso nel boot cancellando le vecchie voci e poi ritorna a compilarlo dopo il riavvio.
Ciao



Ritratto di skapestrato86
#10

Inviato da skapestrato86 il Sab, 28/04/2007 - 23:18.

Reinstallare il kernel

Quindi per disinstallarlo dò il comando:
rpm -e /usr/src/packages/RPMS/x86_64/kernel-2.6.18.234default-1.x86_64.rpm

e poi lo reinstallo da yast, giusto?