kernel compile errors...
Until now, I havent had any real problems when I was trying to compile a kernel under debian. THe last one I did was 2.4.22. I decided to try the 2.6.0 series but didnt manage, and now I am compiling the 2.4.23 and I am getting linking errors. Ive tried thousands of configurations, but it doesnt work... what am I doind wrong?
I follow the steps that are described under: http://myrddin.org/howto/debian-kernel-recompile.html compile output (last part): depmod: *** Unresolved symbols in /usr/src/linux/debian/tmp-image/lib/modules/2.4.2314122003/kernel/drivers/media/video/bttv.o depmod: i2c_bit_del_bus_Rsmp_524ae534 depmod: i2c_master_send_Rsmp_1313dc33 depmod: i2c_bit_add_bus_Rsmp_baecbb4e depmod: i2c_master_recv_Rsmp_f1041854 depmod: *** Unresolved symbols in /usr/src/linux/debian/tmp-image/lib/modules/2.4.2314122003/kernel/drivers/media/video/msp3400.o depmod: i2c_master_send_Rsmp_1313dc33 depmod: i2c_probe_Rsmp_59b95524 depmod: i2c_attach_client_Rsmp_e230575f depmod: i2c_detach_client_Rsmp_293e7552 depmod: i2c_transfer_Rsmp_da722bad depmod: i2c_add_driver_Rsmp_6ec4580a depmod: i2c_del_driver_Rsmp_37c75d23 depmod: *** Unresolved symbols in /usr/src/linux/debian/tmp-image/lib/modules/2.4.2314122003/kernel/drivers/media/video/tda7432.o depmod: i2c_master_send_Rsmp_1313dc33 depmod: i2c_probe_Rsmp_59b95524 depmod: i2c_attach_client_Rsmp_e230575f depmod: i2c_detach_client_Rsmp_293e7552 depmod: i2c_add_driver_Rsmp_6ec4580a depmod: i2c_del_driver_Rsmp_37c75d23 depmod: *** Unresolved symbols in /usr/src/linux/debian/tmp-image/lib/modules/2.4.2314122003/kernel/drivers/media/video/tda9875.o depmod: i2c_master_send_Rsmp_1313dc33 depmod: i2c_probe_Rsmp_59b95524 depmod: i2c_attach_client_Rsmp_e230575f depmod: i2c_detach_client_Rsmp_293e7552 depmod: i2c_transfer_Rsmp_da722bad depmod: i2c_add_driver_Rsmp_6ec4580a depmod: i2c_del_driver_Rsmp_37c75d23 depmod: *** Unresolved symbols in /usr/src/linux/debian/tmp-image/lib/modules/2.4.2314122003/kernel/drivers/media/video/tda9887.o depmod: i2c_master_send_Rsmp_1313dc33 depmod: i2c_probe_Rsmp_59b95524 depmod: i2c_attach_client_Rsmp_e230575f depmod: i2c_detach_client_Rsmp_293e7552 depmod: i2c_add_driver_Rsmp_6ec4580a depmod: i2c_del_driver_Rsmp_37c75d23 depmod: *** Unresolved symbols in /usr/src/linux/debian/tmp-image/lib/modules/2.4.2314122003/kernel/drivers/media/video/tuner.o depmod: i2c_master_send_Rsmp_1313dc33 depmod: i2c_probe_Rsmp_59b95524 depmod: i2c_attach_client_Rsmp_e230575f depmod: i2c_detach_client_Rsmp_293e7552 depmod: i2c_master_recv_Rsmp_f1041854 depmod: i2c_add_driver_Rsmp_6ec4580a depmod: i2c_del_driver_Rsmp_37c75d23 depmod: *** Unresolved symbols in /usr/src/linux/debian/tmp-image/lib/modules/2.4.2314122003/kernel/drivers/media/video/tvaudio.o depmod: i2c_master_send_Rsmp_1313dc33 depmod: i2c_probe_Rsmp_59b95524 depmod: i2c_attach_client_Rsmp_e230575f depmod: i2c_detach_client_Rsmp_293e7552 depmod: i2c_transfer_Rsmp_da722bad depmod: i2c_master_recv_Rsmp_f1041854 depmod: i2c_add_driver_Rsmp_6ec4580a depmod: i2c_del_driver_Rsmp_37c75d23 make[2]: *** [_modinst_post] Error 1 make[2]: Leaving directory `/usr/src/linux-2.4.23' make[1]: *** [real_stamp_image] Error 2 make[1]: Leaving directory `/usr/src/linux-2.4.23' |
Hi.
Try doing # make mrproper before you do 'make config' or xconfig or whatever. That should get rid of old object files. Dave |
Also note that it's proper to link the kernel you are running to
/usr/linux A lot of low-level programs need certain kernel files, and there might be big problems if you have the wrong kernel linked there while compiling things. Just wanted to point that out since I saw you had make[1]: Leaving directory `/usr/src/linux-2.4.23' in there :) |
hhmmm..... "Just wanted to point that out since I saw you had make[1]: Leaving directory `/usr/src/linux-2.4.23' in there"
oh, that could be the problem... i always link the kernel sources to /usr/src/linux are you sure i have to link to /usr/linux ? and not /usr/src/linux ? thats how ive seen it in most debian howtos, although i am compiling a src from kernel.org ill give it a try. I donīt understand that he is trying to find ../src/linux-2.4.23 if there isnt any. Maybe I should link to ../src/linux-2.4.23 too :D thanks! |
opps, stupid me... of course there is a .../linux-2-4-23, its the one im linking to /usr/src/linux... jeje
|
it worked this time!!! aaaaaaaaaaaaaaaooooooooooooouuuuuuu!!!
now, i dont know exactly what solved it though..... jejeje... ill play around with it for awhile... thanks!! |
the problem is that you had a bunch of bttv cards (tv-in cards) selected without i2c interface support (or so it seems). do you really need support for all these cards? if you have one find the one you have and enable that driver...most of that doesn't need to be there...imo if you're going to compile a kernel with a million modules use the one supplied by the distro...at least it works
verigoth |
in the 2.4.23, I can only select the BT848 in a block under Video for Linux, so it seems. At least from menuconfig, or do I have to do something else manually to get rid of the extra ones, I know for my video card to work I need at least 5 modules that come with the BT848 when i was compiling the 2.4.22. In the 2.4.23 all looks very different... so the bt848 tuner and so one is necessary.. the tda**** stuff i dont know...
Ill check the i2c interface support... |
oohh... hmmm... the i2c files are under ../include/linux/... and under modules.. but I dont find an option to include it under menuconfig. Im I doing something completely wrong?
|
do i have to apply a patch to the kernel?
hmm, i didnt have to do this when i compiled 2.4.22 |
i2c support submenu is under character devices in make menuconfig
|
thanks, I had just found it... Ive gone over the menu at least 10 times one option at a time..... i think i need more sleep... ;) Thank you very much!
|
good this time it compiled with everything i need on it... (for now... still missing agp 8x support... )
thanks again, Ashley |
Hello,
I am currently having exactly the same problem with the same make errors. I read this post but the sollution is not totally clear. Do you mean to say that I should have a sym pointing at my CURRENT kernel source e.g. An ls of /usr.src would reveal amongst other things:- linux -> 2.4.18-bf2.4 of should it point at:- linux -> 2.6.0 ? At the moment I do not have a "/usr/linux" directory and have not heard of this before - (this is a totally normal woody build) - I thought all kernel build stuff took place in /usr/src ? Also annoyingly I did not have my kernel source installed so I did an apt-get install kernel-headers-2.4.18-bf2.4 which placed a kernel-headers dir in my usr/src directory - should I make a "linux" sym link to this? Is there another way to upgrade to 2.6.0 using Debians package system and not the normal way? Thanks :) |
Hi! Youre trying to compile 2.6 right?
First check out the software requirements, some or listed here: http://armin.emx.at/kernel_2.6/kernel_2.6_howto.html (2.6 howto) http://armin.emx.at/kernel_2.6/Changes-2.6.0 (changelog) Heres another usefull link: http://kerneltrap.org/node/view/799 Upgrade the software you need via apt (THIS IS VERY IMPORTANT) its important that you install module-init-tool and also upgrade menuconfig As far as I know, there are no debian 2.6.0 kernel sources available (only test versions), but dont worry, its not hard to make your own package. Take a look at: http://myrddin.org/howto/debian-kernel-recompile.html This is how I exactly do it: --> download the kernel sources from www.kernel.org cd /usr/src bunzip2 -c kernel-source-2.6.0.tar.bz2 | tar x # Now you have /usr/src/linux-2.6.0 ln -s linux-2.6.0 linux # You need /usr/src/linux to point to the kernel sources that you want to compile # While compiling certain "somethings" will look for the source there... # Don't worry about if you didnt have this link before, you dont need until until you # compile cd linux emacs (vi) Makefile # Here you will see something like: VERSION = 2 PATCHLEVEL = 6 SUBLEVEL = 0 EXTRAVERSION = etc...etc.. ###### # I modify the extraversion everytime I compile a kernel, it appends your "extraversion" to # the linux kernel and modules directories, etc.. etc... (you get a # vmlinuz-2.6.0-extraversion) # Personally i put a date, a "version" number and a letter that denotes how "optimized" it is. ## example: VERSION = 2 PATCHLEVEL = 6 SUBLEVEL = 0 EXTRAVERSION =-23122003-b02 ##### #Now under /usr/src/linux : make mrproper # (dont know if this is really necesary, but just in case ;) ) make menuconfig --> configure your kernel.... start with something simple! # if it compiles well, I save the /usr/src/linux/.config to a dir that I have and I everytime I # change something with menuconfig I write it to a file, so I can keep track of what I am # doing. # Now I can make a package: make-kpkg kernel_image # if it compiles well, I will have a deb file at /usr/src/. I save the /usr/src/linux/.config to a dir # that I have and I everytime I change something with menuconfig I write it to a file, so I # can keep track of what I am doing. # and then I can install it: dpkg -i kernel-image-2.6.0-extraversion.0_i386.deb # now you only have to modify your grub or lilo to boot it :D # but maybe you still dont have all you want on your kernel.... # so you ... cd /usr/src/linux make mrproper (cleans everything out) cp ../configfiles/.config-2.6.0 ./.config make menuconfig --> add what ever you need and keep track of your changes... make-kpkg kernel_image # it would replace the deb you created before. If you want to create another deb with a # different extraversion, you would have to change the Makefile, and sometimes it gives an # error at compile time, so when I do that I delete the linux-2.6.0 where I was working and # unpack a new one, change the Makefile and copy the .config file. Im not an expert and there are probably better ways of doing things. I know there is a --append-to-version option with make-kpkg but I was getting some compile errors once although Im not sure if it was that. Hope this helps :D Ashley |
All times are GMT -5. The time now is 09:06 PM. |