Saturday, 25 August 2012

Ubuntu 12.04 LTS Kernel Compile Guide


Important Note:

https://wiki.ubuntu.com/PrecisePangolin/ReleaseNotes/UbuntuDesktop#PrecisePangolin.2BAC8-ReleaseNotes.2BAC8-CommonInfrastructure.Ubuntu_Kernel_3.5.0-23.35

Whether it's for educational purposes, tweaking or curiosity, compiling a Kernel in Ubuntu 12.04 LTS is generally a straight forward exercise. However, it can be a little more complex depending on what sources are used, for example GIT or a vanilla kernel from kernel.org.

This guide goes for the easiest method and demonstrates how to compile the Ubuntu 12.04 LTS Kernel using apt-get sources.

It is not intended to be a comprehensive guide to kernel compiling, just something to get you started and as a quick reference for Ubuntu 12.04 LTS users.

Before you attempt using this guide please make sure your Ubuntu installation is fully up to date. Use the 'Update Manager' program and if you need to reboot after the update please do.

The Kernel Compile Guide

Install required packages

sudo apt-get install libncurses5-dev kernel-package

Create a source directory

mkdir ~/src

cd ~/src

Download the kernel source into your source directory

apt-get source linux-image-$(uname -r)

Configure your Kernel 

cd linux-3.2.0

make menuconfig

Speed up the build

export CONCURRENCY_LEVEL=2

General rule is CONCURRENCY_LEVEL = number of processor cores + 1

Compile the Kernel

time fakeroot make-kpkg --initrd --append-to-version=-tweak kernel-image kernel-headers

You can change -tweak to anything you wish

Install your compiled Kernel

cd ~/src

sudo dpkg -i linux-image-3.2.24-tweak_3.2.24-tweak-10.00.Custom_amd64.deb

sudo dpkg -i linux-headers-3.2.24-tweak_3.2.24-tweak-10.00.Custom_amd64.deb

Reboot

Ubuntu should boot with your new Kernel by default, if not you may have to edit Grub or enable the Grub menu to be displayed during boot.

Enjoy tweaking!

Saturday, 18 August 2012

After a while of using Ubuntu 12.04 LTS...


You don't often see post reviews / analysis of Linux distributions so I thought I would break the trend and share some of my thoughts after using Ubuntu 12.04 LTS for quite some time.

So, the great thing which I have observed with all Ubuntu LTS releases starting with 8.04 LTS is how well they work (eg lack of bugs and good support). 12.04 LTS in no exception. It is what I expect from LTS releases and what Canonical Ltd aims to deliver, a stable and working product which you can rely on.

In my view that's a pretty powerful incentive for using Ubuntu LTS and even though I havent tried every single distribution out there, I think you would be hard pressed to find a more reliable choice comparable to Ubuntu LTS. 

The system response in 12.04 LTS is pleasantly nippy, the same system with Windows 7 doesn't feel this good even after a fresh reinstall. Unfortunately Windows still has the issue of slowing down over time, which is why I like CloneZilla so much :-)

Interestingly I noticed Ubuntu is still using a kernel timer frequency setting of 250Hz and I couldn't resist re-compiling the kernel to see if changing this to 1000Hz would make a the system even more responsive. Of course it did and by a very noticeable margin.

Browsing through files / folders, opening programs, logging into the desktop and unity animations are all faster with a 1000Hz setting.

I can only guess the reason for the 250Hz is for power concerns but as a Desktop user the very minor and lower power consumption is in my view not worth having over the improved system responsiveness a 1000Hz timer frequency provides.

Did I say unity? Now that's an odd one. Better than Gnome Shell as far as usability goes but from a cosmetic view point a mish-mash of old and new. The transparent side bar with a Gnome 2 looking top bar doesnt look right. Personally more effort should have gone into making a more refined and consistent GUI.

Click on the home folder and an old outdated looking nautilus awaits. Click on the top left Ubuntu log or press tab, a modern transparent looking menu appears.

Hmm...

I am still trying to get use to the global menu feature in Ubuntu, I wish it only applied when applications are running full screen. It doesn't feel right that you have to move your cursor to the desktop bar to access the menu of a program running at anything other than full screen. Dynamic Global Menus, something for the future??

As for the side bar which reminds me of my Samsung Jet phone (worst phone ever made by Samsung), the only time it becomes frustrating is when working with multiple windows of the same program. For example if I am working on a number of LibreOffice documents and need to switch between these frequently, a simple Gnome 2 taskbar / Windows 7 / KDE with the application switcher is far easier and more efficient. 

And if you have to work with multiple windows on more than one program things don't get better. Even if you try using workspaces the situation doesn't improve.

So who/what is Unity designed for?

From a work flow perspective and depending on what you do, Unity may seem like a step too far in the wrong direction and if I was working with multiple documents on a daily basis then I would definitely consider using something more user friendly.

To sum up, Ubuntu 12.04 LTS has gone from something I would recommend using to something I recommend trying. 

And on that note it isn't at the top of my list either...

In looking for an alternative to Ubuntu LTS, Rosa Linux 2012 looks very interesting.