Upgrade kernel to 5.1x

Not sure which forum this should go in, but…
Running Leap 15.1, but looking at installing an Intel AX card. Apparently there is inbuilt kernel support for 5.1+
Have come across a few threads saying it is “do-able”, and apparently “easy”, but can’t seem to find any how-tos…
Thanks, In advance.

You can add a suitable kernel from the Leap-15.2 repository. This should temporarily add the repository, install a 5.x kernel and then disable the 15.2 repository.


  sudo zyper ar -f http://download.opensuse.org/distribution/leap/15.1/repo/oss/  Leap-15.2-repo-oss
...  
  sudo zypper in kernel-default
...
  sudo sypper mr -d   Leap-15.2-repo-oss

Great, Thanks!!
Will give that a go, but…
Not going to break anything, is it??

John

And I assume the link should be: http://download.opensuse.org/distribution/leap/15.2/repo/oss/

(and where has the EDIT link gone??) And, it’s back!!

You can always fall back to the previous kernel, you can select it via the grub menu, or if you have btrfs I suggest creating a snapshot first.

Yes, sorry. That’s the second time I have not checked and posted a mis-copied link in 24 hours.

Done and all good!
Thanks a heap.
John.

Ummm, next question.
Would like to run VirtualBox, and was working, but, obviously with the new kernel, it’s complaining about lack of relevant kernel headers etc…
What do I (and can I!) need to install (as a minimum) to be able to rebuild the VirtualBox files…?

=== Building 'vboxdrv' module ===
make[1]: Entering directory '/usr/src/kernel-modules/virtualbox/src/vboxdrv'
/usr/src/kernel-modules/virtualbox/src/vboxdrv/Makefile-header.gmk:193: *** Error: unable to find the headers of the Linux kernel to build against (KERN_DIR=/lib/modules/5.3.18-lp152.1-default/build). Specify KERN_VER=<version> (currently 5.3.18-lp152.1-default) and run Make again.  Stop.
make[1]: Leaving directory '/usr/src/kernel-modules/virtualbox/src/vboxdrv'
make: *** [Makefile:58: vboxdrv] Error 2

Thanks.

You can install virtualbox from https://download.opensuse.org/repositories/Virtualization/openSUSE_Leap_15.2_standard/

This is from a declining memory – not tested recently, and you know my recent reputation for accuracy.


  sudo zyper mr -e   Leap-15.2-repo-oss
 ...  
  sudo zypper in kernel-macros
...
  sudo sypper mr -d   Leap-15.2-repo-oss

An alternative to using the Oracle VirtualBox package would be to try the Leap-15.2 virtualbox. Easier to install using YaST, which can also enable and disable the repository.

From a different declining memory :wink: I think the following is also needed

sudo zypper in kernel-devel kernel-default-devel kernel-macros (and possibly kernel-syms)

from the same repo as the running kernel.

Thanks for being so determined to help!!
Have done as suggested, and am now getting this in the log:

=== Building 'vboxdrv' module ===
make[1]: Entering directory '/usr/src/kernel-modules/virtualbox/src/vboxdrv'
make V= CONFIG_MODULE_SIG= -C /lib/modules/5.3.18-lp152.1-default/build M=/usr/src/kernel-modules/virtualbox/src/vboxdrv SRCROOT=/usr/src/kernel-modules/virtualbox/src/vboxdrv -j4 modules
make[2]: Entering directory '/usr/src/linux-5.3.18-lp152.1-obj/x86_64/default'
  CC [M]  /usr/src/kernel-modules/virtualbox/src/vboxdrv/linux/SUPDrv-linux.o
  CC [M]  /usr/src/kernel-modules/virtualbox/src/vboxdrv/SUPDrv.o
  CC [M]  /usr/src/kernel-modules/virtualbox/src/vboxdrv/SUPDrvGip.o
  CC [M]  /usr/src/kernel-modules/virtualbox/src/vboxdrv/SUPDrvSem.o
  CC [M]  /usr/src/kernel-modules/virtualbox/src/vboxdrv/SUPDrvTracer.o
/usr/src/kernel-modules/virtualbox/src/vboxdrv/linux/SUPDrv-linux.o: warning: objtool: VBoxDrvLinuxIOCtl_6_0_12()+0x98: call to VBoxHost_RTR0MemUserCopyFrom() with UACCESS enabled
/usr/src/kernel-modules/virtualbox/src/vboxdrv/SUPDrvTracer.o: warning: objtool: .text+0x7: indirect jump found in RETPOLINE build
/usr/src/kernel-modules/virtualbox/src/vboxdrv/SUPDrvTracer.o: warning: objtool: supdrvTracerProbeFireStub() is missing an ELF size annotation
  CC [M]  /usr/src/kernel-modules/virtualbox/src/vboxdrv/SUPLibAll.o
  CC [M]  /usr/src/kernel-modules/virtualbox/src/vboxdrv/r0drv/alloc-r0drv.o
  CC [M]  /usr/src/kernel-modules/virtualbox/src/vboxdrv/r0drv/initterm-r0drv.o
  CC [M]  /usr/src/kernel-modules/virtualbox/src/vboxdrv/r0drv/memobj-r0drv.o
  CC [M]  /usr/src/kernel-modules/virtualbox/src/vboxdrv/r0drv/mpnotification-r0drv.o
  CC [M]  /usr/src/kernel-modules/virtualbox/src/vboxdrv/r0drv/powernotification-r0drv.o
  CC [M]  /usr/src/kernel-modules/virtualbox/src/vboxdrv/r0drv/linux/assert-r0drv-linux.o
  CC [M]  /usr/src/kernel-modules/virtualbox/src/vboxdrv/r0drv/linux/alloc-r0drv-linux.o
  CC [M]  /usr/src/kernel-modules/virtualbox/src/vboxdrv/r0drv/linux/initterm-r0drv-linux.o
  CC [M]  /usr/src/kernel-modules/virtualbox/src/vboxdrv/r0drv/linux/memobj-r0drv-linux.o
  CC [M]  /usr/src/kernel-modules/virtualbox/src/vboxdrv/r0drv/linux/memuserkernel-r0drv-linux.o
  CC [M]  /usr/src/kernel-modules/virtualbox/src/vboxdrv/r0drv/linux/mp-r0drv-linux.o
  CC [M]  /usr/src/kernel-modules/virtualbox/src/vboxdrv/r0drv/linux/mpnotification-r0drv-linux.o
/usr/src/kernel-modules/virtualbox/src/vboxdrv/r0drv/linux/memuserkernel-r0drv-linux.o: warning: objtool: rtR0MemKernelCopyLnxWorker()+0x16: redundant CLD
  CC [M]  /usr/src/kernel-modules/virtualbox/src/vboxdrv/r0drv/linux/process-r0drv-linux.o
  CC [M]  /usr/src/kernel-modules/virtualbox/src/vboxdrv/r0drv/linux/rtStrFormatKernelAddress-r0drv-linux.o
  CC [M]  /usr/src/kernel-modules/virtualbox/src/vboxdrv/r0drv/linux/semevent-r0drv-linux.o
  CC [M]  /usr/src/kernel-modules/virtualbox/src/vboxdrv/r0drv/linux/semeventmulti-r0drv-linux.o
  CC [M]  /usr/src/kernel-modules/virtualbox/src/vboxdrv/r0drv/linux/semfastmutex-r0drv-linux.o
  CC [M]  /usr/src/kernel-modules/virtualbox/src/vboxdrv/r0drv/linux/semmutex-r0drv-linux.o
  CC [M]  /usr/src/kernel-modules/virtualbox/src/vboxdrv/r0drv/linux/spinlock-r0drv-linux.o
  CC [M]  /usr/src/kernel-modules/virtualbox/src/vboxdrv/r0drv/linux/thread-r0drv-linux.o
  CC [M]  /usr/src/kernel-modules/virtualbox/src/vboxdrv/r0drv/linux/thread2-r0drv-linux.o
  CC [M]  /usr/src/kernel-modules/virtualbox/src/vboxdrv/r0drv/linux/threadctxhooks-r0drv-linux.o
  CC [M]  /usr/src/kernel-modules/virtualbox/src/vboxdrv/r0drv/linux/timer-r0drv-linux.o
  CC [M]  /usr/src/kernel-modules/virtualbox/src/vboxdrv/r0drv/linux/time-r0drv-linux.o
  CC [M]  /usr/src/kernel-modules/virtualbox/src/vboxdrv/r0drv/generic/semspinmutex-r0drv-generic.o
/usr/src/kernel-modules/virtualbox/src/vboxdrv/r0drv/linux/threadctxhooks-r0drv-linux.o: warning: objtool: rtThreadCtxHooksLnxSchedOut()+0x1f: call to __x86_indirect_thunk_rax() with UACCESS enabled
/usr/src/kernel-modules/virtualbox/src/vboxdrv/r0drv/linux/threadctxhooks-r0drv-linux.o: warning: objtool: rtThreadCtxHooksLnxSchedIn()+0x21: call to __x86_indirect_thunk_rax() with UACCESS enabled
  CC [M]  /usr/src/kernel-modules/virtualbox/src/vboxdrv/common/alloc/alloc.o
  CC [M]  /usr/src/kernel-modules/virtualbox/src/vboxdrv/common/checksum/crc32.o
  CC [M]  /usr/src/kernel-modules/virtualbox/src/vboxdrv/common/checksum/ipv4.o
  CC [M]  /usr/src/kernel-modules/virtualbox/src/vboxdrv/common/checksum/ipv6.o
  CC [M]  /usr/src/kernel-modules/virtualbox/src/vboxdrv/common/err/RTErrConvertFromErrno.o
  CC [M]  /usr/src/kernel-modules/virtualbox/src/vboxdrv/common/err/RTErrConvertToErrno.o
  CC [M]  /usr/src/kernel-modules/virtualbox/src/vboxdrv/common/err/errinfo.o
  CC [M]  /usr/src/kernel-modules/virtualbox/src/vboxdrv/common/log/log.o
  CC [M]  /usr/src/kernel-modules/virtualbox/src/vboxdrv/common/log/logellipsis.o
  CC [M]  /usr/src/kernel-modules/virtualbox/src/vboxdrv/common/log/logrel.o
  CC [M]  /usr/src/kernel-modules/virtualbox/src/vboxdrv/common/log/logrelellipsis.o
  CC [M]  /usr/src/kernel-modules/virtualbox/src/vboxdrv/common/log/logcom.o
  CC [M]  /usr/src/kernel-modules/virtualbox/src/vboxdrv/common/log/logformat.o
  CC [M]  /usr/src/kernel-modules/virtualbox/src/vboxdrv/common/misc/RTAssertMsg1Weak.o
  CC [M]  /usr/src/kernel-modules/virtualbox/src/vboxdrv/common/misc/RTAssertMsg2.o
  CC [M]  /usr/src/kernel-modules/virtualbox/src/vboxdrv/common/misc/RTAssertMsg2Add.o
  CC [M]  /usr/src/kernel-modules/virtualbox/src/vboxdrv/common/misc/RTAssertMsg2AddWeak.o
  CC [M]  /usr/src/kernel-modules/virtualbox/src/vboxdrv/common/misc/RTAssertMsg2AddWeakV.o
  CC [M]  /usr/src/kernel-modules/virtualbox/src/vboxdrv/common/misc/RTAssertMsg2Weak.o
  CC [M]  /usr/src/kernel-modules/virtualbox/src/vboxdrv/common/misc/RTAssertMsg2WeakV.o
  CC [M]  /usr/src/kernel-modules/virtualbox/src/vboxdrv/common/misc/assert.o
  CC [M]  /usr/src/kernel-modules/virtualbox/src/vboxdrv/common/misc/handletable.o
  CC [M]  /usr/src/kernel-modules/virtualbox/src/vboxdrv/common/misc/handletablectx.o
  CC [M]  /usr/src/kernel-modules/virtualbox/src/vboxdrv/common/misc/thread.o
  CC [M]  /usr/src/kernel-modules/virtualbox/src/vboxdrv/common/string/RTStrCat.o
  CC [M]  /usr/src/kernel-modules/virtualbox/src/vboxdrv/common/string/RTStrCopy.o
  CC [M]  /usr/src/kernel-modules/virtualbox/src/vboxdrv/common/string/RTStrCopyEx.o
  CC [M]  /usr/src/kernel-modules/virtualbox/src/vboxdrv/common/string/RTStrCopyP.o
  CC [M]  /usr/src/kernel-modules/virtualbox/src/vboxdrv/common/string/RTStrNCmp.o
  CC [M]  /usr/src/kernel-modules/virtualbox/src/vboxdrv/common/string/RTStrNLen.o
  CC [M]  /usr/src/kernel-modules/virtualbox/src/vboxdrv/common/string/stringalloc.o
  CC [M]  /usr/src/kernel-modules/virtualbox/src/vboxdrv/common/string/strformat.o
  CC [M]  /usr/src/kernel-modules/virtualbox/src/vboxdrv/common/string/strformatnum.o
  CC [M]  /usr/src/kernel-modules/virtualbox/src/vboxdrv/common/string/strformatrt.o
  CC [M]  /usr/src/kernel-modules/virtualbox/src/vboxdrv/common/string/strformattype.o
  CC [M]  /usr/src/kernel-modules/virtualbox/src/vboxdrv/common/string/strprintf.o
  CC [M]  /usr/src/kernel-modules/virtualbox/src/vboxdrv/common/string/strtonum.o
  CC [M]  /usr/src/kernel-modules/virtualbox/src/vboxdrv/common/table/avlpv.o
  CC [M]  /usr/src/kernel-modules/virtualbox/src/vboxdrv/common/time/time.o
  CC [M]  /usr/src/kernel-modules/virtualbox/src/vboxdrv/r0drv/linux/RTLogWriteDebugger-r0drv-linux.o
  CC [M]  /usr/src/kernel-modules/virtualbox/src/vboxdrv/generic/RTAssertShouldPanic-generic.o
  CC [M]  /usr/src/kernel-modules/virtualbox/src/vboxdrv/generic/RTLogWriteStdErr-stub-generic.o
  CC [M]  /usr/src/kernel-modules/virtualbox/src/vboxdrv/generic/RTLogWriteStdOut-stub-generic.o
  CC [M]  /usr/src/kernel-modules/virtualbox/src/vboxdrv/generic/RTLogWriteUser-generic.o
  CC [M]  /usr/src/kernel-modules/virtualbox/src/vboxdrv/generic/RTMpGetArraySize-generic.o
  CC [M]  /usr/src/kernel-modules/virtualbox/src/vboxdrv/generic/RTMpGetCoreCount-generic.o
  CC [M]  /usr/src/kernel-modules/virtualbox/src/vboxdrv/generic/RTSemEventWait-2-ex-generic.o
  CC [M]  /usr/src/kernel-modules/virtualbox/src/vboxdrv/generic/RTSemEventWaitNoResume-2-ex-generic.o
  CC [M]  /usr/src/kernel-modules/virtualbox/src/vboxdrv/generic/RTSemEventMultiWait-2-ex-generic.o
  CC [M]  /usr/src/kernel-modules/virtualbox/src/vboxdrv/generic/RTSemEventMultiWaitNoResume-2-ex-generic.o
  CC [M]  /usr/src/kernel-modules/virtualbox/src/vboxdrv/generic/RTTimerCreate-generic.o
  CC [M]  /usr/src/kernel-modules/virtualbox/src/vboxdrv/generic/errvars-generic.o
  CC [M]  /usr/src/kernel-modules/virtualbox/src/vboxdrv/generic/mppresent-generic.o
  CC [M]  /usr/src/kernel-modules/virtualbox/src/vboxdrv/generic/uuid-generic.o
  CC [M]  /usr/src/kernel-modules/virtualbox/src/vboxdrv/VBox/log-vbox.o
  CC [M]  /usr/src/kernel-modules/virtualbox/src/vboxdrv/common/alloc/heapsimple.o
  LD [M]  /usr/src/kernel-modules/virtualbox/src/vboxdrv/vboxdrv.o
  Building modules, stage 2.
  MODPOST 1 modules
  CC      /usr/src/kernel-modules/virtualbox/src/vboxdrv/vboxdrv.mod.o
  LD [M]  /usr/src/kernel-modules/virtualbox/src/vboxdrv/vboxdrv.ko
make[2]: Leaving directory '/usr/src/linux-5.3.18-lp152.1-obj/x86_64/default'
make[1]: Leaving directory '/usr/src/kernel-modules/virtualbox/src/vboxdrv'


=== Building 'vboxnetflt' module ===
make[1]: Entering directory '/usr/src/kernel-modules/virtualbox/src/vboxnetflt'
make V= CONFIG_MODULE_SIG= -C /lib/modules/5.3.18-lp152.1-default/build M=/usr/src/kernel-modules/virtualbox/src/vboxnetflt SRCROOT=/usr/src/kernel-modules/virtualbox/src/vboxnetflt -j4 modules
make[2]: Entering directory '/usr/src/linux-5.3.18-lp152.1-obj/x86_64/default'
  CC [M]  /usr/src/kernel-modules/virtualbox/src/vboxnetflt/linux/VBoxNetFlt-linux.o
  CC [M]  /usr/src/kernel-modules/virtualbox/src/vboxnetflt/VBoxNetFlt.o
  CC [M]  /usr/src/kernel-modules/virtualbox/src/vboxnetflt/SUPR0IdcClient.o
  CC [M]  /usr/src/kernel-modules/virtualbox/src/vboxnetflt/SUPR0IdcClientComponent.o
  CC [M]  /usr/src/kernel-modules/virtualbox/src/vboxnetflt/linux/SUPR0IdcClient-linux.o
/usr/src/kernel-modules/virtualbox/src/vboxnetflt/linux/VBoxNetFlt-linux.c: In function ‘vboxNetFltLinuxSkBufToSG’:
/usr/src/kernel-modules/virtualbox/src/vboxnetflt/linux/VBoxNetFlt-linux.c:927:36: error: ‘skb_frag_t {aka struct bio_vec}’ has no member named ‘size’
         pSG->aSegs[iSeg].cb = pFrag->size;
                                    ^~
/usr/src/kernel-modules/virtualbox/src/vboxnetflt/linux/VBoxNetFlt-linux.c:928:66: error: ‘skb_frag_t {aka struct bio_vec}’ has no member named ‘page_offset’; did you mean ‘bv_offset’?
         pSG->aSegs[iSeg].pv = VBOX_SKB_KMAP_FRAG(pFrag) + pFrag->page_offset;
                                                                  ^~~~~~~~~~~
                                                                  bv_offset
/usr/src/kernel-modules/virtualbox/src/vboxnetflt/linux/VBoxNetFlt-linux.c:943:40: error: ‘skb_frag_t {aka struct bio_vec}’ has no member named ‘size’
             pSG->aSegs[iSeg].cb = pFrag->size;
                                        ^~
/usr/src/kernel-modules/virtualbox/src/vboxnetflt/linux/VBoxNetFlt-linux.c:944:70: error: ‘skb_frag_t {aka struct bio_vec}’ has no member named ‘page_offset’; did you mean ‘bv_offset’?
             pSG->aSegs[iSeg].pv = VBOX_SKB_KMAP_FRAG(pFrag) + pFrag->page_offset;
                                                                      ^~~~~~~~~~~
                                                                      bv_offset
make[4]: *** [/usr/src/linux-5.3.18-lp152.1/scripts/Makefile.build:281: /usr/src/kernel-modules/virtualbox/src/vboxnetflt/linux/VBoxNetFlt-linux.o] Error 1
make[3]: *** [/usr/src/linux-5.3.18-lp152.1/Makefile:1641: _module_/usr/src/kernel-modules/virtualbox/src/vboxnetflt] Error 2
make[2]: *** ../../../linux-5.3.18-lp152.1/Makefile:179: sub-make] Error 2
make[2]: Leaving directory '/usr/src/linux-5.3.18-lp152.1-obj/x86_64/default'
make[1]: *** [/usr/src/kernel-modules/virtualbox/src/vboxnetflt/Makefile-footer.gmk:111: vboxnetflt] Error 2
make[1]: Leaving directory '/usr/src/kernel-modules/virtualbox/src/vboxnetflt'
make: *** [Makefile:63: vboxnetflt] Error 1

When you figure I am a lost cause, just let me know!! :wink:

Thanks, John.

Hmm, you have shown us what happened but have not been very exact about what you did. It is always helpful to see a copy of the commands that were run. If you used zypper you could have copied from the terminal so that some other eyes could check what kernel packages were instaled. And what VirtualBox were you trying to install and how? Was it this:
https://download.virtualbox.org/virtualbox/6.1.2/VirtualBox-6.1-6.1.2_135662_openSUSE150-1.x86_64.rpm
or something else.

I would be tempted to try the virtualbox package from the Leap-15.2 repository because it comes with the kernel module to match the kernel you have installed.

Not a VBox expert here, anyway…
The first version supporting kernel 5.3 is VBox 6.0.14 (please see https://www.virtualbox.org/wiki/Changelog-6.0 ), no use trying older versions.
The latest version (6.1.2) should work (unless Larry specially tweaked it to build the kmp- for Leap 15.2).
If even 6.1.2 fails, the only practical option I see is installing from the 15.2 repo.