Saturday, August 24, 2013

Did somebody say custom??

So I decided to take a small break today in order to bring up an old topic.....Kernels.

Now if you're just like me, running something stock is just like "using devils left hand to care for young children." One way to change direction is to utilize an alternate kernel. Now this time I am speaking strictly of the Ubuntu distro. (Ask me later of my custom Nexus 4 kernel.) I will give you Very Easy! step by step instructions in order to harness the raw power of alternate kernels.

One may ask "What will a new kernel do?" Well in laymans terms, it allows one's system to be brought on the same level with all new linux commits straight from Linus himself. So basically "The Bleeding Edge" (Not to be confused with Ubuntu Edge *insert sad story)

Now on my system I currently run the RC Ubuntu kernel, but I will provide the links to a very good custom kernel know as pf-kernel. This kernel has many more optimizations.

First off .........NOT RESPONSIBLE FOR ANYTHING THAT GOES WRONG!!!!


Now since that is out of the way..... lets download said kernel:
- For stock Ubuntu: http://kernel.ubuntu.com/~kernel-ppa/mainline/
- pf-kernel if you choose: http://repos.natalenko.name/debian/pf/
Note: pf-kernel has many Linux optimizations read here for a good little article.

Step 1: Find the current version you need.

To play it safe grab a version with your same release name. i.e. 13.04 is "raring"
Figure 1
If you do not want to play safe.....totally cool. Besides where is the fun in safety. (Be sure to keep a backup. Covered at the end)

In order to find out your current version of kernel open a terminal and type
uname -a
Giving a response of  Figure 2. I have version 3.9.0-030900
Figure 2

Step 2: Download the right 3

On the next page you will 3 different endings "amd64", "armhf", and "i386." This is your architecture.
YOU NEED TO KNOW WHICH. To find out refer to Step 1 above.

In this example I will be using "amd64."
Next you need to download 3 files "linux-headers", "linux-image", and linux-headers-xxxxxxxxxxxx_all.deb." Refer to Figure 3.
Figure 3
Choose the correct ones for your architecture. Once they have finished downloading open a terminal and "cd" to the download location.
cd ~/Downloads

Step 3: Time to install

Once in the working directory run
sudo dpkg -i *.deb
Note the "*.deb" makes dpkg use every deb file in directory. If you have more then the 3 recently downloaded > MOVE to a new directory!

Step 4: Update

 In order to boot a new kernel you need to update the grub. In order to do this run:
sudo update-grub2
The result should be much like Figure 4 below.
Figure 4

Step 5: Reboot

The final step. Reboot your device. At the grub menu(after bios) choose your new kernel. Note: you may have to press escape in order to show the menu.
Figure 5 shows a grub shot. (Outdated)
Figure 5

Cleanup/Backup

Despite not being an actual step these are very important.
In order to rid a kernel of being installed use apt-get.
sudo apt-get remove linux-xxxxxx
 xxxxxx being the "linux-headers" or "linux-image." Remember to remove all 3 files mentioned above in Step 2.

Important: Be sure to leave at least one STABLE kernel on your system. In case something goes wrong. At least you will be able to boot to the old kernel. (This is what I considered a backup)

FINI

There you have it your very own....nonstock....kernel. If you have any questions feel free to ask.

**For those that care
Ubuntu 13.04, amd64, 3.9.0-030900-generic