I was told you're the man to bug about this :-)
Having a slow box, a vendor kernel (+ kernel-source package with config
for it) and a need to modify one line of a module, recompile it,
replace existing module with it and continue business as usual
made me notice kbuild doesn't seem to have a facility for this.
What would be nice is (say)
cp configs/xxx-i686.config .config
emacs drivers/media/dvb/frontends/ves1820.c
make drivers/media/dvb/frontends/ves1820.ko
cp ves1820.ko /lib/modules/...
rmmod ves1820; modprobe ves1820
Or am I missing something obvious that let me get just that one .ko
without recompiling just about everything? (.o is easy, but that's
not very useful :-) )
--
Pekka Pietikainen
On Tue, Apr 20, 2004 at 09:59:04PM +0300, Pekka Pietikainen wrote:
> I was told you're the man to bug about this :-)
>
> Having a slow box, a vendor kernel (+ kernel-source package with config
> for it) and a need to modify one line of a module, recompile it,
> replace existing module with it and continue business as usual
> made me notice kbuild doesn't seem to have a facility for this.
>
> What would be nice is (say)
>
> cp configs/xxx-i686.config .config
> emacs drivers/media/dvb/frontends/ves1820.c
> make drivers/media/dvb/frontends/ves1820.ko
> cp ves1820.ko /lib/modules/...
> rmmod ves1820; modprobe ves1820
>
> Or am I missing something obvious that let me get just that one .ko
> without recompiling just about everything? (.o is easy, but that's
> not very useful :-) )
If you leave the compiled tree intact, all you need to do is modify
the one source file and then "make modules". You'll wait a while the
first time, but successive builds will be minimal.
On Tuesday 20 April 2004 20:59, Pekka Pietikainen wrote:
> I was told you're the man to bug about this :-)
>
> Having a slow box, a vendor kernel (+ kernel-source package with config
> for it) and a need to modify one line of a module, recompile it,
> replace existing module with it and continue business as usual
> made me notice kbuild doesn't seem to have a facility for this.
>
> What would be nice is (say)
>
> cp configs/xxx-i686.config .config
> emacs drivers/media/dvb/frontends/ves1820.c
> make drivers/media/dvb/frontends/ves1820.ko
Never tried before, but I would suggest to run
make M=drivers/media/dvb/frontends
at this place.
> cp ves1820.ko /lib/modules/...
save your old module first!
> rmmod ves1820; modprobe ves1820
rmmod ves1820
lsmod # module unloaded?
modprobe ves1820
>
> Or am I missing something obvious that let me get just that one .ko
> without recompiling just about everything? (.o is easy, but that's
> not very useful :-) )
BTW: (asking the experts here) is it legal to hack a module like this??
I'd prefer to compile the whole thing (over night)!
Axel
On Tue, Apr 20, 2004 at 09:59:04PM +0300, Pekka Pietikainen wrote:
> I was told you're the man to bug about this :-)
>
> Having a slow box, a vendor kernel (+ kernel-source package with config
> for it) and a need to modify one line of a module, recompile it,
> replace existing module with it and continue business as usual
> made me notice kbuild doesn't seem to have a facility for this.
>
> What would be nice is (say)
>
> cp configs/xxx-i686.config .config
> emacs drivers/media/dvb/frontends/ves1820.c
> make drivers/media/dvb/frontends/ves1820.ko
Use
make drivers/media/dvb/frontends/
to just compile the module.
But then you need to do an:
make modules
which will build all modules. Here you need to tweak the .config to only
specify one module, the one you want.
Sorry, no better way today.
Keep a pre-built kernel is always a good choice.
Sam