howto match custom kernel config to my laptop and friends
UbuntuThis forum is for the discussion of Ubuntu Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
howto match custom kernel config to my laptop and friends
How do I discover which kernel config parameters are important for my laptop hardware and frequently used applications?
I'm not looking for something that is 100(...)% optimized for my hardware. I would prefer to have modules for everything that I don't use at all or often. I would prefer to avoid modules (built-in) for things that I use all the time but then any updates might mean a kernel rebuild.
I'm currently running the generic PAE edition of the repository kernel. I think that I'm running the 32-bit flavor at that.
Code:
user@host:path$ uname -a
Linux mumbles 2.6.31-19-generic-pae #56-Ubuntu SMP Thu Jan 28 02:29:51 UTC 2010 i686 GNU/Linux
I know the following from sysinfo
Code:
GenuineIntel, Intel(R) Core(TM)2 Duo CPU L7500 @ 1.60GHz
Number of CPUs: 2
CPU clock currently at 800.000 MHz with 4096 KB cache
Numbering: family(6) model(15) stepping(11)
Bogomips: 3192.09
Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc arch_perfmon pebs bts pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm lahf_lm ida tpr_shadow vnmi flexpriority
The box is an EmperorLinux Raven Tablet (ThinkPad X61-tablet) and I'd like to take advantage of all that the processor and the box offers.
Starting with kernel 2.6.32 you can use make localmodconfig to automagically configure the kernel for your hardware. See this thread: http://www.linuxquestions.org/questi...nstall-774613/
If you elect to use this option when compiling a new kernel, be sure to plug in at least one usb device. I have read that when using localmodconfig if you are not running the modules for usb devices then usb support will not be configured into your kernel. You should still run "make menuconfig" after running "make localmodconfig" to be sure that everything you need in your new kernel is enabled the way you want it (i.e., either built in or as modules).
I have used tommcd's recomendation with satisfactory results. I also found that it was a good idea to keep the current kernel just in case. I found I'd left out some important modules 2 weeks later.
First, I run Ubuntu Karmic whose current kernel is v2.6.31-19.56. My attempts to fetch and build a default v2.6.32.* have not been a success in part due to troubles with git and friends. Even though http://www.kernel.org reports this kernel is available, when I try, I get (sic) errors. Yes, I'm a noob where git is concerned.
Code:
user@host:path$ git clone git://kernel.ubuntu.com/ubuntu/ubuntu-karmic.git
...
user@host:path$ git checkout Ubuntu-2.6.32.8
error: pathspec 'Ubuntu-2.6.32.8' did not match any file(s) known to git.
Second, I can create a fresh virgin config file, but have no clue how to make sure it has all of the parts that I really need and builds modules for stuff that might come up. If I've got to pour over all of the various command output listed here, that will take longer than I can spend time with right now.
Maybe the generic-pae kernel is not so bad after all.
thanks to all for the advice! I'm not quite ready for the big leagues for a couple of reasons.
If you want an easier way of compiling a kernel in Ubuntu, you can try using kernel check. See this article from Ubuntu-Geek, the guy who started the Ubuntu forums: http://www.ubuntugeek.com/automatica...in-ubuntu.html
You can also get pre-compiled Ubuntu kernels as ready to install .deb packages from the Ubuntu ppa repos: http://kernel.ubuntu.com/~kernel-ppa/mainline/
If you install one of those kernels be sure to run:
Code:
sudo update-grub
so your new kernel is added to your grub menu so you can boot it.
Note: According to your blog:
Quote:
I wrote this how to because my laptop has 4GB of internal memory and with the default kernel that ships with Ubuntu Karmic the entire 4GB is not addressed. ... I am compiling the i386 version, if you want to compile for amd64 you need replace i386 for amd64 throughout this article.
If you have 4GB of memory and want to use it all you should try the 64bit Ubuntu. The 64bit Ubuntu will be able to use that much memory, plus a lot more if you ever add memory.
If you have 4GB of memory and want to use it all you should try the 64bit Ubuntu. The 64bit Ubuntu will be able to use that much memory, plus a lot more if you ever add memory.
According to Canonical paid support folks, very few non-virtualized, workstation instances benefit from the 64-bit edition. Servers, especially virtualized, are a different story.
If you have more than 3 GB ("maxram > 3.0" vs. "maxram >= 4.0") ram,
load the PAE (linux-generic-pae, linux-image-generic-pae, linux-image-NNN-generic-pae, linux-headers-NNN-generic-pae) packages to the 32-bit edition. This provides access to larger RAM capacity while running 32-bit.
Personally, I'm running PAE and have had little documented trouble with it. That said, there is some consideration that my SLEEP and HIBERNATE and WAKE troubles are related to non-32-bit processing.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.