0

I'm currently running Debian 10 with Xen 4.12 installed.
I compiled Xen from source on another machine with the below steps:

  1. ./configure --target=x86_64 --with-platform=efi --enable-systemd
  2. make world
  3. make dist
  4. make debbal

After that I installed the Xen package on the Debian 10 host.
Furthermore I compiled a Vanilla kernel (5.3.8) and installed on the Debian 10 host as well.

Now everything is fine, but with the Xen hypervisor loaded, additional modules like coretemp cannot be loaded:

root@xen1:/# modprobe coretemp
modprobe: ERROR: could not insert 'coretemp': No such device
root@xen1:/# uname -a
Linux xen1 5.3.8 #1 SMP Wed Nov 6 13:42:42 CET 2019 x86_64 GNU/Linux
root@xen1:/# ll /usr/lib/modules/5.3.8/kernel/drivers/hwmon/coretemp.ko 
-rw-r--r-- 1 root root 24872 Nov  6 13:41 /usr/lib/modules/5.3.8/kernel/drivers/hwmon/coretemp.ko

When booting the host without Xen hypervisor, I'm able to load the coretemp module without any problems.

Is there anything wrong with the configuration (maybe grub)?
Please find below my current grub configuration:

root@xen1:/# cat /boot/grub/grub.cfg 
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

### BEGIN /etc/grub.d/00_header ###
if [ -s $prefix/grubenv ]; then
  set have_grubenv=true
  load_env
fi
if [ "${next_entry}" ] ; then
   set default="${next_entry}"
   set next_entry=
   save_env next_entry
   set boot_once=true
else
   set default="Debian GNU/Linux, with Xen hypervisor"
fi

if [ x"${feature_menuentry_id}" = xy ]; then
  menuentry_id_option="--id"
else
  menuentry_id_option=""
fi

export menuentry_id_option

if [ "${prev_saved_entry}" ]; then
  set saved_entry="${prev_saved_entry}"
  save_env saved_entry
  set prev_saved_entry=
  save_env prev_saved_entry
  set boot_once=true
fi

function savedefault {
  if [ -z "${boot_once}" ]; then
    saved_entry="${chosen}"
    save_env saved_entry
  fi
}
function load_video {
  if [ x$feature_all_video_module = xy ]; then
    insmod all_video
  else
    insmod efi_gop
    insmod efi_uga
    insmod ieee1275_fb
    insmod vbe
    insmod vga
    insmod video_bochs
    insmod video_cirrus
  fi
}

if [ x$feature_default_font_path = xy ] ; then
   font=unicode
else
insmod part_gpt
insmod lvm
insmod ext2
set root='lvmid/bvbEzC-juKi-DnNc-yxrz-7KHu-uh1P-n6EPWK/tkAuXS-e4Gq-DY98-kkIY-nNf3-4fxn-u8QT2G'
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint='lvmid/bvbEzC-juKi-DnNc-yxrz-7KHu-uh1P-n6EPWK/tkAuXS-e4Gq-DY98-kkIY-nNf3-4fxn-u8QT2G'  988e72e2-cc10-46d6-9cd8-3b58827fe864
else
  search --no-floppy --fs-uuid --set=root 988e72e2-cc10-46d6-9cd8-3b58827fe864
fi
    font="/usr/share/grub/unicode.pf2"
fi

if loadfont $font ; then
  set gfxmode=auto
  load_video
  insmod gfxterm
  set locale_dir=$prefix/locale
  set lang=en_GB
  insmod gettext
fi
terminal_output gfxterm
if [ "${recordfail}" = 1 ] ; then
  set timeout=30
else
  if [ x$feature_timeout_style = xy ] ; then
    set timeout_style=menu
    set timeout=5
  # Fallback normal timeout code in case the timeout_style feature is
  # unavailable.
  else
    set timeout=5
  fi
fi
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/05_debian_theme ###
set menu_color_normal=cyan/blue
set menu_color_highlight=white/blue
### END /etc/grub.d/05_debian_theme ###

### BEGIN /etc/grub.d/08_linux_xen ###
menuentry 'Debian GNU/Linux, with Xen hypervisor' --class debian --class gnu-linux --class gnu --class os --class xen $menuentry_id_option 'xen-gnulinux-simple-988e72e2-cc10-46d6-9cd8-3b58827fe864' {
    insmod part_gpt
    insmod ext2
    if [ x$feature_platform_search_hint = xy ]; then
      search --no-floppy --fs-uuid --set=root  e9e6e232-aef7-4e2e-ac20-cd8b218952b1
    else
      search --no-floppy --fs-uuid --set=root e9e6e232-aef7-4e2e-ac20-cd8b218952b1
    fi
    echo    'Loading Xen 4.12.2-pre ...'
        if [ "$grub_platform" = "pc" -o "$grub_platform" = "" ]; then
            xen_rm_opts=
        else
            xen_rm_opts="no-real-mode edd=off"
        fi
    multiboot2  /xen-4.12.2-pre.gz placeholder  dom0_mem=2560M,max:2560M ${xen_rm_opts}
    echo    'Loading Linux 5.3.8 ...'
    module2 /vmlinuz-5.3.8 placeholder root=/dev/mapper/vg00-lvroot ro  quiet pcie_aspm=force
    echo    'Loading initial ramdisk ...'
    module2 --nounzip   /initrd.img-5.3.8
}
submenu 'Advanced options for Debian GNU/Linux (with Xen hypervisor)' $menuentry_id_option 'gnulinux-advanced-988e72e2-cc10-46d6-9cd8-3b58827fe864' {
    submenu 'Xen hypervisor, version 4.12.2-pre' $menuentry_id_option 'xen-hypervisor-4.12.2-pre-988e72e2-cc10-46d6-9cd8-3b58827fe864' {
        menuentry 'Debian GNU/Linux, with Xen 4.12.2-pre and Linux 5.3.8' --class debian --class gnu-linux --class gnu --class os --class xen $menuentry_id_option 'xen-gnulinux-5.3.8-advanced-988e72e2-cc10-46d6-9cd8-3b58827fe864' {
            insmod part_gpt
            insmod ext2
            if [ x$feature_platform_search_hint = xy ]; then
              search --no-floppy --fs-uuid --set=root  e9e6e232-aef7-4e2e-ac20-cd8b218952b1
            else
              search --no-floppy --fs-uuid --set=root e9e6e232-aef7-4e2e-ac20-cd8b218952b1
            fi
            echo    'Loading Xen 4.12.2-pre ...'
                if [ "$grub_platform" = "pc" -o "$grub_platform" = "" ]; then
                    xen_rm_opts=
                else
                    xen_rm_opts="no-real-mode edd=off"
                fi
            multiboot2  /xen-4.12.2-pre.gz placeholder  dom0_mem=2560M,max:2560M ${xen_rm_opts}
            echo    'Loading Linux 5.3.8 ...'
            module2 /vmlinuz-5.3.8 placeholder root=/dev/mapper/vg00-lvroot ro  quiet pcie_aspm=force
            echo    'Loading initial ramdisk ...'
            module2 --nounzip   /initrd.img-5.3.8
        }
        menuentry 'Debian GNU/Linux, with Xen 4.12.2-pre and Linux 5.3.8 (recovery mode)' --class debian --class gnu-linux --class gnu --class os --class xen $menuentry_id_option 'xen-gnulinux-5.3.8-recovery-988e72e2-cc10-46d6-9cd8-3b58827fe864' {
            insmod part_gpt
            insmod ext2
            if [ x$feature_platform_search_hint = xy ]; then
              search --no-floppy --fs-uuid --set=root  e9e6e232-aef7-4e2e-ac20-cd8b218952b1
            else
              search --no-floppy --fs-uuid --set=root e9e6e232-aef7-4e2e-ac20-cd8b218952b1
            fi
            echo    'Loading Xen 4.12.2-pre ...'
                if [ "$grub_platform" = "pc" -o "$grub_platform" = "" ]; then
                    xen_rm_opts=
                else
                    xen_rm_opts="no-real-mode edd=off"
                fi
            multiboot2  /xen-4.12.2-pre.gz placeholder  ${xen_rm_opts}
            echo    'Loading Linux 5.3.8 ...'
            module2 /vmlinuz-5.3.8 placeholder root=/dev/mapper/vg00-lvroot ro single 
            echo    'Loading initial ramdisk ...'
            module2 --nounzip   /initrd.img-5.3.8
        }
        menuentry 'Debian GNU/Linux, with Xen 4.12.2-pre and Linux 4.19.0-6-amd64' --class debian --class gnu-linux --class gnu --class os --class xen $menuentry_id_option 'xen-gnulinux-4.19.0-6-amd64-advanced-988e72e2-cc10-46d6-9cd8-3b58827fe864' {
            insmod part_gpt
            insmod ext2
            if [ x$feature_platform_search_hint = xy ]; then
              search --no-floppy --fs-uuid --set=root  e9e6e232-aef7-4e2e-ac20-cd8b218952b1
            else
              search --no-floppy --fs-uuid --set=root e9e6e232-aef7-4e2e-ac20-cd8b218952b1
            fi
            echo    'Loading Xen 4.12.2-pre ...'
                if [ "$grub_platform" = "pc" -o "$grub_platform" = "" ]; then
                    xen_rm_opts=
                else
                    xen_rm_opts="no-real-mode edd=off"
                fi
            multiboot2  /xen-4.12.2-pre.gz placeholder  dom0_mem=2560M,max:2560M ${xen_rm_opts}
            echo    'Loading Linux 4.19.0-6-amd64 ...'
            module2 /vmlinuz-4.19.0-6-amd64 placeholder root=/dev/mapper/vg00-lvroot ro  quiet pcie_aspm=force
            echo    'Loading initial ramdisk ...'
            module2 --nounzip   /initrd.img-4.19.0-6-amd64
        }
        menuentry 'Debian GNU/Linux, with Xen 4.12.2-pre and Linux 4.19.0-6-amd64 (recovery mode)' --class debian --class gnu-linux --class gnu --class os --class xen $menuentry_id_option 'xen-gnulinux-4.19.0-6-amd64-recovery-988e72e2-cc10-46d6-9cd8-3b58827fe864' {
            insmod part_gpt
            insmod ext2
            if [ x$feature_platform_search_hint = xy ]; then
              search --no-floppy --fs-uuid --set=root  e9e6e232-aef7-4e2e-ac20-cd8b218952b1
            else
              search --no-floppy --fs-uuid --set=root e9e6e232-aef7-4e2e-ac20-cd8b218952b1
            fi
            echo    'Loading Xen 4.12.2-pre ...'
                if [ "$grub_platform" = "pc" -o "$grub_platform" = "" ]; then
                    xen_rm_opts=
                else
                    xen_rm_opts="no-real-mode edd=off"
                fi
            multiboot2  /xen-4.12.2-pre.gz placeholder  ${xen_rm_opts}
            echo    'Loading Linux 4.19.0-6-amd64 ...'
            module2 /vmlinuz-4.19.0-6-amd64 placeholder root=/dev/mapper/vg00-lvroot ro single 
            echo    'Loading initial ramdisk ...'
            module2 --nounzip   /initrd.img-4.19.0-6-amd64
        }
    }
}

### END /etc/grub.d/08_linux_xen ###

### BEGIN /etc/grub.d/10_linux ###
function gfxmode {
    set gfxpayload="${1}"
}
set linux_gfx_mode=
export linux_gfx_mode
menuentry 'Debian GNU/Linux' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-988e72e2-cc10-46d6-9cd8-3b58827fe864' {
    load_video
    insmod gzio
    if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
    insmod part_gpt
    insmod ext2
    if [ x$feature_platform_search_hint = xy ]; then
      search --no-floppy --fs-uuid --set=root  e9e6e232-aef7-4e2e-ac20-cd8b218952b1
    else
      search --no-floppy --fs-uuid --set=root e9e6e232-aef7-4e2e-ac20-cd8b218952b1
    fi
    echo    'Loading Linux 5.3.8 ...'
    linux   /vmlinuz-5.3.8 root=/dev/mapper/vg00-lvroot ro  quiet pcie_aspm=force
    echo    'Loading initial ramdisk ...'
    initrd  /initrd.img-5.3.8
}
submenu 'Advanced options for Debian GNU/Linux' $menuentry_id_option 'gnulinux-advanced-988e72e2-cc10-46d6-9cd8-3b58827fe864' {
    menuentry 'Debian GNU/Linux, with Linux 5.3.8' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.3.8-advanced-988e72e2-cc10-46d6-9cd8-3b58827fe864' {
        load_video
        insmod gzio
        if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
        insmod part_gpt
        insmod ext2
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root  e9e6e232-aef7-4e2e-ac20-cd8b218952b1
        else
          search --no-floppy --fs-uuid --set=root e9e6e232-aef7-4e2e-ac20-cd8b218952b1
        fi
        echo    'Loading Linux 5.3.8 ...'
        linux   /vmlinuz-5.3.8 root=/dev/mapper/vg00-lvroot ro  quiet pcie_aspm=force
        echo    'Loading initial ramdisk ...'
        initrd  /initrd.img-5.3.8
    }
    menuentry 'Debian GNU/Linux, with Linux 5.3.8 (recovery mode)' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.3.8-recovery-988e72e2-cc10-46d6-9cd8-3b58827fe864' {
        load_video
        insmod gzio
        if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
        insmod part_gpt
        insmod ext2
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root  e9e6e232-aef7-4e2e-ac20-cd8b218952b1
        else
          search --no-floppy --fs-uuid --set=root e9e6e232-aef7-4e2e-ac20-cd8b218952b1
        fi
        echo    'Loading Linux 5.3.8 ...'
        linux   /vmlinuz-5.3.8 root=/dev/mapper/vg00-lvroot ro single 
        echo    'Loading initial ramdisk ...'
        initrd  /initrd.img-5.3.8
    }
    menuentry 'Debian GNU/Linux, with Linux 4.19.0-6-amd64' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.19.0-6-amd64-advanced-988e72e2-cc10-46d6-9cd8-3b58827fe864' {
        load_video
        insmod gzio
        if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
        insmod part_gpt
        insmod ext2
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root  e9e6e232-aef7-4e2e-ac20-cd8b218952b1
        else
          search --no-floppy --fs-uuid --set=root e9e6e232-aef7-4e2e-ac20-cd8b218952b1
        fi
        echo    'Loading Linux 4.19.0-6-amd64 ...'
        linux   /vmlinuz-4.19.0-6-amd64 root=/dev/mapper/vg00-lvroot ro  quiet pcie_aspm=force
        echo    'Loading initial ramdisk ...'
        initrd  /initrd.img-4.19.0-6-amd64
    }
    menuentry 'Debian GNU/Linux, with Linux 4.19.0-6-amd64 (recovery mode)' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.19.0-6-amd64-recovery-988e72e2-cc10-46d6-9cd8-3b58827fe864' {
        load_video
        insmod gzio
        if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
        insmod part_gpt
        insmod ext2
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root  e9e6e232-aef7-4e2e-ac20-cd8b218952b1
        else
          search --no-floppy --fs-uuid --set=root e9e6e232-aef7-4e2e-ac20-cd8b218952b1
        fi
        echo    'Loading Linux 4.19.0-6-amd64 ...'
        linux   /vmlinuz-4.19.0-6-amd64 root=/dev/mapper/vg00-lvroot ro single 
        echo    'Loading initial ramdisk ...'
        initrd  /initrd.img-4.19.0-6-amd64
    }
}

### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/30_os-prober ###
### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/30_uefi-firmware ###
menuentry 'System setup' $menuentry_id_option 'uefi-firmware' {
    fwsetup
}
### END /etc/grub.d/30_uefi-firmware ###

### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###

### BEGIN /etc/grub.d/41_custom ###
if [ -f  ${config_directory}/custom.cfg ]; then
  source ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f  $prefix/custom.cfg ]; then
  source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###

The /boot folder contains the following files:

root@xen1:/# ll /boot/
total 74084
-rw-r--r-- 1 root root   206243 Sep 20 12:51 config-4.19.0-6-amd64
-rw-r--r-- 1 root root   219726 Nov  6 13:41 config-5.3.8
-rw-r--r-- 1 root root     1638 Nov  5 09:37 config-xen-4.12.2-pre
drwx------ 3 root root     4096 Jan  1  1970 efi
drwxr-xr-x 5 root root     4096 Nov  6 15:08 grub
-rw-r--r-- 1 root root 28041914 Nov  5 15:10 initrd.img-4.19.0-6-amd64
-rw-r--r-- 1 root root 28213404 Nov  6 14:45 initrd.img-5.3.8
drwx------ 2 root root    16384 Nov  5 13:32 lost+found
-rw-r--r-- 1 root root  3409486 Sep 20 12:51 System.map-4.19.0-6-amd64
-rw-r--r-- 1 root root  3622883 Nov  6 13:41 System.map-5.3.8
-rw-r--r-- 1 root root  5262576 Sep 20 12:51 vmlinuz-4.19.0-6-amd64
-rw-r--r-- 1 root root  5548416 Nov  6 13:41 vmlinuz-5.3.8
-rw-r--r-- 1 root root  1176799 Nov  5 10:00 xen-4.12.2-pre.gz

On my system (Debian 10), the file /lib/systemd/system/systemd-modules-load.service is not available. I already checked the config /usr/local/lib/modules-load.d/xen.conf and renamed the modules to the correct ones. All of the appropriate XEN modules will be load at boot without any problems:

Nov 10 09:35:34 xen1 systemd-modules-load[227]: Inserted module '8021q'
Nov 10 09:35:34 xen1 systemd-modules-load[227]: Inserted module 'nct6775'
Nov 10 09:35:34 xen1 systemd-modules-load[227]: Failed to insert module 'coretemp': No such device
Nov 10 09:35:34 xen1 systemd-modules-load[227]: Inserted module 'xen_evtchn'
Nov 10 09:35:34 xen1 systemd-modules-load[227]: Inserted module 'xen_gntdev'
Nov 10 09:35:34 xen1 systemd-modules-load[227]: Inserted module 'xen_gntalloc'
Nov 10 09:35:34 xen1 systemd-modules-load[227]: Inserted module 'xen_blkback'
Nov 10 09:35:34 xen1 systemd-modules-load[227]: Inserted module 'xen_netback'
Nov 10 09:35:34 xen1 systemd-modules-load[227]: Inserted module 'xen_pciback'
Nov 10 09:35:34 xen1 systemd-modules-load[227]: Inserted module 'xen_scsiback'
Nov 10 09:35:34 xen1 systemd-modules-load[227]: Inserted module 'xen_acpi_processor'

When trying to load the coretemp module I get the below output:

root@xen1:~# modprobe -vvvvv coretemp
modprobe: INFO: ../libkmod/libkmod.c:364 kmod_set_log_fn() custom logging function 0x561d960ca150 registered
modprobe: DEBUG: ../libkmod/libkmod-index.c:755 index_mm_open() file=/lib/modules/5.5.6/modules.dep.bin
modprobe: DEBUG: ../libkmod/libkmod-index.c:755 index_mm_open() file=/lib/modules/5.5.6/modules.alias.bin
modprobe: DEBUG: ../libkmod/libkmod-index.c:755 index_mm_open() file=/lib/modules/5.5.6/modules.symbols.bin
modprobe: DEBUG: ../libkmod/libkmod-index.c:755 index_mm_open() file=/lib/modules/5.5.6/modules.builtin.bin
modprobe: DEBUG: ../libkmod/libkmod-module.c:556 kmod_module_new_from_lookup() input alias=coretemp, normalized=coretemp
modprobe: DEBUG: ../libkmod/libkmod-module.c:562 kmod_module_new_from_lookup() lookup modules.dep coretemp
modprobe: DEBUG: ../libkmod/libkmod.c:574 kmod_search_moddep() use mmaped index 'modules.dep' modname=coretemp
modprobe: DEBUG: ../libkmod/libkmod.c:402 kmod_pool_get_module() get module name='coretemp' found=(nil)
modprobe: DEBUG: ../libkmod/libkmod.c:410 kmod_pool_add_module() add 0x561d97869ea0 key='coretemp'
modprobe: DEBUG: ../libkmod/libkmod-module.c:202 kmod_module_parse_depline() 0 dependencies for coretemp
modprobe: DEBUG: ../libkmod/libkmod-module.c:583 kmod_module_new_from_lookup() lookup coretemp=0, list=0x561d978716b0
modprobe: DEBUG: ../libkmod/libkmod.c:501 lookup_builtin_file() use mmaped index 'modules.builtin' modname=coretemp
modprobe: DEBUG: ../libkmod/libkmod-module.c:1750 kmod_module_get_initstate() could not open '/sys/module/coretemp/initstate': No such file or directory
modprobe: DEBUG: ../libkmod/libkmod-module.c:1760 kmod_module_get_initstate() could not open '/sys/module/coretemp': No such file or directory
modprobe: DEBUG: ../libkmod/libkmod-module.c:1393 kmod_module_get_options() modname=snd_pcsp mod->name=coretemp mod->alias=(null)
modprobe: DEBUG: ../libkmod/libkmod-module.c:1393 kmod_module_get_options() modname=snd_usb_audio mod->name=coretemp mod->alias=(null)
modprobe: DEBUG: ../libkmod/libkmod-module.c:1393 kmod_module_get_options() modname=cx88_alsa mod->name=coretemp mod->alias=(null)
modprobe: DEBUG: ../libkmod/libkmod-module.c:1393 kmod_module_get_options() modname=snd_atiixp_modem mod->name=coretemp mod->alias=(null)
modprobe: DEBUG: ../libkmod/libkmod-module.c:1393 kmod_module_get_options() modname=snd_intel8x0m mod->name=coretemp mod->alias=(null)
modprobe: DEBUG: ../libkmod/libkmod-module.c:1393 kmod_module_get_options() modname=snd_via82xx_modem mod->name=coretemp mod->alias=(null)
modprobe: DEBUG: ../libkmod/libkmod-module.c:1393 kmod_module_get_options() modname=bonding mod->name=coretemp mod->alias=(null)
modprobe: DEBUG: ../libkmod/libkmod-module.c:1393 kmod_module_get_options() modname=dummy mod->name=coretemp mod->alias=(null)
modprobe: DEBUG: ../libkmod/libkmod-module.c:1750 kmod_module_get_initstate() could not open '/sys/module/coretemp/initstate': No such file or directory
modprobe: DEBUG: ../libkmod/libkmod-module.c:1760 kmod_module_get_initstate() could not open '/sys/module/coretemp': No such file or directory
modprobe: DEBUG: ../libkmod/libkmod-module.c:744 kmod_module_get_path() name='coretemp' path='/lib/modules/5.5.6/kernel/drivers/hwmon/coretemp.ko'
modprobe: DEBUG: ../libkmod/libkmod-module.c:744 kmod_module_get_path() name='coretemp' path='/lib/modules/5.5.6/kernel/drivers/hwmon/coretemp.ko'
insmod /lib/modules/5.5.6/kernel/drivers/hwmon/coretemp.ko 
modprobe: DEBUG: ../libkmod/libkmod-module.c:744 kmod_module_get_path() name='coretemp' path='/lib/modules/5.5.6/kernel/drivers/hwmon/coretemp.ko'
modprobe: INFO: ../libkmod/libkmod-module.c:886 kmod_module_insert_module() Failed to insert module '/lib/modules/5.5.6/kernel/drivers/hwmon/coretemp.ko': No such device
modprobe: ERROR: could not insert 'coretemp': No such device
modprobe: DEBUG: ../libkmod/libkmod-module.c:468 kmod_module_unref() kmod_module 0x561d97869ea0 released
modprobe: DEBUG: ../libkmod/libkmod.c:418 kmod_pool_del_module() del 0x561d97869ea0 key='coretemp'
modprobe: INFO: ../libkmod/libkmod.c:331 kmod_unref() context 0x561d97869530 released

But the file coretemp.ko is still there:

root@xen1:~# ll /lib/modules/5.5.6/kernel/drivers/hwmon/coretemp.ko
-rw-r--r-- 1 root root 24872 Feb 26  2020 /lib/modules/5.5.6/kernel/drivers/hwmon/coretemp.ko

Some further details from syslog:

Nov  7 09:17:48 xen1 systemd-modules-load[228]: Inserted module '8021q'
Nov  7 09:17:48 xen1 systemd-modules-load[228]: Failed to insert module 'coretemp': No such device
Nov  7 09:17:48 xen1 systemd-modules-load[228]: Inserted module 'nct6775'
Nov  7 09:17:48 xen1 systemd-modules-load[228]: Inserted module 'xen_evtchn'
Nov  7 09:17:48 xen1 systemd-modules-load[228]: Inserted module 'xen_gntdev'
Nov  7 09:17:48 xen1 systemd-modules-load[228]: Inserted module 'xen_gntalloc'
Nov  7 09:17:48 xen1 systemd-modules-load[228]: Inserted module 'xen_blkback'
Nov  7 09:17:48 xen1 systemd-modules-load[228]: Inserted module 'xen_netback'
Nov  7 09:17:48 xen1 systemd-modules-load[228]: Inserted module 'xen_pciback'
Nov  7 09:17:48 xen1 systemd-modules-load[228]: Failed to find module 'evtchn'
Nov  7 09:17:48 xen1 systemd-modules-load[228]: Failed to find module 'gntdev'
Nov  7 09:17:48 xen1 systemd-modules-load[228]: Failed to find module 'netbk'
Nov  7 09:17:48 xen1 systemd-modules-load[228]: Failed to find module 'blkbk'
Nov  7 09:17:48 xen1 systemd-modules-load[228]: Failed to find module 'xen-scsibk'
Nov  7 09:17:48 xen1 systemd-modules-load[228]: Failed to find module 'usbbk'
Nov  7 09:17:48 xen1 systemd-modules-load[228]: Failed to find module 'pciback'
Nov  7 09:17:48 xen1 systemd-modules-load[228]: Inserted module 'xen_acpi_processor'
Nov  7 09:17:48 xen1 systemd-modules-load[228]: Failed to find module 'blktap2'

Further information:

  1. xl info
root@xen1:~# xl info
host                   : xen1
release                : 5.5.6
version                : #1 SMP Wed Feb 26 10:01:08 CET 2020
machine                : x86_64
nr_cpus                : 4
max_cpu_id             : 3
nr_nodes               : 1
cores_per_socket       : 4
threads_per_core       : 1
cpu_mhz                : 3192.622
hw_caps                : bfebfbff:76faf3ff:2c100800:00000021:00000001:00002fbb:00000000:00000100
virt_caps              : pv hvm hvm_directio pv_directio
total_memory           : 32645
free_memory            : 23537
sharing_freed_memory   : 0
sharing_used_memory    : 0
outstanding_claims     : 0
free_cpus              : 0
xen_major              : 4
xen_minor              : 12
xen_extra              : .2-pre
xen_version            : 4.12.2-pre
xen_caps               : xen-3.0-x86_64 xen-3.0-x86_32p hvm-3.0-x86_32 hvm-3.0-x86_32p hvm-3.0-x86_64
xen_scheduler          : credit2
xen_pagesize           : 4096
platform_params        : virt_start=0xffff800000000000
xen_changeset          : Fri Oct 25 11:43:49 2019 +0200 git:c28853456b
xen_commandline        : placeholder dom0_mem=2560M,max:2560M no-real-mode edd=off
cc_compiler            : gcc (Debian 8.3.0-6) 8.3.0
cc_compile_by          : root
cc_compile_domain      : ###
cc_compile_date        : Tue Nov  5 09:59:50 CET 2019
build_id               : 46bcb9e3757cb39d0679276a15f19b39fa7dcff9
xend_config_format     : 4
  1. boot config

/etc/default/grub

root@xen1:~# cat /etc/default/grub
# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
#   info -f grub -n 'Simple configuration'

GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet pcie_aspm=force"
GRUB_CMDLINE_LINUX=""

# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"

# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480

# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"

# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"

/etc/default/grub.d/xen.cfg

root@xen1:~# cat /etc/default/grub.d/xen.cfg
GRUB_DISABLE_OS_PROBER=true
GRUB_CMDLINE_XEN_DEFAULT="dom0_mem=2560M,max:2560M"
GRUB_DEFAULT="Debian GNU/Linux, with Xen hypervisor"

2 Answers 2

0

What does xl info say about your CPU's features? And what does xl info say about the xen_commandline?

As you can load the coretemp module without Xen, it seems likely that Xen is hiding some of your processor's features from dom0.

I cannot see any cpuid_mask*= options in the boot config you included, but perhaps your distro adds some cpu_mask-option to your xen commandline from an included file or similar? (Check with xl info what the resulting command line actually is.)

After a quick glance at the source for coretemp (https://github.com/torvalds/linux/blob/master/drivers/hwmon/coretemp.c) I suspect that lines 711-729 is the cause of your module not loading. As to why the module cannot see that your CPU has the required support, I guess at a CPU mask.

From the latest xen command line docs (https://xenbits.xen.org/docs/unstable/misc/xen-command-line.html#cpuid_mask_ecx) there shouldn't be any need to specify a mask anymore as they default to all bits set. However, I've had trouble earlier with Xen masking features of the CPUs which required me to explicitly provide ECX and EDX masks to get all of the features I needed back. That was a long time ago though.

More info about CPUID bits, of which some are related to the coretemp module, see https://en.wikipedia.org/wiki/CPUID#EAX=1:_Processor_Info_and_Feature_Bits

0

Probably your problem is related to systemd-modules-load.service ..

Check one of the files referenced in :

/lib/systemd/system/systemd-modules-load.service

In my system it was the file:

/usr/local/lib/modules-load.d/xen.conf

Rename the modules to the correct ones:

'evtchn' -> xen-evtchn
'gntdev' -> xen-gntdev
'netbk' -> xen-netback
'blkbk' -> xen-blkback
'xen-scsibk' -> xen-scsiback

etc..

Additionally, you could check in xencommons if not using the systemd:

Check if the xencommons are loading the correct modules, and if not, rename them for the correct xen-related.

find /lib/modules -name '*gntdev*'
grep '^BACKEND_MODULES=' /etc/init.d/xencommons

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .