# Module version problem...

## @rrow

After installing Gentoo for the first time, I had a problem with accessing my floppy disk and windows partition as vfat file systems, specifically I receive errors that modprobe cannot locate nls_cp437 and nls_iso8859-1 modules. 

I subsequently recompiled the kernel to include nls_cp437 and nls_iso8859-1 under the File Systems --> Natural Language Support, and also made sure that I selected "Set version information on all symbols and modules".

After recompiling the kernel following the standard steps, I rebooted the system and checked /lib/modules/2.4.19-r1/kernel to see if there is a fs/nls directory, but there wasn't. I manually created /lib/modules/2.4.19-r1/kernel/fs/nls and copied the nls_cp437.o and nls_iso8859-1.o from /usr/src/linux-2.4.19-r1/fs/nls to /lib/modules/2.4.19-r1/kernel/fs/nls 

Rebooting the system again, I tried to mount my floppy and windows partition as vfat file systems, but got the message the modules cannot get the correct kernel version.

Any ideas, please help!

----------

## lx

I have the two compiled into the kernel (so i don't have them as module), but anyway the modules_install should be the one to install the modules, you never have to do it yourself. Rebuilding:

cd /usr/src/linux

cp .config /usr/src

make mrproper

mv /usr/src/.config ./

make oldconfig

make dep bzImage modules modules_install

cp the new bzImage to your /boot directory if needed change your grub/menu.lst or lilo.conf file.

reboot.

 :Exclamation:  don't just rebuild the modules, you have to rebuild everything and overwrite your kernel image in /boot.

Are there any other directories under /lib/modules/ in which he could have installed your modules (this indicates that you're booting the wrong kernel). Stating the obvious: if you compiled it in the kernel [*] instead of [M] no module is installed seperatly functionallity is directly incorperated into the kernel.

----------

## @rrow

Hmm....ok, I tried to do everything again in the order of the following commands:

cd /usr/src/linux

make menuconfig (Here I made sure I compiled nls_cp437 and nls_iso8859-1 into the kernel instead of loading them as modules)

cp .config /usr/src

make mrproper

mv /usr/src/.config ./

make oldconfig

make dep && make clean bzImage modules modules_install

cp arch/i386/boot/bzImage ./boot

After this I rebooted the system, and when I type the command

mount /dev/fd0 /mnt/floppy -o ro -t vfat

I get the message "cannot locate module nls_cp437 " and "cannot locate module nls_iso8859-1 "

Is it possible I'm booting off the old kernel?

----------

## lx

```
dmesg | less
```

 first line states the build date of the booted kernel

wrong kernel:

do you have a seperate boot partition which you need to mount manually (noauto in fstab)?????

is your grub.conf lilo.conf pointing to the right location of the new kernel. (lilo requires you run lilo command after making change to lilo.conf)

If you build the parts into the kernel [*] and not [m] then your definatly running the wrong kernel.

Check your kernel first plz, lX

Btw: you can make a make menuconfig after make mrproper still have to secure your .config file before using make mrproper, it deletes all made files (.config objectfiles depfiles).

----------

## @rrow

Yes I have 3 partitions, one for /boot, one for swap and one for /

The /boot partition options in /etc/fstab is noauto, I'm not sure if that's causing the problem of booting up the old kernel?

Anyway I reinstalled everything all over again from scratch and now it's working fine, except that I don't seem to be able to use my internal zip drive. I've checked /dev and there isn't any block device for it, will try to figure this out   :Smile: 

----------

## lx

 *@rrow wrote:*   

> Yes I have 3 partitions, one for /boot, one for swap and one for /
> 
> The /boot partition options in /etc/fstab is noauto, I'm not sure if that's causing the problem of booting up the old kernel?
> 
> 

 

 :Idea:  There's your problem.

noauto means it's not mounted at startup, so if you want to make changes to it you manually have to mount it. So before copying the kernel you should mount /boot first. Else you're just writing it to the /boot directory not your /boot partition, this way you still be using the old kernel because grub points to the wrong partition and finds the old kernel there.

----------

## @rrow

I see, now I understand   :Very Happy:   Thanks a lot!

----------

