[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#345918: linux-2.6: modules do not install to correct folder in /lib/modu



> KDIR := /lib/modules/$(KVER)/build
> modules: $(patsubst %.o,%.c,$(TP_MODULES))
>        $(MAKE) -C $(KDIR) M=$(PWD) modules
> ...
> install: modules
>        rm -f /lib/modules/$(KVER)/kernel/$(MDIR)/{tp_base,tp_smapi}.ko
>        $(MAKE) -C $(KDIR) M=$(PWD) modules_install

We use $(MAKE) KSRC=/lib/modules/$(KVER)/build to build and install, i
believe. have you seen other modules and can you confirm they don't break or
something such ?

I'm sorry but I'm not quite sure what you mean.
I've tried changing the above make calls to these:
$(MAKE) KSRC=$(KDIR) modules
$(MAKE) KSRC=$(KDIR) M=$(PWD) modules
$(MAKE) KSRC=$(KDIR) -C $(KDIR) M=$(PWD) modules
only the last of the 3 will build, and that still installs to the wrong place again.

The original method does build fine, so I think for the most part make is finding it's way into the right places, it's just the install step that uses the wrong kernel name string for it's installation directory in /lib/modules, so I'd think that however KSRC works we'd end up with the same problem?

As I say I'm not sure that I've understood the KSRC variable, or quite where to use it, so you may well be right about it.

Doing a bit of digging, I see that it comes down to the value of MODLIB in /usr/src/linux-headers-2.6.15-1-686/scripts/Makefile.modinst, this appears to come from $KERNELRELEASE, which appears to be made up of $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)$(LOCALVERSION)

Calling 'make -C /lib/modules/2.6.15-1-686/build kernelrelease' shows the kernel release as 2.6.15, but shouldn't this show 2.6.15-1-686, (which is defined for UTS_RELEASE in version.h)?

Richard.





Reply to: