Re: how to build a single module in the tree?

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

 



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


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux