[clug] Ubuntu 20.04 kernels and VirtualBox

Tony Lewis tony at lewistribe.com
Tue Jul 21 15:58:53 UTC 2020


I recently upgraded to (K)Ubuntu 20.04 but there was a problem upgrading 
the VirtualBox kernel modules.  After much head scratching in shell 
scripts and makefiles, it appears that VirtualBox was trying to build 
modules into /lib/modules/5.4.44 rather than 
/lib/modules/5.4.0-42-generic.  After more head scratching, I find that 
the kernel.release file contains '5.4.44'.  This appears to be the same 
for other variants for 5.4.0 Ubuntu kernels, but a sample 5.3.0 kernel I 
installed has the expected '5.3.0-62-generic' contents:

    $ find /usr/src -name kernel.release -exec grep . {} \; -print
    5.4.41
    /usr/src/linux-headers-5.4.0-39-generic/include/config/kernel.release
    5.3.0-62-generic
    /usr/src/linux-headers-5.3.0-62-generic/include/config/kernel.release
    5.4.44
    /usr/src/linux-headers-5.4.0-42-generic/include/config/kernel.release
    5.4.44
    /usr/src/linux-headers-5.4.0-40-generic/include/config/kernel.release

What's really weird is that the native package that I downloaded and 
extracted manually has '5.4.0-42-generic':

      $ dpkg -x
    /var/cache/apt/archives/linux-headers-5.4.0-42-generic_5.4.0-42.46_amd64.deb
    lh42
      $ find lh42 -name kernel.release -exec grep . {} \; -print
    5.4.0-42-generic
    lh42/usr/src/linux-headers-5.4.0-42-generic/include/config/kernel.release

Even more weird is that if I then check the package against the 
checksums, some 17 files have been changed:

    # md5sum -c
    /var/lib/dpkg/info/linux-headers-5.4.0-42-generic.md5sums| grep -v OK
    usr/src/linux-headers-5.4.0-42-generic/.config: FAILED
    usr/src/linux-headers-5.4.0-42-generic/.config.old: FAILED
    usr/src/linux-headers-5.4.0-42-generic/include/config/auto.conf: FAILED
    usr/src/linux-headers-5.4.0-42-generic/include/config/auto.conf.cmd:
    FAILED
    usr/src/linux-headers-5.4.0-42-generic/include/config/kernel.release:
    FAILED
    usr/src/linux-headers-5.4.0-42-generic/include/config/tristate.conf:
    FAILED
    usr/src/linux-headers-5.4.0-42-generic/include/generated/autoconf.h:
    FAILED
    usr/src/linux-headers-5.4.0-42-generic/scripts/basic/.fixdep.cmd: FAILED
    usr/src/linux-headers-5.4.0-42-generic/scripts/kconfig/.conf.o.cmd:
    FAILED
    usr/src/linux-headers-5.4.0-42-generic/scripts/kconfig/.confdata.o.cmd:
    FAILED
    usr/src/linux-headers-5.4.0-42-generic/scripts/kconfig/.expr.o.cmd:
    FAILED
    usr/src/linux-headers-5.4.0-42-generic/scripts/kconfig/.lexer.lex.c.cmd:
    FAILED
    usr/src/linux-headers-5.4.0-42-generic/scripts/kconfig/.lexer.lex.o.cmd:
    FAILED
    usr/src/linux-headers-5.4.0-42-generic/scripts/kconfig/.parser.tab.h.cmd:
    FAILED
    usr/src/linux-headers-5.4.0-42-generic/scripts/kconfig/.parser.tab.o.cmd:
    FAILED
    usr/src/linux-headers-5.4.0-42-generic/scripts/kconfig/.preprocess.o.cmd:
    FAILED
    usr/src/linux-headers-5.4.0-42-generic/scripts/kconfig/.symbol.o.cmd:
    FAILED
    md5sum: WARNING: 17 computed checksums did NOT match

But for the 5.3.x headers, there were no mismatches:

    # md5sum -c
    /var/lib/dpkg/info/linux-headers-5.3.0-62-generic.md5sums| grep -v
    OK | wc -l
    0

Is something broken here?  I can't understand what could be changing the 
files upon install (the .postinst file doesn't appear to do much).

My baseball bat fix was to copy the manually extracted files across over 
the installed files, and then my VirtualBox would build its kernel 
modules and run.  But I'm keen to try and figure out what the issue is here.

Any clues?

Tony






More information about the linux mailing list