It appears that when you try to compile new kernel from kernel.org sources with CONFIG_MODULE_COMPRESS=y build tools probably cant handle it correctly and modules.dep is created empty so new kernel wont boot because "modprobe: module dm-mod not found in modules.dep" and similar...
Is this "expected" because current build tools are not expecting compressed modules? Or is it BUG?
[see edit3 - just dont use CONFIG_MODULE_COMPRESS=y as it looks its not going to be fixed anytime soon...]
I'm running LMDE2 dualboot with win7 and I started to mess with kernel few months ago cause i was bored to see only 3.xx kernels in update manager
At first I went with adding debian testing repo (theres good howto post here on forums) and installing kernel directly from there, but that looked too easy and debian stopped for quite a bit on 4.7.0-1 and so I went to next level, to compile from sources So i did compile few versions and all went fine, until probably 4.9.0 when i first picked CONFIG_MODULE_COMPRESS=y when offered in menuconfig (but it took me like month to track it down, as first i suspected issue with my ssd cloning and wrong uuids)
chose CONFIG_MODULE_COMPRESS=y in new kernel .config (4.9rc+ no idea in which version this was added)
modules.dep are empty
using exact same .config but without CONFIG_MODULE_COMPRESS=y works as expected
master@minto /boot $ find /lib/modules/ | grep dm-raid
Code: Select all
master@minto /boot $ ll /lib/modules/4.9.0-amd64-fitom/modules.dep
-rw-r--r-- 1 root root 0 Dec 15 22:09 /lib/modules/4.9.0-amd64-fitom/modules.dep
master@minto /boot $ ll /lib/modules/4.9.0-amd64-fitom/modules.dep.bin
-rw-r--r-- 1 root root 12 Dec 15 22:09 /lib/modules/4.9.0-amd64-fitom/modules.dep.bin
master@minto /boot $ ll /lib/modules/4.7.0-1-amd64/modules.dep
-rw-r--r-- 1 root root 378351 Jan 21 23:27 /lib/modules/4.7.0-1-amd64/modules.dep
master@minto /boot $ ll /lib/modules/4.7.0-1-amd64/modules.dep.bin
-rw-r--r-- 1 root root 523800 Jan 21 23:27 /lib/modules/4.7.0-1-amd64/modules.dep.bin
so problem is at stage when running "make INSTALL_MOD_STRIP=1 modules_install" , output of this is showing stuff without .gz but obviously modules are *.gz
Code: Select all
LD [M] drivers/net/hamradio/mkiss.ko
LD [M] drivers/net/hippi/rrunner.ko
LD [M] drivers/net/hamradio/yam.ko
LD [M] drivers/net/hyperv/hv_netvsc.ko
LD [M] drivers/net/ifb.ko
LD [M] drivers/net/ipvlan/ipvlan.ko
LD [M] drivers/net/irda/act200l-sir.ko
LD [M] drivers/net/irda/actisys-sir.ko
LD [M] drivers/net/irda/ali-ircc.ko
So this is perhaps issue with debian build tools which needs to be updated to handle this condition properly, or perhaps they are already updated in testing repos but i have no idea which package i would need to look for...If someone knows let me know and i can test it.
EDIT: tried to get latest make file 4.2.1 (orig system version is 4.0) from http://ftp.gnu.org/gnu/make/ but nothing changed
EDIT2: found debian bug #781002 which suggest initramfs-tools/0.119 could cause problem, but i just tested latest v0.126 and its same
But one thing i dont understand, i assume initramfs-tools takes stuff from /lib/modules/<ver> and build initrd image right? But i guess the problem is already in previous step - make modules_install which puts stuff in /lib/modules/<ver> because output says it installed xxx.ko files instead of xxx.ko.GZ which are real files, and modules.dep is created empty (already at this stage, and empty modules.dep is causing the problem if i understand correctly). So any idea what else can i test? Which tools is "make" calling when running "modules_install" ?
EDIT3: Did some googling and depmod should be responsible for modules.dep , it is part of kmod package, I had version 18.3 and installed latest testing 23.2 but no change.
After som more browsing it looks that its not going to work anytime soon, see #772628 from 2014...