Upgrading a kernel isn't hard in general but as I'm trying doing this myself, it's a bit tricky with Backtrack. However, I suspect it won't be too much a hassle for you. If you search around you'll see many guides here and elsewhere on the net on how to do this. I'm going to try and make it as least complicated as possible.
Major Note: I'm assuming your running Backtrack off your HDD for these instructions. This is NOT for using a Live CD.
If you want to upgrade your kernel you need to download the latest one from kernel.org and save it to the directory /usr/src. Make sure it's not a patch.
When you're done unpack the file. You do this by right clicking it > open with > Ark. Then extract all files. You'll notice a new folder that named "linux-2.6.x.x". Make note of what numbers x is.
Next open up a terminal/shell and type:
Code:
# ln -s linux-2.6.x.x linux
# cd linux
# make clean && make mrproper
# make xconfig
At this point a window should have popped up and you have to choose what options you want your kernel to have. If you unbranch all of them you'll see there's a lot. There's one major option you should change for sure.
Press 'crtl + f' and search for "headers". You should see an option that asks if you want to check for them. Select "No" or uncheck it. You need to do this or the kernel won't compile. You'll see an error that says more or less "Missing file if_addrlabel.h" You don't need this.
The next best thing to do is load your previous config. Normally it would be located in /usr/src/linux or so I have read, but I never had that. If this is true for you too, download "Kernel Sources" from the BackTrack Wiki page to /root and unpack it there. Go back to your config window and load config from /root/kernel/usr/src. From here you can go and check any other options you want to. Check to see you have wireless devices checked along with ethernet devices. Other than that, I would leave the rest alone for now. Now save it.
Once you're done close the configuration window. Next we need to edit "makefile". Right click it and open it with Kedit and search for "install_path". You should see a a small paragraph of text that starts with "#" (These are known as comments) and then the actual command "export INSTALL_PATH=/boot" or similar. Delete the comment and command. When you do this it prevents your old kernel image [vmlinuz] from being overwritten so you can boot back into it if this new kernel doesn't load (At least that's the difference it made for me.) Next type the following:
Code:
# make bzImage && make && make install && make modules && make modules_install
Note: That's a capital letter "i" in bzImage.
This will take at *least* 5 min. If anything go get something to snack on for a bit as for slower computers this can take up to 20 min or longer.
***See Edit Below***
We need to copy bzImage to /boot if it's not there. Type:
Code:
cp /usr/src/linux/arch/x86/boot/bzImage /boot
Now to alter Lilo:
Code:
nano /etc/lilo.conf
At the bottom, add:
Code:
image = /boot/bzImage
root=/dev/XXXX
label = TestKernel
read-only
Note: Your /dev/XXXX should be the same as your Backtrack /dev/XXXX.
Alright. You're basically done. You have the option to boot into your old Backtrack kernel or this new one. Reboot and try it out. Enjoy!
***Edit: I would actually check both x86 and i386 folders [usr/src/linux/arch/...../boot because the make install command is what tells you where bzImage is located. In other words the instructions I gave you would *not* tell you where it's installed.