Ubuntu Forums ubuntu.com - launchpad.net - ubuntu help  

Go Back   Ubuntu Forums > The Ubuntu Forum Community > Other Community Discussions > Tutorials & Tips > Outdated Tutorials & Tips
Register Reset Password Forum Help Forum Council Search Today's Posts Mark Forums Read

Outdated Tutorials & Tips
Outdated Tutorials & Tips

 
Thread Tools Display Modes
Old April 9th, 2006   #1
xXx 0wn3d xXx
Dark Roasted Ubuntu
 
xXx 0wn3d xXx's Avatar
 
Join Date: Jan 2006
Beans: 1,113
Ubuntu 7.10 Gutsy Gibbon
Send a message via AIM to xXx 0wn3d xXx
Smile How To Compile the new 2.6.16 kernel from kernel.org

I just finished compiling the newest 2.6.16 kernel from kernel.org and I am getting much better performance. In what follows, I will show you how to compile and configure the latest kernel. You do not need to use the 2.6.16 kernel but it is the first kernel of the release kernel and performance patches are only made for these releases. (ex: 2.6.16, 2.6.17 NOT 2.6.16.20) Feel free to compile a kernel besides the first release cycle kernel. You do not need the patch and you can configure the kernel for maxium speed in xconfig. A tutorial to optimize the kernel you are building can be found here.

Before you begin, you will need to get a kernel
Download the 2.6.16 kernel and it's performance patch: The 2.6.16 kernel
Latest Kernel Patch Don't apply the patch if you are compiling a kernel other then 2.6.16 otherwise the kernel will not compile.

Check out kernel.org for the latest stable/release canidate kernel.

1. Install needed utilities to configure the kernel

Quote:
sudo apt-get install build-essential bin86 kernel-package libqt3-headers libqt3-mt-dev
2. Now we are going to move the kernel and unpack it.

Quote:
sudo cp linux-2.6.16.tar.bz2 /usr/src
3. Now we are going to move to /usr/src

Quote:
cd /usr/src
4. Now unpack it:

Quote:
sudo tar -xvjf linux-2.6.16.tar.bz2
5. Rename the folder: ONLY needed for 2.6.16 kernel ! You don't need to do this.

Quote:
sudo mv linux-2.6.16/ linux-2.6.16ck12
6. Now we are going to remove the link to the linux directory:

Quote:
sudo rm -rf linux
7. Make a new link to the new kernel:

Quote:
sudo ln -s /usr/src/linux-2.6.16ck12 linux
8. Move to the Linux directory:

Quote:
cd /usr/src/linux
9. Make yourself root:

Quote:
sudo -s -H
10. Apply the performance patch: Don't use if you are not patching the 2.6.16 kernel !

Quote:
bzcat /home/$USER/patch-2.6.16-ck12.bz2| patch -p1
11. Now we are going to import your current kernel configuration:

Quote:
uname -r
12. Now import it: Make sure to replace the kernel version in this following command from the one from uname -r.

Quote:
sudo cp /boot/config-2.6.14-ck1 .config
13.Configure the kernel:

Quote:
make xconfig
Here are some performance tips from this thread.

Quote:
In "General Setup" activate:

-Support for paging of anonymous memory (swap)
--Support for prefetching swapped memory

In "Processor type and features":

-Processor family Choose the model of your processor.

Activate:

-Preemption Model
--Voluntary Kernel Preemption (Desktop)

-High Memory Support
--off -if you have less than 1 GB of RAM
--1GB Low Memory Support -if you have 1GB of RAM
--4GB -if you have more than 1GB of RAM

-Timer frequency
--1000 Hz

In "Device drivers" go to "Block devices" and in "IO Schedulers" leave only the "CFQ I/O scheduler" activated, which provides the best performance.

In "Kernel hacking" uncheck "Kernel debugging".

Ctrl+S to save the kernel configuration and then close the window.
Note: Not all the options will be the same in newer kernels.

14. Let's build the kernel: Make sure that you are in /usr/src/linux with full root access. Make sure that you are. This will build a debian file that you can install.

Now, in terminal do the following:

Quote:
make-kpkg clean

make-kpkg -initrd --revision=ck12 kernel_image kernel_headers modules_image
Note: You can replace "ck12" with anything you want. Like "k7" or "686."
15. Install the .deb fine in /usr/src. In terminal do

Quote:
sudo dpkg -i <name of the file>
Now reboot and you will have a much faster system !
-------------------------------------------------------------------------

How I learned to do this:
2.6.14 Vanilla Kernel I based my tutorial on this thread. Thank you for writing this tutorial RubenGonc !

And I also learned some stuff from this thread
-------------------------------------------------------------------------
Troubleshooting:

Q: My Wifi Doesn't work !

A:To get wifi working, compile the new ndiswrapper from source. Follow the tutorial.

Q: When I reboot I get Grub Error 22 ! WTF ???

A: You may have missed a step or messed something up. When it says Grub Loading..... press esc and you will be able to boot with another kernel. Then you should go into synaptic and uninstall the broken kernel and then reompile it.
--------------------------------------------------------------------------------
Q: How can I get fglrx and DRI working on my new kernel ?

A: Type this in terminal:

Quote:
sudo apt-get install fglrx-kernel-source
Reboot and if that does not work, make sure fglrx is in the Driver section.
---------------------------------------------------------------------------------
Q: I need kernel headers for my custom kernel.

A: I updated the howto and edited the last step to build a kernel image, kernel module image, and kernel headers. Thank you to tseliot for his kernel thread because I found the command there. You can view the thread here.
------------------------------------------------------------------------------------
Q: I want to optimize my kernel ! What do I select ???

A: I just wrote this tutorial on how to configure your kernel for enhanced performance. I hope it helps.
----------------------------------------------------------------------------------------
Q: Why did you write this tutorial ?
A: I wrote this tutorial to help give back to the Ubuntu community. I've had such a good expericence with ubuntu that I want to help others. This community is great

Last edited by xXx 0wn3d xXx; June 23rd, 2006 at 07:40 PM..
xXx 0wn3d xXx is offline  
Old April 9th, 2006   #2
dicecca112
Gee! These Aren't Roasted!
 
dicecca112's Avatar
 
Join Date: Jan 2006
Beans: 192
Ubuntu 8.04 Hardy Heron
Re: How To Compile the new 2.6.16 kernel from kernel.org

should be name of file for 16th step

also didn't work for me, there is no option to boot the 2.6.16 kernel in my grub

Last edited by dicecca112; April 9th, 2006 at 04:42 PM..
dicecca112 is offline  
Old April 9th, 2006   #3
Juanito
5 Cups of Ubuntu
 
Join Date: Aug 2005
Beans: 14
Re: How To Compile the new 2.6.16 kernel from kernel.org

Did you try manually adding the parameters to /boot/grub/menu.lst?
Juanito is offline  
Old April 9th, 2006   #4
xXx 0wn3d xXx
Dark Roasted Ubuntu
 
xXx 0wn3d xXx's Avatar
 
Join Date: Jan 2006
Beans: 1,113
Ubuntu 7.10 Gutsy Gibbon
Send a message via AIM to xXx 0wn3d xXx
Re: How To Compile the new 2.6.16 kernel from kernel.org

Quote:
Originally Posted by Juanito
Did you try manually adding the parameters to /boot/grub/menu.lst?
or sudo update-grub. I just ran through the tutorial again and I compilied the kernel and the set it up and it worked.
xXx 0wn3d xXx is offline  
Old April 9th, 2006   #5
dicecca112
Gee! These Aren't Roasted!
 
dicecca112's Avatar
 
Join Date: Jan 2006
Beans: 192
Ubuntu 8.04 Hardy Heron
Re: How To Compile the new 2.6.16 kernel from kernel.org

weird, it shows in the menu.lst. but not in my grub. ran update-grub too and it shows up there, but not on boot
dicecca112 is offline  
Old April 9th, 2006   #6
xXx 0wn3d xXx
Dark Roasted Ubuntu
 
xXx 0wn3d xXx's Avatar
 
Join Date: Jan 2006
Beans: 1,113
Ubuntu 7.10 Gutsy Gibbon
Send a message via AIM to xXx 0wn3d xXx
Re: How To Compile the new 2.6.16 kernel from kernel.org

Quote:
Originally Posted by dicecca112
weird, it shows in the menu.lst. but not in my grub. ran update-grub too and it shows up there, but not on boot
That's weird...check if it's hidden. Also, after upgrading up to this kernel, my sound works and it never did before !
xXx 0wn3d xXx is offline  
Old April 9th, 2006   #7
dicecca112
Gee! These Aren't Roasted!
 
dicecca112's Avatar
 
Join Date: Jan 2006
Beans: 192
Ubuntu 8.04 Hardy Heron
Re: How To Compile the new 2.6.16 kernel from kernel.org

how come the path reads number-cks3 and on step 8 it says sudo ln -s /usr/src/linux-2.6.16ck3 linux
dicecca112 is offline  
Old April 9th, 2006   #8
Juanito
5 Cups of Ubuntu
 
Join Date: Aug 2005
Beans: 14
Re: How To Compile the new 2.6.16 kernel from kernel.org

I copied and pasted everything and succeeded! now I can suspend and resume!!!!! but I still don't have wifi.
Juanito is offline  
Old April 9th, 2006   #9
dpicker
5 Cups of Ubuntu
 
Join Date: Mar 2006
Location: Lancaster, UK
Beans: 28
Ubuntu 9.04 Jaunty Jackalope
Re: How To Compile the new 2.6.16 kernel from kernel.org

To get usplash you need to make sure you enable this in the config:

Graphics support:
-VGA 16-color graphics support - module (m)
-VESA VGA graphics support - build in kernel (y)

Console display driver support:
-VGA text console and Video mode selection support- build in kernel (y)
-MDA text console-module (m)
-Framebuffer Console and Framebuffer Console Rotation support-build in kernel (y)

Not sure how to change from "m" to "y" and vice versa in xconfig so I opened the .config file in gedit and checked it manually.

Archck patch includes the Con Kolivas patch but with lots of other cool things too like acpi updates and suspend2 but I had trouble compiling it.

It's here if you wanna hava a go: http://iphitus.loudas.com/archck.php
dpicker is offline  
Old April 9th, 2006   #10
berserker
Gee! These Aren't Roasted!
 
berserker's Avatar
 
Join Date: Jun 2005
Beans: 175
Re: How To Compile the new 2.6.16 kernel from kernel.org

EDIT: Code corrected.

Last edited by berserker; April 15th, 2006 at 04:32 PM..
berserker is offline  

Bookmarks

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 09:07 PM.


vBulletin ©2000 - 2010, Jelsoft Enterprises Ltd. Ubuntu Logo, Ubuntu and Canonical © Canonical Ltd. Tango Icons © Tango Desktop Project. lingonberry