[abgehakt] VirtualBox: Automatisches Rebuild VBox-Guest-Additions nach Kernel-Upgrade
[abgehakt] VirtualBox: Automatisches Rebuild VBox-Guest-Additions nach Kernel-Upgrade
Moin @ all
Gibt es eigentlich eine Möglichkeit, dass die Guest-Additions automatisch nach oder mit einem Kernel-Upgrade erstellt werden? Im Moment ist es so, dass nach dem Update der Vollbild-Modus nicht mehr geht, VGA oder SVGA o.ä. ist dann eingestellt, die Mouse reagiert auch anders. Ich muss dann jeweils manuell die Additions neu erstellen und rebooten, und dann gehts wieder. Auf meinen Rechnern ist das nicht so das Problem, aber auf den anderen schon, weil die User das nicht selber können.
Gibt es eigentlich eine Möglichkeit, dass die Guest-Additions automatisch nach oder mit einem Kernel-Upgrade erstellt werden? Im Moment ist es so, dass nach dem Update der Vollbild-Modus nicht mehr geht, VGA oder SVGA o.ä. ist dann eingestellt, die Mouse reagiert auch anders. Ich muss dann jeweils manuell die Additions neu erstellen und rebooten, und dann gehts wieder. Auf meinen Rechnern ist das nicht so das Problem, aber auf den anderen schon, weil die User das nicht selber können.
Zuletzt geändert von TomL am 18.01.2018 14:36:35, insgesamt 1-mal geändert.
Re: VirtualBox: Automatisches Rebuild VBox-Guest-Additions nach Kernel-Upgrade
Ich nehme die offz. Paket und bin nach dieser Anleitung vorgegangen: https://www.linuxtechi.com/install-virt ... 9-stretch/
Damit habe ich die von dir erwähnten Probleme nicht.
Damit habe ich die von dir erwähnten Probleme nicht.
Re: VirtualBox: Automatisches Rebuild VBox-Guest-Additions nach Kernel-Upgrade
Für automatische Kernel-Module sind die DKMS-Pakete gedacht, hier
virtualbox-dkms (für den Host) und
virtualbox-guest-dkms (für den Gast).
Damit das funktioniert muss vorher
dkms und
build-essential installiert sein. Für das Paket dkms ist linux-headers-xxxx nur als empfohlen (Recommends) drin, aber wer den kernel nicht selber kompiliert sollte das auf jedenfall auch die Header-Pakete passend zum eigenen Kernel mit installieren. Dann sollte er automatisch mit jedem Kernel-Upgrade die Module neu erstellen.
Die Beschreibung im Ubuntu-Wiki ist übrigens besser als bei Debian *hüstel* https://wiki.ubuntuusers.de/DKMS/
![Debian](/pics/debianpackage.png)
![Debian](/pics/debianpackage.png)
Damit das funktioniert muss vorher
![Debian](/pics/debianpackage.png)
![Debian](/pics/debianpackage.png)
Die Beschreibung im Ubuntu-Wiki ist übrigens besser als bei Debian *hüstel* https://wiki.ubuntuusers.de/DKMS/
Re: VirtualBox: Automatisches Rebuild VBox-Guest-Additions nach Kernel-Upgrade
Wenn das zum Kernel passende Headers-Paket installiert ist (kommt automatisch über das entsprechene Metapaket, z.B.
linux-headers-amd64), dazu
virtualbox-guest-dkms und das zur entsprechenden VBox-Funktion passende Modulpaket (für Bildschirmanpassung
virtualbox-guest-x11), dann wird das Modul beim Kernel-Upgrade automatisch für den neuen Kernel gebaut.
![Debian](/pics/debianpackage.png)
![Debian](/pics/debianpackage.png)
![Debian](/pics/debianpackage.png)
Re: VirtualBox: Automatisches Rebuild VBox-Guest-Additions nach Kernel-Upgrade
Seit VirtualBox 5.1 wird DKMS nicht mehr verwendet: https://www.pro-linux.de/news/1/23625/o ... s-aus.html
Stattdessen wird beim Start von VirtualBox geprüft, ob die Module zum Kernel passen und ggf. neu gebaut. Merkwürdig, daß das bei TomL nicht funktioniert, und eigentlich sollte es dann auch eine Fehlermeldung geben. (Und ein Log, wo man nachschauen kann, was warum nicht geklappt hat.)
Stattdessen wird beim Start von VirtualBox geprüft, ob die Module zum Kernel passen und ggf. neu gebaut. Merkwürdig, daß das bei TomL nicht funktioniert, und eigentlich sollte es dann auch eine Fehlermeldung geben. (Und ein Log, wo man nachschauen kann, was warum nicht geklappt hat.)
Re: VirtualBox: Automatisches Rebuild VBox-Guest-Additions nach Kernel-Upgrade
Was macht dannowl102 hat geschrieben:16.01.2018 12:12:33Seit VirtualBox 5.1 wird DKMS nicht mehr verwendet: https://www.pro-linux.de/news/1/23625/o ... s-aus.html
![Debian](/pics/debianpackage.png)
Wenn ich mir die (leider spärlich dokumentierten) Veröffentlichungshinweise zu 5.1b1 anschaue, dann vermute ich, dass VBox seitdem lediglich ohne dkms funktionieren KANN, das aber nach wie vor eine Option ist, die auch für die Pakete von Debian benutzt wird. [1]
[1] https://forums.virtualbox.org/viewtopic ... 15&t=77998
- towo
- Beiträge: 4556
- Registriert: 27.02.2007 19:49:44
- Lizenz eigener Beiträge: GNU Free Documentation License
Re: VirtualBox: Automatisches Rebuild VBox-Guest-Additions nach Kernel-Upgrade
Falsch, Upstream wird kein dkms mehr bei Virtualbox benutzt. Einzig in Debian wird dieses Paket weiterhin gebaut, weshalb die Debian-Version von VBox eigentlich als ein Fork anzusehen ist.hikaru hat geschrieben:Wenn ich mir die (leider spärlich dokumentierten) Veröffentlichungshinweise zu 5.1b1 anschaue, dann vermute ich, dass VBox seitdem lediglich ohne dkms funktionieren KANN, das aber nach wie vor eine Option ist, die auch für die Pakete von Debian benutzt wird. [1]
Re: VirtualBox: Automatisches Rebuild VBox-Guest-Additions nach Kernel-Upgrade
So eine Änderung sollte sich doch in den Debian-Patches niederschlagen. Ich sehe nichts Passendes.
Re: VirtualBox: Automatisches Rebuild VBox-Guest-Additions nach Kernel-Upgrade
In der debian.tar.xz finden sichhikaru hat geschrieben: So eine Änderung sollte sich doch in den Debian-Patches niederschlagen. Ich sehe nichts Passendes.
virtualbox-dkms.dkms
virtualbox-guest-dkms.dkms
als template für eine mit Modul-Version ausgestattete dkms.conf.
Problem bei der Geschichte,
gelegentlich gibt/kann es Konflikte mit in misc/ erstellten Modulen vom virtualbox-Startskript.
Diese sind händisch zu lösen. (Tools rm / dkms / depmod)
Wird das Kernelmodul-Quellverzeichnis des oracle-Virtualbox mit einer solchen dkms.conf ausgestatten,
so kann auch dabei mit dkms gearbeitet werden.
Problem: Die dkms.conf muß bei jedem Upgrade angepaßt werden. Frage ist, wann?
Vor dem Upgrade, damit der aktuelle kernel direkt mit Modul ausgestattet wird und beim Neustart nicht der Modulbau des Startskripts läuft (<-> misc/) <-> eventuell gibt es Probleme mit dem Entfernen des dkms-Moduls.
Alternativ kann der Mechanismus des Startskripts auch für andere, nichtlaufende Kernel durchgeführt werden.
Dafür sollten Umgebungsvariablen gesetzt werden, mache ich hier derart:
Code: Alles auswählen
...
/bin/ls -1 /lib/modules | sort -V -r | while read VICKER; do
[ "x$(uname -r)" = "x$VICKER" ] && continue # in Verbindung mit obigem 'vboxdrv.sh setup' waere das redundant
KERN_DIR=/lib/modules/$VICKER/build
MODULE_DIR=/lib/modules/$VICKER/misc
export KERN_DIR
export MODULE_DIR
export VICKER
KERNELRELEASE=$VICKER
KERN_VER=$VICKER
export KERNELRELEASE
export KERN_VER
echo "02work $VICKER $KERN_DIR $MODULE_DIR ---------------------------------"
# Test auf schon vorhandenes + AKTUELLES Modul?
#./.usr.lib.virtualbox.vboxdrv.sh_WORK setup-module
/usr/lib/virtualbox/vboxdrv.sh setup-module
VICKER=; KERN_DIR=;MODULE_DIR=
KERNELRELEASE=; KERN_VER=
done
...
Das Funktionieren hängt vom Startskript ab,
da solche Nutzung von oracle nicht vorgesehen ist, könnte sich die Art der Variablenzuweisung ändern.
Es finden beim Bauvorgang keine Tests statt, es wird einfach drübergebügelt.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")
Re: VirtualBox: Automatisches Rebuild VBox-Guest-Additions nach Kernel-Upgrade
Aber es gibt in debian/patches keine Änderungen mit Bezug auf dkms, die den Upstream-Code verändern würden. Oracle hat an VBox nichts geändert, das die Verwendung von dkms verhindern würde.rendegast hat geschrieben:16.01.2018 14:23:53In der debian.tar.xz finden sich
virtualbox-dkms.dkms
virtualbox-guest-dkms.dkms
als template für eine mit Modul-Version ausgestattete dkms.conf.
Debian benutzt lediglich weiterhin eine vorhandene Funktionalität, die auch Oracle früher genutzt hat und nun eben nicht mehr nutzt. Dass Virtualbox (nicht Oracle) kein dkms mehr benutzt und die Pakete von Debian wegen der fortgesetzten Nutzung von dkms deshalb als Fork einzustufen sind halte ich daher für eine Fehleinschätzung.
Re: VirtualBox: Automatisches Rebuild VBox-Guest-Additions nach Kernel-Upgrade
Moin @ all
Im Moment muss ich gestehen, dass mich das gerade ein wenig überfordert...
... sorry... ich liefere zur Sicherheit lieber aber noch mal ein paar vergessene Infos nach.
Weils unter Stretch (ohne Backports) damals keine brauchbare Version gab, habe ich ein deb-Paket direkt von Oracel verwendet, und zwar 5.1.22
Weils zeitweise Berichte über große Probleme eine höheren Folge-Version gab, bin ich zunächst dabei geblieben
Weil die installierte Version auf all unseren System supergut läuft, bin ich bis heute immer noch dabei geblieben
... also gehts nachwievor immer noch um die 5.1.22.
Jetzt habe ich gerade mal nachgesehen, auf meinem PC wurden (von mir nicht direkt bemerkt) die "Treiber" passend zum apt full-upgrade des Kernels irgendwie im Hintergrund neu erstellt, was ich jetzt gerade erst unter /var/log festgestellt habe. Also dieser Autmatismus scheint zu funktionieren, ohne das ich da was für unternommen habe. Natürlich habe ich dkms, build-essentials und linux-headers installiert... aber sonst habe ich dafür nix getan.
In der VM sind die Pakete auch installiert, aber da läuft dieser Automatismus offensichtlich nicht. Das Log selber ist ne Katastrophe ...(und das Journal in dem Fall auch, ich krieg das jetzt rückblickend nicht mehr zeitlich auseinanderdividiert, wie der Kernel-Upgrade sich zum nächsten Start darstellt und dann der von mir manuell angestoßene Update der VBOx-Treiber. Das VOX-Install-Log selber enthält nur Angaben zum letzten Vorgang des neuerstellens, Fehlermeldungen von "davor" finde ich nicht.
Ich würde jetzt zu dem Schluss kommen, dass ich jetzt einfach auf das nächste Kernelupgrade warten muss, um speziell dann nach Fehlermeldungen beim Booten der VM zu suchen, bevor ich die Treibererstellung manuell selber angestoßen habe... und zwar auf beiden Maschinen... echt und virtuell.
Wäre das ein passendes Fazit? Oder gibts einen besseren Ansatz?
ps
Gibts eigentlich immer noch gute Gründe, nicht auf eine aktuelle Version upzudaten....?... aktuell ist gerade 5.2.4
Im Moment muss ich gestehen, dass mich das gerade ein wenig überfordert...
![Rolling Eyes :roll:](./images/smilies/icon_rolleyes.gif)
Weils unter Stretch (ohne Backports) damals keine brauchbare Version gab, habe ich ein deb-Paket direkt von Oracel verwendet, und zwar 5.1.22
Weils zeitweise Berichte über große Probleme eine höheren Folge-Version gab, bin ich zunächst dabei geblieben
Weil die installierte Version auf all unseren System supergut läuft, bin ich bis heute immer noch dabei geblieben
... also gehts nachwievor immer noch um die 5.1.22.
Jetzt habe ich gerade mal nachgesehen, auf meinem PC wurden (von mir nicht direkt bemerkt) die "Treiber" passend zum apt full-upgrade des Kernels irgendwie im Hintergrund neu erstellt, was ich jetzt gerade erst unter /var/log festgestellt habe. Also dieser Autmatismus scheint zu funktionieren, ohne das ich da was für unternommen habe. Natürlich habe ich dkms, build-essentials und linux-headers installiert... aber sonst habe ich dafür nix getan.
In der VM sind die Pakete auch installiert, aber da läuft dieser Automatismus offensichtlich nicht. Das Log selber ist ne Katastrophe ...(und das Journal in dem Fall auch, ich krieg das jetzt rückblickend nicht mehr zeitlich auseinanderdividiert, wie der Kernel-Upgrade sich zum nächsten Start darstellt und dann der von mir manuell angestoßene Update der VBOx-Treiber. Das VOX-Install-Log selber enthält nur Angaben zum letzten Vorgang des neuerstellens, Fehlermeldungen von "davor" finde ich nicht.
Ich würde jetzt zu dem Schluss kommen, dass ich jetzt einfach auf das nächste Kernelupgrade warten muss, um speziell dann nach Fehlermeldungen beim Booten der VM zu suchen, bevor ich die Treibererstellung manuell selber angestoßen habe... und zwar auf beiden Maschinen... echt und virtuell.
Wäre das ein passendes Fazit? Oder gibts einen besseren Ansatz?
ps
Gibts eigentlich immer noch gute Gründe, nicht auf eine aktuelle Version upzudaten....?... aktuell ist gerade 5.2.4
Re: VirtualBox: Automatisches Rebuild VBox-Guest-Additions nach Kernel-Upgrade
TomL hat geschrieben: Gibt es eigentlich eine Möglichkeit, dass die Guest-Additions automatisch nach oder mit einem Kernel-Upgrade erstellt werden? Im Moment ist es so, dass nach dem Update der Vollbild-Modus nicht mehr geht, VGA oder SVGA o.ä. ist dann eingestellt, die Mouse reagiert auch anders. Ich muss dann jeweils manuell die Additions neu erstellen und rebooten,
Du könntest
/usr/share/virtualbox/VBoxGuest-Additions.iso
den VM verfügbar machen, als cdrom einbinden oder als Freigabe (oracles shared-Folder?)
Ein cron-Job testet
'VBoxLinuxAdditions.run --info' resp. darin enthaltene Variablen
label=
INSTALLATION_VER=
auf Änderung und läßt das Skript gegebenenfalls laufen.
Gleicherart für eine windows-VM.
Machen die GuestAdditions wirklich schon bei einem minor-Update 5.X.Y -> 5.X.Z solche Probleme?
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")
-
- Beiträge: 507
- Registriert: 30.12.2016 23:48:51
Re: VirtualBox: Automatisches Rebuild VBox-Guest-Additions nach Kernel-Upgrade
Als kleine Randnotiz:
Die Treiber für VirtualBox bzw. insbesondere die Guest-Additions, wandern ab Version 4.16/4.17 in den Linux-Kernel. Ab dann ist das nicht länger optional, womit zukünftig auch das Rebuild entfällt.
Die Treiber für VirtualBox bzw. insbesondere die Guest-Additions, wandern ab Version 4.16/4.17 in den Linux-Kernel. Ab dann ist das nicht länger optional, womit zukünftig auch das Rebuild entfällt.
Re: VirtualBox: Automatisches Rebuild VBox-Guest-Additions nach Kernel-Upgrade
Das wird m.M.n. nicht funktionieren.... und für Windows ist das ja eh irrelevant, weils in Windows keinen Kernelwechsel gibt.rendegast hat geschrieben:16.01.2018 16:32:13Ein cron-Job testet
'VBoxLinuxAdditions.run --info' resp. darin enthaltene Variablen
label=
INSTALLATION_VER=
auf Änderung und läßt das Skript gegebenenfalls laufen.
Gleicherart für eine windows-VM.
Was wahrscheinlich funktionieren würde, wäre, wenn ich die Guest-Addititons, die ich derzeit via CDRom fliegend einbinde, einfach in die VM z.B. nach /opt kopieren würde und bei jedem VM-System-Start via service-unit die Rückgabe von
Code: Alles auswählen
uname -r
4.9.0-5-amd64