Click to See Complete Forum and Search --> : kernel upgradation
kris.c
05-23-2007, 02:40 PM
I tried to update my SUSE-10.0 which came with kernel version number 2.6.13-15-default to the latest 2.6.21. I have copied the new bzImage and the System.map to the /boot directory. Now, I have to edit the "lilo.config" file. But the file doesnt exist in the /etc on my comp. When i tried to search for it, I got his outpout:
linux:/etc # ls -la lilo.config
/bin/ls: lilo.config: No such file or directory
linux:/etc # whereis lilo
lilo: /sbin/lilo /usr/share/man/man8/lilo.8
Ironically, there are many references to "/etc/lilo.config" in the file lilo.8.
I am a little concerned here, what should i do modify the boot loader. I hope someone replies soon. What can happen if i am forced to switch off my comp at this stage?
DrChuck
05-23-2007, 03:02 PM
I'd bet a bag of donuts that Suse is using grub, and not lilo. Have you got a /boot/grub directory?
kris.c
05-24-2007, 12:41 AM
Yes, you are right. I edited the grub file and i was able to boot into the new kernel
Buoyed by this, i wanted to another kernel up gradation, this time on an FC4 machine.
The menu.lst in /boot/grub on a Fedora-core 4 machine, has lines like :
kernel /vmlinuz-2.6.11-1.1369_FC4 ro root=LABEL=/
initrd /initrd-2.6.11-1.1369_FC4.img
The initrd line was absent on my SUSE machine.
The equivalent initrd for the kernel that i am trying to upgrade to has not been created in the /boot directory.
How important is the initrd file?
Can I boot into the new kernel without including this line in the menu.lst file?
What should i set it to?
kris.c
05-24-2007, 01:05 AM
Ok, with a bit og googling, i realised, i need the initrd if my device has SCSI devices. And my device does have SCSI devices. So, i found out that i need to do something like:
[root@dx1 boot]# /sbin/mkinitrd /boot/initrd-2.6.21.img 2.6.21
Where 2.6.21 is the new kernel directory in /lib/modules.
But, this is the error message i got:
No module mptbase found for kernel 2.6.21, aborting.
How do i get around this issue?
retsaw
05-24-2007, 04:53 AM
If you compiled what you need to boot (e.g. the driver for you hard drive controller and the driver for your root filesystem, etc) into the kernel as opposed to compiling modules then you do not need an initrd.
What the error you got is telling you that you do not have the module it is looking for, that is either because you deselected it when configuring the kernel or you compiled it directly into the kernel instead. To get around this you can either compile the kernel so that it doesn't need an initrd, compile the module it is looking for, or remove the option in the mkinitrd configuration file (which I think is /etc/mkinitrd.conf) that is causing it to look for this module.
kris.c
05-24-2007, 05:22 AM
I got around it by commenting out all references to mptbase. Its working. Thanks.
kris.c
05-24-2007, 09:46 AM
I had to compile the kernel on another machine so that I can conduct my TIPC experiments, I faced a new peoblem, though there was sufficient space in the hard disk of this machine, i got error messages saying something like - the images are too large and that some of the files have been truncated for both "make zImage" as well as "make bzImage". As a result of which the images have not been created in the /arch/i386/boot.
Is there a way out?
Out of curiosity, can i copy the bzImage that i created a few hours back on another machine into this machine's /arch/i386/boot directory and use it?. Both are of exactly the same architecture.
ph34r
05-24-2007, 12:40 PM
You'll need to take some stuff out of the kernel that you don't use, or compile it as modules instead of built into the kernel...
kris.c
05-24-2007, 12:50 PM
Yeah, i did "make defconfig". As i was unsure of which modules to include when i tried "make menuconfig" Could you tell which are the ones i need not include.
kris.c
05-25-2007, 12:43 AM
To be precise, this is the error message that i got :
BFD: Warning: Writing section `.bss' to huge (ie negative) file offset 0xc0555000.
objcopy: arch/i386/boot/compressed/vmlinux.bin: File truncated
make[2]: *** [arch/i386/boot/compressed/vmlinux.bin] Error 1
make[1]: *** [arch/i386/boot/compressed/vmlinux] Error 2
make: *** [bzImage] Error 2