• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

virtualbox shared folder auto-mount openSUSE 13.2 Gast

Chris K.

Member
Hallo,

leider funktioniert bei meinem suse 13.2 Gast das auto-mount eines virtualbox shared folders (in der virtualbox gui "hostData" benannt) nicht.
Manuelles mounten habe ich hinbekommen mit
Code:
mount -t vboxsf -o uid=1000,gid=1000 hostData ~/data/
Jetzt will ich den Ordner aber gerne standardmäßig eingebunden haben. Das sollte eigentlich gehen mit der folgenden Zeile in /etc/fstab
Code:
hostData /home/USERNAME/data vboxsf defaults,uid=1000,gid=1000 0 0
Das führt jedoch dazu, dass das OS überhaupt nicht mehr bootet; d.h. nur in den "Emergency Mode", von wo aus man zum Glück die Zeile in der fstab auskommentieren kann.
Per Googeln habe ich erfahren, dass das Problem zu sein scheint, dass "vboxsf", das zum Mounten des shared folders vom Kernel benötig wird, zu der Zeit im Bootprozess, wenn die Dateisysteme eingehängt werden, noch nicht geladen ist.
Hab dann auf gut Glück das Modul einfach in "/etc/modprobe.d/99-local.conf" eingetragen. Das hat aber leider nichts gebracht.

Jetzt weiß ich nicht mehr weiter. Hat irgendjemand das automatische Einbinden von shared folders schon mal hingekriegt und kann mir weiterhelfen?
 

mkossmann

Member
Funktioniert es, wenn du das vboxsf Modul in die initrd mit einbaust ?
Also /etc/sysconfig/kernel das Modul in INITRD_MODULES mit einträgst und dann eine neue initrd baust
 

Grobian

Member
Hallo,

hier eine kleine Anleitung nach der das dann bei mir funktioniert hat.

Es müssen natürlich die Gasterweiterungen installiert sein. Die gibt es ja bekanntermaßen auf der Seite von Virtalbox.
Um die Gasterweiterungen erfolgreich zu installieren sollte in der virtuellen Maschine folgendes vorher als root
ausgeführt werden:
Code:
zypper install gcc make automake autoconf kernel-source kernel-syms

Um in virtuellem OpenSuse einen "Gemeinsamen Ordner" zu erstellen muss in Yast (also im virtuellen OpenSuse) folgende Einstellung gemacht werden:
Yast/Sicherheit und Benutzer/Benutzer und Gruppenverwaltung/Benutzer "bearbeiten"/Details/ hier Häkchen bei "vboxsf". Dann Neustart.

Anschließend den gemeinsamen Ordner erstellen. Im Gast wird der gemeinsame Ordner in "Media" angelegt und kann dann auf den Schreibtisch verknüpft werden. Es müssen eventuell noch Berechtigungen angepasst werden.
Wenn der Ordner Media nicht erstellt wird dann nochmals die Guest "Additions installieren" im Laufwerk auf "autorun" klicken.

Falls das virtuelle System bei einem Neustart "hängt" dann oben rechts "die virtuell Maschine ausschalten". Dann in VirtualBox neu starten, sollte gehen.
 
OP
Chris K.

Chris K.

Member
@mkossmann /etc/sysconfig/kernel finde ich nicht. Soll das eine Datei sein?
(Ist ne frische, recht minimale 13.2 Installation.)
@Grobian Also die guest additions sind installiert; allerdings die Pakete, die von Anfang an aus den Repos installiert waren. Mauszeigerintegration, Austausch der Zwischenablage zwischen Host und Gast und manuelles Einbinden des shared folder funktioniert ja. Wie die meisten vermeide ich es wenn möglich Software nicht über den Paketmanager zu installieren.
Die Gruppe vboxsf hatte ich angelegt und meinen Nutzer hinzugefügt.
Das die shared folder von virtualbox standardmäßig in /media/ gemountet werden, hab ich auch schon gelernt. Da dieser Ordner in openSUSE aber seit einer Weile nicht mehr existiert, hab ich das auf /mnt umgestellt
Code:
sudo VBoxControl guestproperty set /VirtualBox/GuestAdd/SharedFolders/MountDir /mnt
Ergibt auch mehr Sinn, weil ich den Ordner ja dauerhaft eingebunden haben möchte (wofür mnt ja da ist im Gegensatz zu media für Wechseldatenträger). Aber auch vor der Änderung war nichts in media eingehängt worden, so wie nachher nicht in mnt.

Als work-around könnte ich die Zeile
Code:
mount -t vboxsf -o uid=1000,gid=1000 hostData /home/USERNAME/data/
auch in ein Script packen, das etwas später im Bootprozess ausgeführt wird, aber was dafür die richtige Datei wäre, weiß ich auch nicht (müsste ja als root ausgeführt werden).
 

Grobian

Member
Ich hatte Virtualbox von deren Homepage installiert, auch die Gasterweiterungen per "öffnen mit Virtualbox". Dann in Virtualbox oben "Geräte"
Medium Gasterweiterungen einlegen usw...

Der Ordner "media" wird erstellt sobald man einen Gemeinsamen Ordner einrichtet und der ist dann auch dauerhaft existent, bei mir mal.
 
OP
Chris K.

Chris K.

Member
13.2 verwendet nicht mehr mkinitrd, sondern dracut. Siehe man dracut.conf (Option add_drivers+=).
Danke für den Hinweis; das hat aber auch nicht geholfen.

Ich habe dann mal die guest-additions aus yast heraus deinstalliert, die von Grobian genannten Abhängigkeiten installiert und versucht die guest-additions "manuell" zu installieren.
Bezeichnenderweise funkioniert alles bis auf das Bauen des "shared folder support module"
Code:
Verifying archive integrity... All good.
Uncompressing VirtualBox 4.3.10 Guest Additions for Linux............
VirtualBox Guest Additions installer
Removing installed version 4.3.10 of VirtualBox Guest Additions...
Copying additional installer modules ...
Installing additional modules ...
Removing existing VirtualBox non-DKMS kernel modules                 done
Building the VirtualBox Guest Additions kernel modules
Building the main Guest Additions module                             done
Building the shared folder support module                            failed
(Look at /var/log/vboxadd-install.log to find out what went wrong)
Doing non-kernel setup of the Guest Additions                        done
Installing the Window System drivers
Warning: unknown version of the X Window System installed.  Not installing
X Window System drivers.
                                                                     done
Installing graphics libraries and desktop services components        done
Die /var/log/vboxadd-install.log nach "ERROR" durchsuchen bringt dann Folgendes hervor:
Code:
echo >&2 "  ERROR: Kernel configuration is invalid.";           \
echo >&2 "         include/generated/autoconf.h or include/config/auto.conf are missing.";\
echo >&2 "         Run 'make oldconfig && make prepare' on kernel src to fix it.";
(Damit weiß ich leider nicht viel anzufangen.)
Und am Ende der Datei steht
Code:
/usr/src/linux-3.16.7-7/scripts/Makefile.build:273: recipe for target '/tmp/vbox.0/regops.o' failed
make[4]: *** [/tmp/vbox.0/regops.o] Error 1
/usr/src/linux-3.16.7-7/Makefile:1359: recipe for target '_module_/tmp/vbox.0' failed
make[3]: *** [_module_/tmp/vbox.0] Error 2
Makefile:195: recipe for target 'sub-make' failed
make[2]: *** [sub-make] Error 2
Makefile:24: recipe for target '__sub-make' failed
make[1]: *** [__sub-make] Error 2
/tmp/vbox.0/Makefile.include.footer:79: recipe for target 'vboxsf' failed
make: *** [vboxsf] Error 2

P.S.: Sowohl der Host als auch der Gast sind auf Englisch eingestellt; tut mir also leid, wenn ich teilweise die englischen Bezeichnungen verwende.
 

Grobian

Member
Building the shared folder support module failed

Genau diese Fehlermeldung hatte ich anfangs auch immer.
Nach dem Ausführen von oben genanntem Code in der Konsole im virtuellen OpenSuse ging es dann bei mir.
Vielleicht danach Neustart und dann die Gasterweiterungen?
Wie ich das gemacht hatte weiß ich gar nicht mehr.
.
 
OP
Chris K.

Chris K.

Member
Also bei mir will es einfach nicht funktionieren. Trotzdem danke für die Ratschläge.
Ich hab mir jetzt eine Lösung mit sshfs gestrickt.
 
OP
Chris K.

Chris K.

Member
@Boreas Ah, eine sehr pragmatische Lösung :)
Aber tatsächlich nicht sehr elegant. Auf jeden Fall Danke für den Hinweis auf den Thread.
 
Oben