[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: how to build a single module in the tree?
On Tue, 4 Sep 2007, Adrian Bunk wrote:
> On Tue, Sep 04, 2007 at 02:11:57PM -0400, Robert P. J. Day wrote:
> >
> > i swear, this just never seems to work for me. according to greg
> > kh's book "linux kernel in a nutshell", the way to build a single
> > module is simply (for example):
> >
> > $ make drivers/usb/serial/visor.ko
> >
> > for the life of me, i can't get that to work. it *will* build a
> > file visor.o, but that's not what i'm after, i want the final visor.ko
> > module file.
> >
> > am i doing something exceedingly silly? thanks.
>
> It should work.
>
> What's the complete output you get?
with the latest git tree, i do:
$ make distclean
$ make defconfig
$ make drivers/usb/serial/visor.ko
scripts/kconfig/conf -s arch/i386/Kconfig
CHK include/linux/version.h
UPD include/linux/version.h
CHK include/linux/utsrelease.h
UPD include/linux/utsrelease.h
SYMLINK include/asm -> include/asm-i386
CC arch/i386/kernel/asm-offsets.s
GEN include/asm-i386/asm-offsets.h
CALL scripts/checksyscalls.sh
CC scripts/mod/empty.o
HOSTCC scripts/mod/mk_elfconfig
MKELF scripts/mod/elfconfig.h
HOSTCC scripts/mod/file2alias.o
HOSTCC scripts/mod/modpost.o
HOSTCC scripts/mod/sumversion.o
HOSTLD scripts/mod/modpost
HOSTCC scripts/kallsyms
HOSTCC scripts/conmakehash
HOSTCC scripts/bin2c
CC drivers/usb/serial/visor.o
MODPOST 0 modules
$
and the result?
$ find . -name *.o
./scripts/kconfig/conf.o
./scripts/kconfig/kxgettext.o
./scripts/kconfig/zconf.tab.o
./scripts/mod/file2alias.o
./scripts/mod/empty.o
./scripts/mod/modpost.o
./scripts/mod/sumversion.o
./drivers/usb/serial/visor.o
[rpjday@localhost git]$ find . -name *.ko
[rpjday@localhost git]$
ok, so where's my visor.ko module file? the book certainly suggests
i should have one at this point. ah, but the i386 defconfig
doesn't select the handspring module, so i'll do a clean, go back into
menuconfig, select visor as a module and try again:
$ make drivers/usb/serial/visor.ko
HOSTLD scripts/kconfig/conf
scripts/kconfig/conf -s arch/i386/Kconfig
CHK include/linux/version.h
CHK include/linux/utsrelease.h
CC arch/i386/kernel/asm-offsets.s
GEN include/asm-i386/asm-offsets.h
CALL scripts/checksyscalls.sh
CC scripts/mod/empty.o
HOSTCC scripts/mod/mk_elfconfig
MKELF scripts/mod/elfconfig.h
HOSTCC scripts/mod/file2alias.o
HOSTCC scripts/mod/modpost.o
HOSTCC scripts/mod/sumversion.o
HOSTLD scripts/mod/modpost
HOSTCC scripts/kallsyms
HOSTCC scripts/conmakehash
HOSTCC scripts/bin2c
CC [M] drivers/usb/serial/visor.o
/bin/sh: .tmp_versions/visor.mod: No such file or directory
MODPOST 0 modules
$
ok, so what's the trick here? are you actually getting a .ko file?
rday
--
========================================================================
Robert P. J. Day
Linux Consulting, Training and Annoying Kernel Pedantry
Waterloo, Ontario, CANADA
http://crashcourse.ca
========================================================================
--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx
Please read the FAQ at http://kernelnewbies.org/FAQ