Red Hat custom Kernel compilation mini-How-To for Red Hat 8-9
Red HatThis forum is for the discussion of Red Hat Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Just an update, I have edited the main guide so that now includes some vital information regarding file systems and the 2.6.x kernels, including grub.conf needed changes.
I had some of those problems myself with the latest 2.6 kernel I was trying to compile, but the install process turned out to say that I had no loopback devices... In any case while using RH 9 I had a similar problem also, though in the kernel I was trying to compile the problem turned out to be related to the crypto APIs. If you use Fedora Core, you should edit the top level makefile and substitute any "gcc" occurance with [b]gcc32[b], that'll cause to use the gcc version 3.2 instead of the standard (gcc) 3.3. that comes with Fedora.
Can somebody point me on step by step instruction for upgrading rh9 kernel to 2.6.2? It should be newbie level, starting from URL to download the kernel source. Thanks,
In the first page of this tutorial you'll find the page, just not to make you go all the way back, here it is www.kernel.org
If you follow the steps in the first page, you'll have no problems. Just make sure you have modutils-2.4.25-13 installed (you may find the package by looking in rpmfind.net Other than that, it's all there.
I'm assuming you know how to check what packages you have installed, I also assume you know how to upgrade or install new packages for your distribution. If you do not know these things, I'd suggest you to read a little more on RPM before attempting to upgrade your kernel from source.
Vinceb,
How did you resolve your 'depmod:Unresolved symbols......' Errors?
I am encountering the same problems. i have done everything but still getting the same errors.
Where/when exactly are you having these problems? Unresolved Symbols (AFAIK) are most commonly due to a mismatch regarding the compiler used to build the kernel and the one used for the modules, you may want to check that out (In Fedora this is quite evident!) or because you are loading a module which need another loaded first.
Sorry, that was not my intention... Basically you have to use the same compiler for both the modules and the kernel, this should be taken care off by the Makefile. If you are using Fedora Core, edit the Makefile and change all instances of gcc to gcc32 (for that to work you should install the kernel sources using the program redhat-config-packages, if you did not install it at install time). Hope this clarifies a little bit more: Fedora comes with gcc 3.3 which has problems with kernel compilations/modules, etc. As a work-around the Fedora guys compiled the kernel using the RH 9 compiler (gcc 3.2, hence gcc32 command), and supplied that gcc as a dependency to the kernel sources. However if you're not using Fedora, its a little bit difficult to assist you as I don't know at what stage this problem arises. In this case, please post back more information.
I have GCC- 2.96 on RH7.3. I compiled a 2.4.24 kernel with this 2.96 and everything went well. I wanted then to upgrade to 2.6.1 but i had problems with 2.96. I upgraded to gcc -3.3.2 and glibc-2.3.2 but keeping my GCC-2.96.
I uninstalled the 2.4.24 in readiness to compile my 2.6.1 Kernel. To my shock i got the "Unresolved symbols problems whether i use GCC-2.96 or GCC-3.3.2. It fails when i try to install Modules.
I tried to revert to my original 2.4.24 Kernel and also could not get it to install the modules.
You most likely messed your system with the GCC and glibc upgrade (don't get me wrong, I also did that to my 7.3 install, it survived quite a while until I wanted to install X 4.3 from XF86's binary distribution, then it almost died ).
So if I understand correctly when you
Code:
# make modules_install
Is when it complaints about unresolved symbols, or when you actually boot the system and the modules get loaded?
How do you differenciate between the two compilers? Maybe they're bein addressed in different ways during the different stages of the compilation process?
Ok, which compiler does the gcc command calls? (you say 2.96), are you sure there's no conflict?
So basically you can actually build the modules, but not install them? As in
Code:
# make clean
# make dep
# make modules
# make modules_install
# make install
The procedure I usually follow (as the guide says) is to supply all in one command line, however, the order above is the one I've always used (even before I knew I could use a single command line).
yes, I follow the procedure in the HOWTO. I can compile the Kernel but when i reach Make modules_Install i get the Depmod errors when it is updating the System map.
I am sure there is no confilct in gcc and gcc3.3.2. When i run gcc --version it gives me 2.96.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.