[BusyBox] insmod problem with 2.4.4 kernel

Tom Cameron TCameron at stmarysbank.com
Thu May 24 12:01:28 UTC 2001


Andreas,
	Try turning on #define BB_FEATURE_INSMOD_VERSION_CHECKING in the BB
config.h, and turn on CONFIG_MODVERSIONS in the Kernel config.  This, as
pointed out to me in an earlier email, will allow insmod and the modules to
"reassign" the linkings to dynamic libraries.  At least I believe that's
what it does.  In any case, that made my "Missing Symbols" error messages go
away when I compiled my kernel.  Also, when compiling, make sure you do a
`make clean`.  This will remove all of the .o files, and cleanly rebuild
them the next time you do `make modules` or make a kernel.
	One other thing to try is removing the "Auto_FS" support in the
kernel, unless you need it.  I've seen strange things happen when the kernel
tries to call something like that, and it's not actually there.  Can be bad
if you're trying to demonstrate something to a client, too...net that I'm
bitter or anything.
	In the uClibc config file, MAKE SURE that it's actually getting the
path to the Linux source!  I'd put in a test that echo's it to a file, so
that you can prove to yourself that the path is actually getting passed as
you expect.  Check for double '/'s, and things like that.  I find that it's
usually a better idea to hard code the path to the source, because it could
pick up the "current" path from someplace else (i.e.: the location of the
compiler, etc.).  This can obviously pose a problem.  Just a thought,
though...but I would definitely run a test at the very least.  Additionally,
you may want to completely comment out the last line in the uClibc config
file (the eventual destination path).  It used to cause problems, and I'm
not too sure if they've been solved or not.

	Honestly, other than those few little changes, everything looks good
to me.  I have always found that commenting out NFS support in BB has
helped, because it has never really worked for me, and has always carried a
host of problems with it.  Good luck, and keep us posted!

--
Thomas Cameron
Network Technician / Operations Specialist
St. Mary's Bank
"First in the Nation, Second to none"

> -----Original Message-----
> From:	Andreas Neuhaus [SMTP:andy at fasta.fh-dortmund.de]
> Sent:	Thursday, May 24, 2001 2:36 PM
> To:	busybox at busybox.net
> Subject:	Re: [BusyBox] insmod problem with 2.4.4 kernel
> 
> dear all,
> 
> thanks for your help. i'm currently totally clueless. i put together my
> kernel,uclibc and busybox configs and attached them to this mail.
> 
> i tried with and without CONFIG_MODVERSIONS in the kernel. uClibc config
> is
> the default (except for my kernel source path). in my busybox config i had
> to exclude BB_FEATURE_NFSMOUNT, otherwise i'll get compile errors:
> 
> /home/andy/plr/src/uClibc/extra/gcc-uClibc/i386-uclibc-gcc -s
> -Wl,-warn-comm
> on -o busybox basename.o cat.o chg
> rp.o chmod.o chown.o chroot.o chvt.o clear.o cmdedit.o cp.o cut.o date.o
> dd.o df.o dirname.o dmesg.o du.o echo
> .o env.o expr.o find.o free.o freeramdisk.o grep.o gunzip.o gzip.o halt.o
> head.o hostid.o hostname.o id.o ifco
> nfig.o init.o insmod.o kill.o klogd.o ln.o logger.o logname.o ls.o lsmod.o
> mkdir.o mknod.o mkswap.o more.o mou
> nt.o mv.o nc.o nfsmount.o nslookup.o ping.o poweroff.o ps.o pwd.o reboot.o
> renice.o reset.o rm.o rmdir.o rmmod
> .o route.o sed.o sh.o sleep.o sort.o swaponoff.o sync.o syslogd.o tail.o
> tar.o telnet.o test.o touch.o true_fa
> lse.o tty.o umount.o uname.o uniq.o uptime.o vi.o watchdog.o wc.o wget.o
> which.o whoami.o xargs.o yes.o  busyb
> ox.o usage.o applets.o libbb.a
> nfsmount.o: In function `get_mountport':
> nfsmount.o(.text+0xa2): undefined reference to `pmap_getmaps'
> nfsmount.o: In function `nfsmount':
> nfsmount.o(.text+0xe55): undefined reference to `clnt_perror'
> nfsmount.o(.text+0xebe): undefined reference to `clnt_pcreateerror'
> nfsmount.o(.text+0x1011): undefined reference to `clntudp_create'
> nfsmount.o(.text+0x1056): undefined reference to `clnttcp_create'
> nfsmount.o(.text+0x1080): undefined reference to `authunix_create_default'
> nfsmount.o(.text+0x124f): undefined reference to `bindresvport'
> nfsmount.o(.text+0x12a6): undefined reference to `pmap_getport'
> nfsmount.o(.text+0x13b6): undefined reference to `clnt_perror'
> nfsmount.o: In function `xdr_fhandle':
> nfsmount.o(.text+0x14b3): undefined reference to `xdr_opaque'
> nfsmount.o: In function `xdr_fhstatus':
> nfsmount.o(.text+0x14e3): undefined reference to `xdr_u_int'
> nfsmount.o: In function `xdr_dirpath':
> nfsmount.o(.text+0x1536): undefined reference to `xdr_string'
> nfsmount.o: In function `xdr_fhandle3':
> nfsmount.o(.text+0x1564): undefined reference to `xdr_bytes'
> nfsmount.o: In function `xdr_mountres3_ok':
> nfsmount.o(.text+0x15a2): undefined reference to `xdr_int'
> nfsmount.o(.text+0x15b4): undefined reference to `xdr_array'
> nfsmount.o: In function `xdr_mountstat3':
> nfsmount.o(.text+0x15e1): undefined reference to `xdr_enum'
> collect2: ld returned 1 exit status
> 
> having BB_FEATURE_NFSMOUNT unset, busybox compiles fine and works.
> 
> i do not install uclibc on my build system, i only compile it and use it
> on
> my target system. everything works fine, except for insmod msdos.o
> 
> thanks for any help,
> andreas neuhaus
> 
> > I compile my target's kernel, and BusyBox/uClibc on a 2.4.3 kernel
> > system.  The running kernel has nothing to do with it.  My first
> suggestion
> > is to send the list your config files, etc.  I will look them over,
> place
> > them in my directories, and compile the software.  If it works for me,
> my
> > next suggestion, or question, would be what version of Binutils and gcc
> are
> > you running?  Does uClibc or BB give you errors when you're compiling
> it?
> > Any more information you can provide will help.
>  << File: config-andy.tar.gz >> 





More information about the busybox mailing list