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

Re: [microblaze-uclinux] Module trouble



Hi Jaap,

I think it would be helpful to untable two seperate issues:

1. mounting JFFS2 filesystems when jffs2 is built into the kernel or manually loaded with insmod

2. the module autoload / modprobe stuff.

So, regarding (1) - if you compile jffs2 into the kernel can you do a successful mkfs and mount?

What about if you manually insmod the jffs2 module?

It looks like you've got (2) resolved through your hacking.

Regards,

John

Jaap de Jong wrote:
Hi,

I'm observing some strange behaviour using petalinux-v0.20-rc3,
microblaze & linux-2.4.x.

The Makefile in the petalinux-dist directory at line 231:

 $(MAKEARCH_KERNEL) -C $(LINUXDIR) INSTALL_MOD_PATH=$(ROMFSDIR)
DEPMOD="../user/busybox/examples/depmod.pl -k vmlinux" modules_install;
\

depmod.pl is not called. It is not found and hence my target does not
contain /lib/modules/modules.dep.

It happens because of the symbolic link:

    linux-2.4.x --> uClinux-2.4.x

If I do the following:

$ cd linux-2.4.x
$ ls ..
linux-2.6.x-petalogix petalinux-dist uClinux-2.4.x user-apps

Replacing DEPMOD="../user with DEPMOD="$(ROMFSDIR)/user
solves this problem.
modules.dep looks good now.
But it reveals the next problem...

On the targetboard:
# modprobe jffs2
Using /lib/modules/2.4.32-uc0/kernel/lib/zlib_deflate/zlib_deflate.o
insmod: unresolved symbol __umodsi3
insmod: unresolved symbol __udivsi3
Using /lib/modules/2.4.32-uc0/kernel/fs/jffs2/jffs2.o
insmod: unresolved symbol __umodsi3
insmod: unresolved symbol zlib_deflate_workspacesize
insmod: unresolved symbol zlib_deflate
insmod: unresolved symbol zlib_deflateInit_
insmod: unresolved symbol __udivsi3
insmod: unresolved symbol zlib_deflateEnd
modprobe: failed to load module jffs2
umodsi3 and udivsi3??

I found some source; compiled, placed and insmod:
See if it works now...
# cd /tmp
# mkfs.jffs2 --root=/etc/config --output=/dev/mtdblock4
# mkdir j
# mount -t jffs2 /dev/mtdblock4 j
kmod: failed to exec /sbin/modprobe -s -k jffs2, errno = 2
mount: Mounting /dev/mtdblock4 on /var/tmp/j failed: No such device

Oops... Modprobe is in /bin instead of /sbin Quick hack & changed that too...
Next try:
# cd /tmp
# mkfs.jffs2 --root=/etc/config --output=x
# netflash -bknr /dev/mtd4 x
# mkdir j
# mount -t jffs2 /dev/mtdblock4 j
mount: Mounting /dev/mtdblock4 on /var/tmp/j failed: No such device

That is where I'm stuck now. Don't know how to continue. With all this workarounds: I'm probably doing something wrong...
Any help is appreciated!

Jaap de Jong


___________________________
microblaze-uclinux mailing list
microblaze-uclinux@xxxxxxxxxxxxxx
Project Home Page : http://www.itee.uq.edu.au/~jwilliams/mblaze-uclinux
Mailing List Archive : http://www.itee.uq.edu.au/~listarch/microblaze-uclinux/


___________________________
microblaze-uclinux mailing list
microblaze-uclinux@xxxxxxxxxxxxxx
Project Home Page : http://www.itee.uq.edu.au/~jwilliams/mblaze-uclinux
Mailing List Archive : http://www.itee.uq.edu.au/~listarch/microblaze-uclinux/