Red Hat Bugzilla – Bug 179953
"make modules_install" with only -devel package installed not a good idea
Last modified: 2015-01-04 17:24:55 EST
Description of problem:
I followed the Release Notes for creating a module to build without the kernel
source (just the devel package).
The build process worked fine... the problem comes from using the same
process to call "make modules_install".
With a full source tree, all modules are re-installed... with just the -devel
package installed, the /lib/modules/*/kernel dir is deleted and recreated
without re-installing the modules that were there. The /lib/modules/*/extra
dir is filled with the target module.
While I'm not sure if this should be a bug with the kernel-devel package, it
should _at least_ be a note in the Release Notes...
I'd rather see it fixed instead of documented but which component should I
change this bug to?
Version-Release number of selected component (if applicable):
(probably applies to more)
Steps to Reproduce:
1. Default install
2. rpm -Uvh kernel-devel-*.rpm
4. make install
# 3&4 are done using a module's source and the makefile below.
`ls -la /lib/modules/*/kernel/` resulted in nothing being listed.
`ls -la /lib/modules/*/kernel/` resulted in "arch" "crypto" "drivers" etc...
KERNEL_DIR := /lib/modules/$(shell uname -r)/build
MODULE_DIR := $(shell pwd)
MAKEFLAGS += --no-print-directory
ifeq ("$(KERNEL_DIR)", "")
$(error "KERNEL_DIR is not defined.")
modules modules_install clean::
@$(MAKE) -C $(KERNEL_DIR) M=$(MODULE_DIR) $@
@$(MAKE) -C $(KERNEL_DIR) -s modules_install
what do you expect the kernel's 'make modules_install' to do with your module ?
It has no clue where to install it!
For your install: line, just cp your .ko by hand to /lib/modules/`uname
I expected it to put it in 'extra'... It's not the fact of where to put it...
it's the fact that it erased the entire existing modules tree!
I can do a cp, that's not the part I care about... doing the depmod/generating
all the meta-data files (if necessary) is really the problem...
Is there a way of calling the makefile to 'add' a module to the tree without
deleteing the entire tree?
Let me put this another way:
1) Default install
2) Install kernel-devel-`uname -r`_FC4.i686.rpm
3) cd /lib/modules/`uname -r`/build
4) make modules_install
/lib/modules/*/kernel is empty!
Next time you reboot, any module you need to load will not be present... Call
me crazy, but I don't think this is the best behaviour...
Am I the only one who thinks this is a bug?