installation - How do I get the latest linux kernel, and why would I want to do that in the first place?
2014-04
I'm running 3.10-3-686-pae, and I think I would like to upgrade to 3.12 just so I can learn more about how it all works. My computer runs pretty well considering how old it is. I have been learning to use Linux for a little over two months.
You might find this article a bit educational to answer the 'why' portion of your question. As for 'how?' That sort of depends on your particular flavour of linux. And compiling a custom kernel can get pretty involved. For me, the most educational experience came from following Gentoo's guide on the subject.
Linux is highly modular and therefore the kernel is more commonly discussed as a lot can be done with it. For example, you could take the kernel, patch it up with lots of fixes, tweak other settings, strip out everything you won’t need, and then replace your original kernel with your final product, and it will run just fine.
How to get the latest kernel? Goto kernel.org and download the "mainline" tar.xz file. Make sure you have plenty of hard drive space. wget https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.12.tar.xz
I normally use opensuse, but you may need to make adjustments to the process for your distribution.
decompress the kernel.
says you put it in /usr/src/kernel
goto to that folder.
cd /usr/src/kernel
make localmodconfig
make -j 8 bzImage
make -j 8 modules
make -j 8 modules_install
make -j 8 install
yast bootloader
select the new kernel version and set it active.
reboot and it is active.
I have downloaded the newest most stable Linux kernel, 2.6.33.2.
I thought I would test this using VirtualBox. So I create a dynamically sized harddisk of 4 GB. And installed CentOS 5.3 with just the minimum packages.
I setup the make menuconfig
with just the default settings.
After that I ran make
and got the following error:
net/bluetooth/hci_sysfs.o: final close failed: No space left on device
make[2]: *** [net/bluetooth/hci_sysfs.o] Error 1
make[1]: *** [net/bluetooth] Error 2
make: *** [net] Error 2
The amount of space I have left is:
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
3.3G 3.3G 0 100% /
/dev/hda1 99M 12M 82M 13% /boot
tmpfs 125M 0 125M 0% /dev/shm
My virtual size is 4 GB, but the actual size is 3.5 GB.
$ ls -hl
total 7.5G
-rw-------. 1 root root 3.5G 2010-04-13 14:08 LFS.vdi
How much size should I give when compiling and installing a Linux kernel? Are there any guidelines to follow when doing this? This is my first time, so just experimenting with this.
An april 2010 linux kernel is about 60MB bzip2 archive, which after unpacking and compiling takes about 400-500MB.
You can check your directory size with du -hs
like:
/mnt/storage/linux-2.6.33$ du -hs
437M .
From Guide,
NOTE: If you do not have lot of disk space in /usr/src then you can unpack the kernel source package on any partition where you have free disk space (like /home). Because kernel compile needs lot of disk space for object files like *.o. For this reason the /usr/src/linux MUST be a soft link pointing to your source directory.