3

I updated the kernel from 3.10.0-514.26.2.el7.x86_64 to 3.10.0-693.11.6.el7.x86_64 I noticed all the kernel modules in 3.10.0-693.11.6.el7.x86_64 are now appended with ".xz" (sample output below)

/usr/lib/modules/3.10.0-693.11.6.el7.x86_64/kernel/sound/soc/intel/skylake/snd-soc-skl-ipc.ko.xz
/usr/lib/modules/3.10.0-693.11.6.el7.x86_64/kernel/sound/soc/intel/skylake/snd-soc-skl.ko.xz
/usr/lib/modules/3.10.0-693.11.6.el7.x86_64/kernel/sound/soc/snd-soc-core.ko.xz
/usr/lib/modules/3.10.0-693.11.6.el7.x86_64/kernel/sound/soundcore.ko.xz
/usr/lib/modules/3.10.0-693.11.6.el7.x86_64/kernel/sound/synth/emux/snd-emux-synth.ko.xz
/usr/lib/modules/3.10.0-693.11.6.el7.x86_64/kernel/sound/synth/snd-util-mem.ko.xz
/usr/lib/modules/3.10.0-693.11.6.el7.x86_64/kernel/sound/usb/6fire/snd-usb-6fire.ko.xz
/usr/lib/modules/3.10.0-693.11.6.el7.x86_64/kernel/sound/usb/bcd2000/snd-bcd2000.ko.xz
/usr/lib/modules/3.10.0-693.11.6.el7.x86_64/kernel/sound/usb/caiaq/snd-usb-caiaq.ko.xz
/usr/lib/modules/3.10.0-693.11.6.el7.x86_64/kernel/sound/usb/hiface/snd-usb-hiface.ko.xz

But just the previous version, everything was still just standard *.ko

/usr/lib/modules/3.10.0-229.7.2.el7.x86_64/kernel/sound/synth/emux/snd-emux-synth.ko
/usr/lib/modules/3.10.0-229.7.2.el7.x86_64/kernel/sound/synth/snd-util-mem.ko
/usr/lib/modules/3.10.0-229.7.2.el7.x86_64/kernel/sound/usb/6fire/snd-usb-6fire.ko
/usr/lib/modules/3.10.0-229.7.2.el7.x86_64/kernel/sound/usb/caiaq/snd-usb-caiaq.ko
/usr/lib/modules/3.10.0-229.7.2.el7.x86_64/kernel/sound/usb/misc/snd-ua101.ko
/usr/lib/modules/3.10.0-229.7.2.el7.x86_64/kernel/sound/usb/snd-usb-audio.ko
/usr/lib/modules/3.10.0-229.7.2.el7.x86_64/kernel/sound/usb/snd-usbmidi-lib.ko
/usr/lib/modules/3.10.0-229.7.2.el7.x86_64/kernel/sound/usb/usx2y/snd-usb-us122l.ko
/usr/lib/modules/3.10.0-229.7.2.el7.x86_64/kernel/sound/usb/usx2y/snd-usb-usx2y.ko

When I actually try to decompress the ko.xz, it looks like they are misnamed and not actually compressed

tar -xJf ip_gre.ko.xz
tar: This does not look like a tar archive
tar: Skipping to next header
tar: Exiting with failure status due to previous errors

xz -l shows the file as "compressed"

 xz -l ip_gre_default.ko.xz
Strms  Blocks   Compressed Uncompressed  Ratio  Check   Filename
    1       1      8,924 B     32.2 KiB  0.271  CRC64   ip_gre_default.ko.xz

Does this mean modprobe will automatically handle compressed ko's?

It looks more like a build problem than anything else.

  • They’re not tarballs, so tar is bound to fail. What does xz -l ip_gre.ko.xz output? – Stephen Kitt Jan 11 '18 at 17:12
  • xz -l ip_gre_default.ko.xz Strms Blocks Compressed Uncompressed Ratio Check Filename 1 1 8,924 B 32.2 KiB 0.271 CRC64 ip_gre_default.ko.xz – user2066671 Jan 12 '18 at 22:42
4

This is fine, modules can be compressed using either gzip or xz. Compression is enabled using the MODULE_COMPRESS kernel build option, with MODULE_COMPRESS_GZIP or MODULE_COMPRESS_XZ to select the compression tool.

  • thanks, it seems modprobe works for compressed kernel modules – user2066671 Jan 16 '18 at 5:27

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.