problem compiling kernel 2.6.7
I'm trying to compile kernel 2.6.7 in slackware 10 using DaOne's guide everything seems ok but when i reset the system, it boot's with the old kernel, i've gone through the guide step by step several times and the result is still the same, can anybody tell me what may be happening or what i can do about it, I'm new to Linux an may be missing something obvious:cry:
|
did you run lilo? post up your lilo.conf file if you have run lilo already
|
It may be a wrong config at lilo, or maybe you're using the symlink and forgot to update it. As trey85 said, try to post your lilo.conf or if you have doubts about the symlink do: ls -l /boot/vmlinuz
Edit: The symlink is optional so if you haven't done it, don't worry :) |
not 100% sure exactly what i'm looking for here, i've tried removeing .old still boots to 2.4:scratch:
windows isn't installed. # LILO configuration file # generated by 'liloconfig' # # Start LILO global section boot = /dev/hda message = /boot/boot_message.txt prompt timeout = 1200 # Override dangerous defaults that rewrite the partition table: change-rules reset # VESA framebuffer console @ 1024x768x256 vga = 773 # Normal VGA console # vga = normal # VESA framebuffer console @ 1024x768x64k # vga=791 # VESA framebuffer console @ 1024x768x32k # vga=790 # VESA framebuffer console @ 1024x768x256 # vga=773 # VESA framebuffer console @ 800x600x64k # vga=788 # VESA framebuffer console @ 800x600x32k # vga=787 # VESA framebuffer console @ 800x600x256 # vga=771 # VESA framebuffer console @ 640x480x64k # vga=785 # VESA framebuffer console @ 640x480x32k # vga=784 # VESA framebuffer console @ 640x480x256 # vga=769 # End LILO global section # Windows bootable partition config begins other = /dev/hda1 label = Windows table = /dev/hda # Windows bootable partition config ends # Linux bootable partition config begins image = /boot/vmlinuz.old root = /dev/hde1 label = linux.old read-only # Linux bootable partition config ends |
Well you didn't add an entry for the new kernel there...
Add something like: Code:
# Linux bootable partition config begins Edit: change /boot/vmlinuz to suit your system. |
I don't know this guide - but these are the steps:
configure the kernel source (make menuconfig - for instance) make make modules make modules_install cp ./System.map /boot/System.map --> copy the new System.map... cp ./arch/i386/boot/bzImage /boot/bzImage (or to whatever name you would like to give your kernel) add the new kernel to your boot-loaders configuration-file (/etc/lilo.conf or /etc/grub.conf) update your boot loader - by running: lilo -v or grub-install /dev/hd? depmod -a --> to update the dependencies of the new kernel-modules reboot |
still not working i've tried the suggestions but it still boots to the old version:scratch: :confused: :cry: , anymore help i will be thankfull, i'll try again tommorrow
|
Simple solution. Build Kernel incrementally
I have seen people have this problem before and get frustrated with kernel compiles. In almost all cases it comes down to a mis configuration in make menuconfig. What I do is start with a very _SIMPLE_ kernel with the fewest amount of features I can get away with. Then I build another kernel with more features and test it. I can always revert back to the first kernel built and rebuild again. This method has always worked for me especially when I am working on a new machine. Good luck and don't ever give up!
|
tjb do: ls -l /boot
and paste it here, and also paste the new lilo.conf |
...this guide you where mentioning - it is - as far as I have found it using google - just a thread on this forum. And: it does miss out or is unclear on some steps that may be necessary...
You should have used a HOWTO - that is what they are for: step by step explaining how and why. A collection of probably all of them is here as well as much more: http://www.tuxfinder.com/ Did you use the most obvious source of information: read the Readme file included with the Kernel-source - it explains, how it is to be done, in great detail... What I wrote was basically a summary of that Readme (and of what I always do, when I compile a new kernel) The important thing is: you have to add you new kernel to the /etc/lilo.conf as gbonvehi was saying and then run "lilo" to write the new information to disk. The lilo.conf you posted, shows that your boot-menu gives you two choices: first entry is Windows - on /dev/hda1 second entry is linux.old - on /dev/hde1 so everything is all right with lilo here - is does just what you told it to do - boot the old kernel! You will want to change it to include an entry for your new kernel as gbonvehi said... |
Quote:
What is the purpose of system.map? Is the above step necessary? (It overwrites the old System.map!) Coz I faced the kernel panic on mounting fs, but I compile all the fs module needed) Thanks. |
good question! I do not really know - I suppose it describes the kernel-code and what capabilities are built in ...but: I don't know! You will have to google..
Still it is needed and that's why I always copied it too. Actually - I do NOT copy it over the old one - I use a link to point to it. This way I really have everything needed to go back to my old kernel or to another one... I just change the link to point to the correct System-map. this is what it looks like currently: ls -al ./System.map lrwxr-xr-x 1 root root 22 2004-06-19 10:05 ./System.map -> /boot/System.map-2.6.7 ...the link "System-map" points to the correct file "System-map-2.6.7" |
Quote:
you can then add a second entry to lilo.... i.e. image = /boot/bzImage-2.x.x root = /dev/hda6 #this varies on your partition setup. label = Linux-2.6.7 read-only good luck. |
just got back from work i haven't tried anything else yet, i've had a look at the site recommnded jomen can't see any howtos on compileing kernels?, i'll have another look around
total 9465 lrwxrwxrwx 1 root root 37 2004-08-06 23:26 README.initrd -> /usr/doc/mkini trd-1.0.1/README.initrd -rw-r--r-- 1 root root 998534 2004-08-08 23:21 System.map -rw-r--r-- 1 root root 620999 2004-06-15 03:29 System.map-ide-2.4.26 -rw-r--r-- 1 root root 762268 2004-08-08 18:13 System.old -rw-r--r-- 1 root root 512 2004-08-06 23:38 boot.0300 -rw-r--r-- 1 root root 209 2004-08-06 23:38 boot_message.txt -rw-r--r-- 1 root root 2226132 2004-08-08 23:22 bzImage lrwxrwxrwx 1 root root 17 2004-08-06 23:26 config -> config-ide-2.4.26 -rw-r--r-- 1 root root 41017 2004-06-15 03:29 config-ide-2.4.26 -rw-r--r-- 1 root root 5032 2004-05-21 08:19 diag1.img -rw------- 1 root root 40448 2004-08-08 23:33 map -rw-r--r-- 1 root root 2226133 2004-08-08 22:54 vmlinuz -rw-r--r-- 1 root root 1248111 2004-06-15 03:29 vmlinuz-ide-2.4.26 -rw-r--r-- 1 root root 1494200 2004-08-08 18:13 vmlinuz.old # LILO configuration file # generated by 'liloconfig' # # Start LILO global section boot = /dev/hda message = /boot/boot_message.txt prompt timeout = 1200 # Override dangerous defaults that rewrite the partition table: change-rules reset # VESA framebuffer console @ 1024x768x256 vga = 773 # Normal VGA console # vga = normal # VESA framebuffer console @ 1024x768x64k # vga=791 # VESA framebuffer console @ 1024x768x32k # vga=790 # VESA framebuffer console @ 1024x768x256 # vga=773 # VESA framebuffer console @ 800x600x64k # vga=788 # VESA framebuffer console @ 800x600x32k # vga=787 # VESA framebuffer console @ 800x600x256 # vga=771 # VESA framebuffer console @ 640x480x64k # vga=785 # VESA framebuffer console @ 640x480x32k # vga=784 # VESA framebuffer console @ 640x480x256 # vga=769 # End LILO global section # Windows bootable partition config begins other = /dev/hda1 label = Windows table = /dev/hda # Windows bootable partition config ends # Linux bootable partition config begins image = /boot/bzImage root = /dev/hde1 label = linux-2.6.7 read-only # Linux bootable partition config ends |
Quote:
|
Quote:
|
This is very weird. It should work. I recommend you to retry the steps (avoid recompilation if you want to).
First, are you sure you didn't compile 2.4.26 kernel instead of 2.6.7? Then, did you copy the bzImage file from the 2.6.7 folder? You already told you ran lilo so that's ok. |
If bzImage in the listing you gave is your new kernel then do as trey85stang said - just change the name he gave in his post to bzImage
It looks suspicious though - vmlinuz and bzImage are created the same date but have a different size - I don't know which one would be the correct one System-map seems to be the current one. If you ran "lilo -v" - and bzImage is the correct new kernel - and your system starts booting from the first disk (/dev/hda) - you should be good to go! Are you sure that the entry: root = /dev/hde1 is correct? This would be a drive on an extra-controller, because with standard ide-motherboards you get as far up as /dev/hdd (you have two primary and two secondary ide-channels --> hda - hdb - hdc -hdd) |
Quote:
i belive i must have create the kernel withe a diffirent name hence 2 names. i have 1 drive on sata this is the main boot drive i belive thier may be a problem with lilo then? /dev/hde5 swap swap defaults 0 0 /dev/hde1 / reiserfs defaults 1 1 /dev/hda1 /mnt/hda1 ntfs ro 1 0 /dev/hdb1 /mnt/hdb1 ntfs ro 1 0 /dev/hdd1 /mnt/hdd1 ntfs ro 1 0 /dev/cdrom /mnt/cdrom iso9660 noauto,owner,ro 0 0 /dev/fd0 /mnt/floppy auto noauto,owner 0 0 devpts /dev/pts devpts gid=5,mode=620 0 0 proc /proc proc defaults 0 0 |
tjb, you have 4 hard drives ?
As others said, I would correctly install the kernel image file by just copy /usr/src/linux-2.6.7/arch/i386/boot/bzImage in /boot, then you may rename it as you want but it has to matches whith the boot line in lilo config, and if change are done in lilo you have to run /sbin/lilo to take them in account. When I say ' boot line in lilo ' I mean image = /boot/vmlinuz where vmlinuz is the name of the kernel image file (wich is the copy of /usr/src/linux-2.6.7/arch/i386/boot/bzImage) |
Quote:
|
Went through the same thing that you did, might be the same problem i had.
Did you edit your makefile( uncheck export INSTALL_PATH=/boot ) before you changed the symlink for the linux source files? If so, you might have changed the makefile for you old kernel source instead of the new kernel source, thus the new kernel installs in / instead ( it did for me ). A check of the makefile in /usr/src/linux-2.6.x/ should confirm whether or not this is true. Of course, if u happen to find a file vmlinuz in /, juz mv it to /boot/vmlinuz should solve the problem. This is just a guess at the solution, i'm a newbie as well afterall....:D |
All times are GMT -5. The time now is 12:51 PM. |