1. How To Compile A Kernel - The SuSE Way | HowtoForge - Linux How... http://www.howtoforge.com/kernel_compilation_suse
Howtos Forums News Search Contribute Subscription FAQForge
Options For This Howto
Free Support
Paid Support
Navigation
Howtos
Linux
CentOS
Debian
Fedora
Kernel
Mandriva
PCLinuxOS
SuSE
Ubuntu
Apache
Backup
Control Panels
DNS
Desktop
Email
Anti-Spam/Virus
Postfix
Procmail
Sendmail
FTP
High-Availability
Lighttpd
Monitoring
MySQL
Programming
C/C++
PHP
Samba
Security
Anti-Spam/Virus
Virtualization
Other
FreeBSD
Commercial
Mini-Howtos
Forums
Contribute
Subscription
Login
Site Map/RSS Feeds
User login
Username:
Password:
1 de 8 02/12/2009 11:43
2. How To Compile A Kernel - The SuSE Way | HowtoForge - Linux How... http://www.howtoforge.com/kernel_compilation_suse
Remember Me?
Create a new account
Request new password
Ads by Google
Linux Tutorial
Linux Setup
Mosix Kernel
Openmosix 2.6
Who's online
There are currently 18 users and 2774 guests online.
HowtoForge Forums
How to setup
getmail to
download just some
...
Troubleshoot
network problems
VLC player -For
all format media
file.
Cronjob problem
Downloadable
Vmware Images
ERROR: Connection
dropped by IMAP
server
Roundcube emails
In
Centos-installing
Courier-IMAP-Authl
ib,And ...
GlusterFS write
issue
Internet
acceleration and
cashing
News
Don't need groupware? Organize your life with Osmo
SugarCRM Gets a True Open Source Visionary in Larry Augustin
What Kind Of Bird Are You Booting?
HD-ready smartphone supports Linux and Android
Nokia Releases Qt 4.6
Howto setup Wireless on Chrome OS
Security in Linux and how to optimise it
The Phoronix Kernel Test Farm Is Alive
What will Fedora 13 Linux be named?
KDE Community Delivers Incremental Innovations With New KDE 4.3 Release
more
2 de 8 02/12/2009 11:43
3. How To Compile A Kernel - The SuSE Way | HowtoForge - Linux How... http://www.howtoforge.com/kernel_compilation_suse
Recent comments
Re: I was able toCreate a
1 day 2 hours ago
Re: It might be worth pointing
1 day 13 hours ago
thank you for the article
1 day 16 hours ago
hello, i have the same problem with squirrelmail and domains
1 day 19 hours ago
I followed this guide to
1 day 21 hours ago
After running, yum
1 day 23 hours ago
It might be worth pointing
2 days 1 hour ago
Very good
2 days 6 hours ago
step #4
2 days 7 hours ago
endian
2 days 8 hours ago
Newsletter
Subscribe to
HowtoForge
Newsletter
and stay informed
about our latest
HOWTOs and
projects.
(To unsubscribe from
our newsletter, visit
this link.)
Syndicate
HowtoForge Feed for Facebook®
"Facebook" is a registered trademark of Facebook, Inc. All rights reserved.
English | Deutsch | Site Map/RSS Feeds | Advertise
www.Totalviewtech.com Ads by Google
You are here: Home » Howtos » Linux » Kernel » How To Compile A Kernel - The SuSE Way
How To Compile A Kernel - The SuSE Way
3 de 8 02/12/2009 11:43
4. How To Compile A Kernel - The SuSE Way | HowtoForge - Linux How... http://www.howtoforge.com/kernel_compilation_suse
Do you like HowtoForge? Please consider supporting us by becoming a
subscriber.
Submitted by falko (Contact Author) (Forums) on Sun, 2006-11-19 18:22.
:: Kernel | SuSE
1
tweet How To Compile A Kernel - The
retweet SuSE Way
Version 1.0
Author: Falko Timme <ft [at] falkotimme [dot] com>
Last edited 11/17/2006
Each distribution has some specific tools to build a custom
kernel from the sources. This article is about compiling a
kernel on SuSE systems. It describes how to build a custom
kernel using the latest unmodified kernel sources from
www.kernel.org (vanilla kernel) so that you are independent
www.ManageEngine.com Ads by Google from the kernels supplied by your distribution. It also shows
how to patch the kernel sources if you need features that are
not in there.
I have tested this on SuSE 10.1.
I want to say first that this is not the only way of setting up such a system. There are many ways of achieving
this goal but this is the way I take. I do not issue any guarantee that this will work for you!
1 Preliminary Note
The goal of this tutorial is to build a kernel rpm package that can be installed on the system, and that you can
share with others and install on other SuSE systems which is a big advantage compared to the "traditional" way
where you don't end up with an rpm package.
2 Install Required Packages For Kernel Compilation
We must install ncurses-devel which is needed by the make menuconfig command which we run later on:
yast -i ncurses-devel
Next we must modify a few tools that are needed to build our kernel. If we don't modify them, we will get the
following error message during the kernel build process:
/usr/lib/rpm/find-requires.ksyms: line 12: /usr/bin/nm: Argument list too long
and we won't be able to install our kernel rpm package.
Before we modify the tools, we create backup copies of them:
cp /usr/lib/rpm/find-provides.ksyms /usr/lib/rpm/find-provides.ksyms_orig
cp /usr/lib/rpm/find-requires.ksyms /usr/lib/rpm/find-requires.ksyms_orig
cp /usr/lib/rpm/find-supplements.ksyms /usr/lib/rpm/find-supplements.ksyms_orig
Then we open each of these scripts and replace kernel-*) is_kernel_package=1 ;; with
kernel*) is_kernel_package=1 ;;:
vi /usr/lib/rpm/find-provides.ksyms
4 de 8 02/12/2009 11:43
5. How To Compile A Kernel - The SuSE Way | HowtoForge - Linux How... http://www.howtoforge.com/kernel_compilation_suse
[...]
#kernel-*) is_kernel_package=1 ;;
kernel*) is_kernel_package=1 ;;
[...]
vi /usr/lib/rpm/find-requires.ksyms
[...]
#kernel-*) is_kernel_package=1 ;;
kernel*) is_kernel_package=1 ;;
[...]
vi /usr/lib/rpm/find-supplements.ksyms
[...]
#kernel-*) is_kernel_package=1 ;;
kernel*) is_kernel_package=1 ;;
[...]
3 Download The Kernel Sources
Next we download our desired kernel to /usr/src. Go to www.kernel.org and select the kernel you want to
install, e.g. linux-2.6.18.2.tar.bz2 (you can find all 2.6 kernels here: http://www.kernel.org/pub/linux
/kernel/v2.6/). Then you can download it to /usr/src like this:
5 de 8 02/12/2009 11:43
6. How To Compile A Kernel - The SuSE Way | HowtoForge - Linux How... http://www.howtoforge.com/kernel_compilation_suse
cd /usr/src
wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.18.2.tar.bz2
Then we unpack the kernel sources and create a symlink linux to the kernel sources directory:
tar xjf linux-2.6.18.2.tar.bz2
ln -s linux-2.6.18.2 linux
cd /usr/src/linux
4 Apply Patches To The Kernel Sources (Optional)
Sometimes you need drivers for hardware that isn't supported by the new kernel by default, or you need
support for virtualization techniques or some other bleeding-edge technology that hasn't made it to the kernel
yet. In all these cases you have to patch the kernel sources (provided there is a patch available...).
Now let's assume you have downloaded the needed patch (I call it patch.bz2 in this example) to /usr/src.
This is how you apply it to your kernel sources (you must still be in the /usr/src/linux directory):
bzip2 -dc /usr/src/patch.bz2 | patch -p1 --dry-run
bzip2 -dc /usr/src/patch.bz2 | patch -p1
The first command is just a test, it does nothing to your sources. If it doesn't show errors, you can run the
second command which actually applies the patch. Don't do it if the first command shows errors!
If your patches are compressed with gzip (.gz) instead of bzip2 (.bz2), then you patch your kernel as follows:
gunzip -c /usr/src/patch.gz | patch -p1 --dry-run
gunzip -c /usr/src/patch.gz | patch -p1
You can also apply kernel prepatches to your kernel sources. For example, if you need a feature that is
available only in kernel 2.6.19-rc6, but the full sources haven't been released yet for this kernel. Instead, a
patch-2.6.19-rc6.bz2 is available. You can apply that patch to the 2.6.18 kernel sources, but not to kernel
2.6.18.1 or 2.6.18.2, etc. This is explained on http://kernel.org/patchtypes/pre.html:
Prepatches are the equivalent to alpha releases for Linux; they live in the testing directories in the archives.
They should be applied using the patch(1) utility to the source code of the previous full release with a 3-part
version number (for example, the 2.6.12-rc4 prepatch should be applied to the 2.6.11 kernel sources, not, for
example, 2.6.11.10.)
So if you want to compile a 2.6.19-rc6 kernel, you must download the 2.6.18 kernel sources
(http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.18.tar.bz2) in step 3 instead of kernel 2.6.18.2!
This is how you apply the 2.6.19-rc6 patch to kernel 2.6.18:
cd /usr/src
6 de 8 02/12/2009 11:43