Quote:
Originally Posted by KairosDrasis
That command doesn't show me anything at all, and I don't have a clue about how to build a kernal... can you please post a link? (Sorry, I'm very new at this)
|
That's odd. If your kernel version is '2.6.21.5' (as your 'uname -r' displayed)
you should get something, even commented (with '#' at the beginning of the
line). I don't rememember exactly from which version of the kernel
they switched to this new interface.
You'll need to download a newer version of the kernel from here
http://www.kernel.org/
The latest stable version of the Linux kernel is: 2.6.30.3
(the direct link is
http://www.kernel.org/pub/linux/kern...6.30.3.tar.bz2
)
1. download linux-2.6.30.3.tar.bz2 from there
2. place it in /usr/src
3. unpack it by running this command
tar jxf linux-2.6.30.3.tar.bz2
Then it gets trickier, because there's been a lot of changes since
the version you got, so you can't simply start with your old
config and only answer a few questions.
My advice since you're new to this is to ask someone around
you to do it for you.
Better do all these steps as root.
Basically these are the steps:
1. cd linux-2.6.30.3
2. copy the old config here and name it .config (a dot before the name)
by running this command:
zcat /proc/config.gz > .config
3. run this command
make oldconfig
you'll probably need to answer a lot of questions
just hit the return key when you don't know the answer
(so that would select the default)
open the file .config with a text editor and look for these 4 entries
CONFIG_IWLWIFI
CONFIG_IWLCORE
CONFIG_IWLAGN
CONFIG_IWL5000
if any of them have something like
# CONFIG_IWL5000 is not set
etc., change it and make sure they're set like this
CONFIG_IWLWIFI=m
CONFIG_IWLCORE=m
CONFIG_IWLAGN=m
CONFIG_IWL5000=y
4. run the command
make menuconfig
There, you'll have to go thru the options and select or unselect
them. There's usually some kind of help
5. quit the menuconfig when you're done then run
make bzImage modules
All the steps above can be done safely.
So you could play with steps 1 thru 5 to get the hang of it.
The rest consist of installing the kernel and the modules.
Even a seasoned linux users always makes a backup of their
current kernel and modules before installing a new one.
6. backup the files in /boot:
vmlinuz* System.map* config* ...
backup the current modules, that is
this whole directory and its contents:
/lib/modules/$(uname -r)
Once the backup has been done, proceed with installing
the new kernel and its modules
copy over the kernel and some files to /boot by running these:
cd /usr/src/linux-2.6.30.3
version=${PWD##*-}
cp System.map /boot/System.map-$version
cp arch/x86/boot/bzImage /boot/vmlinuz-$version
cp .config /boot/config-$version
create symbolic links in /boot:
cd /boot
for f in System.map-$version config-$version vmlinuz-$version
do
l=${f%-*}
ln -sf $f $l
done
go back to the kernel source tree and proceed to the modules installation:
cd /usr/src/linux-2.6.30.3
make modules_install
Now,
Depending of the boot loader used (lilo or grub)
you might need to adjust the entry in the menu (if
you have the version in the name of the kernel) and
do a lilo (if that's the boot loader you use)
As you can see, it's a pretty involved process.
If you have another free partition on your disk, what you might do
is
1. install your distro on it (or better, get a newer version,
chances are you won't need to build a new kernel)
2. try to build and install a new kernel on that partition
so that if anything goes wrong (you can't boot with the new kernel)
you can always boot with the stable partition and restore the
previous kernel and modules in the test partition
Eventually, if you're patient, you'll be able to boot the new kernel,
check that everything works as expected (your wireless is detected,
etc). Then you can proceed by building the new kernel on the
stable partition (and this time you copy over the .config you obtained
the last time time you built the new kernel)