problems with new kernel and modules


Forum: Other Help Topics
Topic: problems with new kernel and modules
started by: mark_one

Posted by mark_one on Jan. 06 2006,12:42
hi there.
i need your help please!!!
i'll try to make it as short as possible:
i remastered dsl-2.0RC3b.iso, changed the windowmanager... and so on. i also compiled a new kernel. i used the sources from kernel.org (kernel 2.4.31) and a dsl-2.0-config. i stripped down the config because i don't need all the flags and modules. after that, i copied the minirt24.gz, gunzipped it, mounted it and replaced the necessary modules... cloop, usb-ohci.o and so on, which means that i copied the modules that i've compiled for the new kernel. in the end i created the new image, used the pendrive script (which i have modified to fit my needs) to write the image to an usb-stick and tried to boot it. now here's the problem:
when i try to boot the standard dsl-kernel everything works, but when i want to boot my own kernel, i get an error message and then i'm dropped to the grub-shell. the messages i get (after commenting out the ">/dev/null"s in the linuxrc) are like "/modules/scsi/usb**: init_module: ... insmod errors can be caused by incorrect modules parameters, including invalid IO or IRQ parameters"
so the reason that the system doesn't boot is: some modules aren't loaded correctly, especially the usb-ohci.o module.  i wasn't able to figure out yet, why the hell it doesn't work. i downloaded the kernel, applied the knoppix-patch, copied over the dsl-config, made "oldconfig", made "menuconfig", and then made "dep" "bzImage" "modules" and "modules_install", so everything should be alright. and yes, i made sure that there are all modules that i need. and of course i enabled loop-support, zlib-compression (for cloop support), initrd-support (and so on) in the config file. and i changed the isolinux.cfg in the boot folder. but it's always the same: the modules aren't loaded correctly and i get messages about unresolved symbols.
can anyone give me a hint, why the modules aren't loaded correctly although they are compiled for the kernel i use?
(i made a symlink for gcc --> gcc-2.95 and g++ --> g++-2.95 so that i can be sure that always the right compiler is used)

for your information:
the kernel, modules and the new dsl-iso are created under debian3.1 and then written to a kingston usb-stick. the machine i want to boot has a VIA Epia ME6000 board (no hdd, no cdrom, no pci cards, just the plain board)

any  ideas?

greetings

mark

Posted by mark_one on Jan. 08 2006,11:53
hi again.

no one? no tipps, hints or anything else that could lead me into the right direction?
the strange thing is that sometimes (after compiling a new kernel+modules) the modules work and sometimes they don't work and i get symbol errors. the only module that doesn't want to load at all is usb-ohci.o.
i even tried to use the new kernel and the old inirtd. since it's the same kernelversion i thought, maybe the usb-ohci.o module would work. but it doesn't.

greetings

mark

Posted by ~thc on Jan. 08 2006,14:34
your really remastered dsl 2.0RC3?. dsl 2.0 has a typo in the linuxrc script which prevents usb-ohci from getting loaded at all.
Posted by mark_one on Jan. 08 2006,18:04
hello.

yes, i remastered dsl-2.0RC3. there's a typo in the linuxrc???
where? the only lines concerning the usb-ohci.o module are this ones:

[...]
240 if test -f /modules/scsi/usbcore.o; then
241 $INSMOD /modules/scsi/usbcore.o
242 FOUNDUSB=""
243 for i in usb-uhci.o usb-ohci.o ehci-hcd.o ; do
244 test -f /modules/scsi/$i && $INSMOD /modules/scsi/$i &&  
       FOUNDUSB="yes"
245 done
[...]

what i know is that the usbcore module has to be loaded before trying to load usb-uhci.o, usb-ohci.o or ehci-hcd.o.
and: if there is a typo, why are there no problems with the standard-kernel and its modules, because when booting the standard-kernel, the usb-ohci.o module loads without problems.
now i'm really confused.

any other tipps, concerning the symbol errors?

greetings

mark

Posted by ~thc on Jan. 08 2006,18:32
oops - i did make a mistake here: the typo concerned ehci-hcd.o only (and your version doesn't contain that typo - must be in the 2.0 release version only).

have you remastered KNOPPIX (/lib/modules) also?

it seems that your kernel somehow 'doesn't like' the minirt ramdisk bootup phase. does any of your kernel changes touch the ramdisk subsystem?

Posted by roberts on Jan. 08 2006,19:06
Guys, this has nothing to do with DSL but instead a custom remastering project and is therefore being moved.
Posted by mark_one on Jan. 08 2006,22:31
hi ~thc.

thanks for trying to help me!!!
what do you mean when you write about "remastering /lib/modules" ?
well, i compiled a new kernel and the modules for it. i installed them on my desktop machine and copied the /lib/modules/new_kernel_version directory to the /lib/modules directory inside the dsl-tree, before i created the image. and i copied the necessary modules (from  lib/modules/new_kernel_version into the new initrd (called epiart24.gz).
so the second initrd looks like the original one, except the new cloop.o under modules/ and usbcore.o, usb-ehci.o... under modules/scsi/.
i didn't touch anything else, except the linuxrc script, where i commented out all the >/dev/null 's for debugging purposes. the kernel config changes don't touch anything that has to do with initrd or filesystems. i've just thrown out a lot of modules for hardware that i don't need.
i think it's not that the kernel doesn't like the initrd-bootup phase, because it loads successfully and the initrd is found too. i'm just curious where all these symbol errors come from and why this damn usb-ohci modules doesn't want to load. but maybe i'm just making a stupid mistake during compilation. it's like "you can't see the forest, because there are so many trees", if you know what i mean. i did it again and again, checked the compiler versions, my scripts (to copy the kernel, modules, compile the cloop driver, make the isos, install to the stick...) ... and so on. over and over again. but i didn't find any bugs. i'm very frustrated at the moment.

greetings

mark

Posted by clacker on Jan. 08 2006,22:47
Mark, I'm really hip shooting here since I was never even able to recompile the kernel without any modifications at all and get it to work, but...

Did you apply the knoppix patch found < in the repository? >  Not sure if that changes anything but the kernel does get patched a little bit.  the .config is in the ftp site as well.

Posted by mark_one on Jan. 08 2006,23:03
hi.

yes i used the "knoppix-kernel.patch. the kernel works, but the damn modules are making problems and i don't know why.

greetings

mark

Posted by mark_one on Jan. 12 2006,19:07
hello.

one problem solved:
the reason wy the icd-cd module couldn't be loaded at bootup was that it depends on cdrom.o. if cdrom.o is loaded before the icd-cd.o module is loaded then there aren't any errors.
but there is still the problem that the usb-stick can't be mounted although i compiled sd_mod and all necessary filesystems into the kernel.
any ideas for a solution?

greetings

mark

Posted by mark_one on Jan. 13 2006,07:38
to your information:

i've solved the next problem. you can call me stupid but:
i just forgot to compile the usb-storage module.
yes, that's it.  i think i compiled around 50 kernels during the last few weeks. i reviewed the config again and again but just didn't see the option to make this damn storage module.  and i wonder why no one else had this idea. maybe that would have been to easy   :;):  
but that is not the last problem:
during bootup the usb-stick is mounted successfully now and the knoppix image is found. but when trying to mount it i get this messages:
"Accessing DSL at /dev/sda1 ..."
"mount: Invalid argument"

i guess this has something to do with the cloop driver but i'm not sure yet. i'll add a new comment if i'm able to solve this last problem.

greetings

mark

Posted by mark on Jan. 14 2006,08:20
hello again.

this is the last message i will add to this thread.
i solved the last problem. again it was just a stupid mistake of myself. i had two different source-directories for linux-2.4.31. and of course i forgot to change it back in the Makefile of the cloop driver after doing some tests. so the loop driver inside initrd was compiled for the wrong kernel.

greetings

mark

Powered by Ikonboard 3.1.2a
Ikonboard © 2001 Jarvis Entertainment Group, Inc.