Updating kernel what could be going wrong
I have made many attempts in the past to update the linux kernel and read plenty on it but I always fail. What could be going wrong.
Right now I have 2.4.9-e.3 and want to update to 2.6.9 Does the source of the old kernel have to be installed before updating to the new Kernel. |
If you provide errors that you encounter, it helps us know what is going on. Provide hardware type, the steps you take to compile your new kernel, etc.
|
This seems to be a huge step. A lot of packages will need to be updated. A lot of things can go wrong. Have a look at /usr/src/linux-2.6.9/Documentation/Changes for the requirements:
Code:
Current Minimal Requirements |
I have extracted the file to /usr/src/linux-2.6.9 and entered that directory. SU to root.
Then I use make menuconfig and set up the options, saved my configuration file on exit. Then make dep. It tells me that its not required at this time. I then type make bzImage. I recieve an error message saying: /tmp/ccjeo2mh.s:3: Error: unknown psudo-op: '.incbin' make[1]: *** [usr/initramfs_data.o] Error 1 make : *** [usr] Error2 |
Try make and then make modules_install what happens?
|
Ok now im trying kernel 2.4.12 and everything has worked so far except make install. I feel that this error message has something to do with the fact that I use grub instead of lilo.
The error message im getting is: /etc/lilo.conf: No such file or directory make[1]: *** [install] Error 1 make[1]: Leaving directory '/usr/src/linux/arch/i386/boot' make: *** [install] Error 2 |
You don't need to run grub after you've installed a new kernel, just edit /boot/grub/menu.lst (or whatever it's config file is called on your system) so that it points to your new kernel. If you try a 2.6 kernel make sure you update your version of module init tools as the module handling is completely different in 2.6 kernels.
|
Quote:
|
I don't know about that, that whole ramdisk thing looks to complicated to me. Why don't you see what man mkinitrd says? http://www.linux-universe.com/HOWTO/...te_initrd.html
|
colly:
Instead of make install you could install the kernel manually: Code:
$> cp ./arch/i386/boot/bzImage /boot/vmlinuz-2.4.12 |
Quote:
|
What modules you need/want to include depends on your kernel configuration.
If you didn't include the filesystem driver into the kernel for example, you'll need to include the module into initrd. If the filesystem of / (root) is reiserfs, and CONFIG_REISERFS_FS=m you need to add reiserfs to the -m option. Same for ext2 etc. The same applies to all modules that need to be present at an early stage of the boot process (e.g. HDD controller driver, framebuffer devices etc.). If they are included into the kernel and not confugured as modules, you may leave this empty. Your rootdevice should be obvious: it's the device that is mounted to / in /etc/fstab. Have a look in man mkinitrd for all these options. |
That looks good to me, but the thing I have a problem with is this - why would you build support for your root filesystem as a module? Are you not expecting to reboot? In fact, why would you make anything as a module? If you need support for something, complie it into the kernel. If you don't need a particular feature, why waste time compiling it?
|
Quote:
Code:
mkinitrd -k vmlinuz-2.4.12 -i inittrd-2.4.12 -d /dev/hda1 |
Only if you did what Andrew said: if you've compiled everything you need at boottime into the kernel and not as modules.
Andrew: I fully agree with what you've said! But it's not impossible to have your root filesystem as module. It is simply not necessary if you compile the kernel for yourself. But some people clone the kernel configuration from the standard kernel of their distribution and these are often compiled with these things as modules to have a small but flexible kernel. |
All times are GMT -5. The time now is 05:59 PM. |