Welcome, Guest. Please login or register.
Did you miss your activation email?

Recent Posts

Pages: [1] 2 3 ... 10
1
Upgrade Warnings / Re: [SOLVED] darktable startet nach update nicht mehr
« Last post by cs on Today at 13:23:40 »
Super, vielen Dank, der Download hat mir auch geholfen!  :D
2
DigiKam startet wieder. Besten Dank !
3
@ pixel24
<https://wormhole.app/d9rOX9#BPvo4iPO9-34SKYF4YEZ0A>
4
DigiKam meldet exakt den gleichen Fehler und die Diagnose zeigt die gleichen -nicht vorhandenen - Links. Könntest du den Download nochmal bereitstellen?
5
Upgrade Warnings / Re: Strg+Alt+3 startet kein Terminal
« Last post by reddark on Yesterday at 20:54:08 »
sooo, ja, danke  :) .. nun gehts wieder ... wirkt ein bissel zögerlich, aber funktioniert ...
6
@glimfindel

Zwei Bemerkungen zu Deinem ansonsten guten Vorschlag:
Der von Dir erwähnte kernel-6.19.patch patch bricht ab, da er
in /var/lib/dkms/virtualbox/7.2.6/source das vboxguest Unterverzeichnis
nicht findet, bevor er zu vboxnetadp und vboxnetflt kommt. Das lässt sich
aber durch Entfernen leicht korrigieren.

Außerdem ist die von Nepenthe0 zu recht beanstandete Logik nicht korrigiert,
was im Falle von undefiniertem CONFIG_KPROBES zum Abbruch führt (trifft
für den Siduction Kernel aber nicht zu).

Ich habe den vollständigen Patch gegen alle 6.18/6.19 Kernel und Kprobe Varianten
getestet, und konnte in keinem Fall einen Fehler feststellen. Wenn Bedarf besteht, kann
ich auch den vollständigen Patch gegen die 7.2.6 Sourcen zur Verfügung stellen, aber
ich hoffe immer noch, dass Oracle endlich die Korrektur vornimmt.

Nachtrag zur Installation des Patches:

Sicherstellen, dass Paket virtualbox-dkms in Version 7.2.6-dfsg-3+b2 installiert ist:
$ dpkg -l|grep virtualbox-dkms
ii  virtualbox-dkms   7.2.6-dfsg-3+b2c   amd64   x86 virtualization solution - kernel module sources for dkms

Ins Verzeichnis /usr/src wechseln:
$ cd /usr/src

Folgenden patch ins /tmp Verzeichnis kopieren:
Code: [Select]
diff -Nurp --no-dereference aaa/virtualbox-7.2.6/r0drv/linux/initterm-r0drv-linux.c bbb/virtualbox-7.2.6/r0drv/linux/initterm-r0drv-linux.c
--- aaa/virtualbox-7.2.6/r0drv/linux/initterm-r0drv-linux.c     2026-01-27 13:58:09.000000000 +0100
+++ bbb/virtualbox-7.2.6/r0drv/linux/initterm-r0drv-linux.c     2026-02-20 16:40:35.000000000 +0100
@@ -60,6 +60,11 @@ static DECLARE_TASK_QUEUE(g_rtR0LnxWorkQ
  * This is a special mm structure used to manage the kernel address space. */
 struct mm_struct *g_pLnxInitMm = NULL;
 
+#if RTLNX_VER_MIN(6,19,0)
+/** Pointer to __flush_tlb_all kernel symbol. */
+void (*g_pfnLinuxFlushTlbAll)(void);
+#endif
+
 
 /**
  * Pushes an item onto the IPRT work queue.
@@ -136,6 +141,11 @@ DECLHIDDEN(int) rtR0InitNative(void)
             printk("rtR0InitNative: g_pLnxInitMm=%p\n", g_pLnxInitMm);
 
             RTR0DbgKrnlInfoRelease(hKrnlInfo);
+# if RTLNX_VER_MIN(6,19,0)
+            g_pfnLinuxFlushTlbAll = __symbol_get("__flush_tlb_all");
+            if (!RT_VALID_PTR(g_pfnLinuxFlushTlbAll))
+                printk("rtR0InitNative: can't load __flush_tlb_all\n");
+# endif
         }
         else
             printk("rtR0InitNative: RTR0DbgKrnlInfoOpen failed: %d\n", rc);
@@ -151,6 +161,12 @@ DECLHIDDEN(void) rtR0TermNative(void)
 {
     IPRT_LINUX_SAVE_EFL_AC();
 
+# if RTLNX_VER_MIN(6,19,0)
+    if (RT_VALID_PTR(g_pfnLinuxFlushTlbAll))
+        symbol_put_addr(g_pfnLinuxFlushTlbAll);
+    g_pfnLinuxFlushTlbAll = NULL;
+#endif
+
     rtR0LnxWorkqueueFlush();
 #if RTLNX_VER_MIN(2,5,41)
     destroy_workqueue(g_prtR0LnxWorkQueue);
diff -Nurp --no-dereference aaa/virtualbox-7.2.6/r0drv/linux/memobj-r0drv-linux.c bbb/virtualbox-7.2.6/r0drv/linux/memobj-r0drv-linux.c
--- aaa/virtualbox-7.2.6/r0drv/linux/memobj-r0drv-linux.c       2026-01-27 13:58:09.000000000 +0100
+++ bbb/virtualbox-7.2.6/r0drv/linux/memobj-r0drv-linux.c       2026-02-20 16:41:06.000000000 +0100
@@ -2108,6 +2108,17 @@ DECLHIDDEN(int) rtR0MemObjNativeMapUser(
     return rc;
 }
 
+#if defined(IPRT_USE_ALLOC_VM_AREA_FOR_EXEC) || defined(IPRT_USE_APPLY_TO_PAGE_RANGE_FOR_EXEC)
+static void rtR0MemObjLinuxFlushTlbAll(void)
+{
+# if RTLNX_VER_MIN(6,19,0)
+    if (RT_LIKELY(RT_VALID_PTR(g_pfnLinuxFlushTlbAll)))
+        g_pfnLinuxFlushTlbAll();
+# else
+    __flush_tlb_all();
+# endif
+}
+#endif
 
 DECLHIDDEN(int) rtR0MemObjNativeProtect(PRTR0MEMOBJINTERNAL pMem, size_t offSub, size_t cbSub, uint32_t fProt)
 {
@@ -2128,7 +2139,7 @@ DECLHIDDEN(int) rtR0MemObjNativeProtect(
             set_pte(papPtes[i], mk_pte(pMemLnx->apPages[i], fPg));
         }
         preempt_disable();
-        __flush_tlb_all();
+        rtR0MemObjLinuxFlushTlbAll();
         preempt_enable();
         return VINF_SUCCESS;
     }
@@ -2174,7 +2185,7 @@ DECLHIDDEN(int) rtR0MemObjNativeProtect(
             flush_icache_range((uintptr_t)pMemLnx->Core.pv + offSub, cbSub);
 #  if defined(RT_ARCH_AMD64) || defined(RT_ARCH_X86) /* flush_tlb_kernel_range is not exported, but __flush_tlb_all is. */
         preempt_disable();
-        __flush_tlb_all();
+        rtR0MemObjLinuxFlushTlbAll();
         preempt_enable();
 #  else
         flush_tlb_kernel_range((uintptr_t)pMemLnx->Core.pv + offSub, cbSub);
diff -Nurp --no-dereference aaa/virtualbox-7.2.6/vboxdrv/linux/SUPDrv-linux.c bbb/virtualbox-7.2.6/vboxdrv/linux/SUPDrv-linux.c
--- aaa/virtualbox-7.2.6/vboxdrv/linux/SUPDrv-linux.c   2026-01-27 13:57:17.000000000 +0100
+++ bbb/virtualbox-7.2.6/vboxdrv/linux/SUPDrv-linux.c   2026-02-21 18:42:48.000000000 +0100
@@ -193,6 +193,12 @@ static void                 (*g_pfnKvmDi
 /** Pointer to the KVM hardware specific module. */
 struct module               *g_pKvmHwvirtModule;
 #endif
+# if RTLNX_VER_MIN(6,19,0)
+/** Function pointer to cr4_update_irqsoff(). */
+static void                 (*g_pfnCr4UpdateIrqsoff)(unsigned long set, unsigned long clear);
+/** Function pointer to cr4_read_shadow(). */
+static unsigned long        (*g_pfnCr4ReadShadow)(void);
+# endif
 
 /** Module parameter.
  * Not prefixed because the name is used by macros and the end of this file. */
@@ -395,6 +401,28 @@ static int supdrvLinuxInitKvmSymbols(voi
         void *pfnDisable = __symbol_get("kvm_disable_virtualization");
         if (pfnDisable)
         {
+# if RTLNX_VER_MIN(6,19,0)
+            void *pfnCr4UpdateIrqsoff = __symbol_get("cr4_update_irqsoff");
+            void *pfnRr4ReadShadow = __symbol_get("cr4_read_shadow");
+
+            if (   pfnCr4UpdateIrqsoff
+                && pfnRr4ReadShadow)
+            {
+                g_pfnCr4UpdateIrqsoff   = pfnCr4UpdateIrqsoff;
+                g_pfnCr4ReadShadow      = pfnRr4ReadShadow;
+
+                printk(KERN_INFO "vboxdrv: Found extra KVM hardware-virtualization symbols\n");
+            }
+            else
+            {
+                printk(KERN_WARNING "vboxdrv: Failed to find extra KVM hardware-virtualization symbols\n");
+
+                if (pfnCr4UpdateIrqsoff)
+                    symbol_put_addr(pfnCr4UpdateIrqsoff);
+                if (pfnRr4ReadShadow)
+                    symbol_put_addr(pfnRr4ReadShadow);
+            }
+#endif
             /*
              * Try to obtain a reference to kvm_intel/kvm_amd module in addition to the
              * reference to the kvm module. If we fail, we will not try to use KVM for
@@ -466,6 +494,18 @@ static void supdrvLinuxTermKvmSymbols(vo
         symbol_put_addr(g_pfnKvmDisableVirtualization);
         g_pfnKvmDisableVirtualization = NULL;
     }
+# if RTLNX_VER_MIN(6,19,0)
+    if (g_pfnCr4UpdateIrqsoff)
+    {
+        symbol_put_addr(g_pfnCr4UpdateIrqsoff);
+        g_pfnCr4UpdateIrqsoff = NULL;
+    }
+    if (g_pfnCr4ReadShadow)
+    {
+        symbol_put_addr(g_pfnCr4ReadShadow);
+        g_pfnCr4ReadShadow = NULL;
+    }
+#endif
     if (g_pKvmHwvirtModule)
     {
         module_put(g_pKvmHwvirtModule);
@@ -1146,6 +1186,37 @@ SUPR0DECL(int) SUPDrvLinuxLdrDeregisterW
 }
 EXPORT_SYMBOL(SUPDrvLinuxLdrDeregisterWrappedModule);
 
+#if RTLNX_VER_MIN(5,8,0)
+/**
+ * Wrapper function for cr4_update_irqsoff() which was
+ * exported only for KVM starting from kernel 6.19.
+ */
+static void supdrvLinux_cr4_update_irqsoff(unsigned long set, unsigned long clear)
+{
+# if RTLNX_VER_MIN(6,19,0)
+    if (g_pfnCr4UpdateIrqsoff)
+        g_pfnCr4UpdateIrqsoff(set, clear);
+# else
+    cr4_update_irqsoff(set, clear);
+# endif
+}
+
+/**
+ * Wrapper function for supdrvLinux_cr4_read_shadow() which was
+ * exported only for KVM starting from kernel 6.19.
+ */
+static unsigned long supdrvLinux_cr4_read_shadow(void)
+{
+    unsigned long cr4 = 0;
+# if RTLNX_VER_MIN(6,19,0)
+    if (g_pfnCr4ReadShadow)
+        cr4 = g_pfnCr4ReadShadow();
+# else
+    cr4 = cr4_read_shadow();
+# endif
+    return cr4;
+}
+#endif /* 5.8.0 */
 
 #if defined(RT_ARCH_AMD64) || defined(RT_ARCH_X86)
 RTCCUINTREG VBOXCALL supdrvOSChangeCR4(RTCCUINTREG fOrMask, RTCCUINTREG fAndMask)
@@ -1153,10 +1224,10 @@ RTCCUINTREG VBOXCALL supdrvOSChangeCR4(R
 # if RTLNX_VER_MIN(5,8,0)
     unsigned long fSavedFlags;
     local_irq_save(fSavedFlags);
-    RTCCUINTREG const uOld = cr4_read_shadow();
-    cr4_update_irqsoff(fOrMask, ~fAndMask); /* Same as this function, only it is not returning the old value. */
-    AssertMsg(cr4_read_shadow() == ((uOld & fAndMask) | fOrMask),
-              ("fOrMask=%#RTreg fAndMask=%#RTreg uOld=%#RTreg; new cr4=%#llx\n", fOrMask, fAndMask, uOld, cr4_read_shadow()));
+    RTCCUINTREG const uOld = supdrvLinux_cr4_read_shadow();
+    supdrvLinux_cr4_update_irqsoff(fOrMask, ~fAndMask); /* Same as this function, only it is not returning the old value. */
+    AssertMsg(supdrvLinux_cr4_read_shadow() == ((uOld & fAndMask) | fOrMask),
+              ("fOrMask=%#RTreg fAndMask=%#RTreg uOld=%#RTreg; new cr4=%#llx\n", fOrMask, fAndMask, uOld, supdrvLinux_cr4_read_shadow()));
     local_irq_restore(fSavedFlags);
 # else
 #  if RTLNX_VER_MIN(3,20,0)

Patch anwenden:
$ sudo patch -p1 < /tmp/patch

Neu übersetzen:
$ sudo dpkg --configure virtualbox-dkms
$ sudo depmod -a

HTH
7
Esrtmal Danke an Teriarch für Deine Mühe, das alles als "deb" zusammen zu packen! Das ist auf jeden Fall die schönere Methode!

Da die meisten ja das Paket virtualbox-dkms ja schon "halb" installiert haben, vielleicht hier noch ein Tipp, damit Teriarch nicht jedesmal die Datei freigeben muss:

In dem zitierten <https://github.com/VirtualBox/virtualbox/issues/467> wird ein patchfile erwähnt, das sich zwar auf RedHat bezieht, aber für Debian auch (z.T.) funktioniert. Die zu patchenden Dateien liegen in /var/lib/dkms/virtualbox/7.2.6/source und da kann man das Patchfile anwenden.  Also:
  • Download von <https://github.com/rpmfusion/VirtualBox-kmod/blob/master/kernel-6.19.patch>
  • cd /var/lib/dkms/virtualbox/7.2.6/source
  • patch -p0 < <wo_immer_das_liegt>kernel-6.19.patch
  • dpkg --configure virtualbox-dkms

Der Patch enthält auch die Änderungen für die Client-Kernelmodule, daher meckert er die Dateien noch an, weil er sie nicht findet. Die Dateien für das Host-Kernelmodul sind dann aber alle dabei.
Hat zumindest bei mir so geklappt.

8
Upgrade Warnings / Re: Strg+Alt+3 startet kein Terminal
« Last post by ro_sid on Yesterday at 17:16:01 »
hmm, ok, verstanden und habs getan .... nun geht autologin wieder, aber ich hab dafür wieder via Ctrl-Alt-Fx keine konsolen  :-X
Das(!) geht - bei mir - wieder, allerdings eben nur mit den neuesten (systemd-)Paketen: Vorher ein dist-/full-upgrade gemacht?
9
Upgrade Warnings / Re: Strg+Alt+3 startet kein Terminal
« Last post by reddark on Yesterday at 15:42:43 »
hmm, ok, verstanden und habs getan .... nun geht autologin wieder, aber ich hab dafür wieder via Ctrl-Alt-Fx keine konsolen  :-X

10
Upgrade Warnings / Re: Strg+Alt+3 startet kein Terminal
« Last post by ro_sid on Yesterday at 15:16:14 »
versteh nicht ganz  :-X
Na ja, Siduction/das System funktioniert jetzt auch bei "Standardeinstellung" wieder so wie vor dem Auftreten des hier beschriebenen Fehlers. Man kann also mittels Ctrl-Alt-Fx (x ab 3) wieder Text-Logins (=Konsolen) "aufmachen". Damit stehen die Chancen auch für das "alte Anmeldeverhalten" gut, wenn man bei einem abgeänderten (= towos Tips) wieder zur alten Konfiguration zurückkehrt.
Bedeutet, das "enable" dort zu einem "disable" machen, in logind.conf die Zeile wieder auszukommentieren und dann das System neu zu starten (Reboot).
Das habe ich getan und siehe da, es funktioniert :).
Pages: [1] 2 3 ... 10