How to compile a kernel suse 1

8
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: FAQForge Subscription Contribute Search News Forums Howtos How To Compile A Kernel - The SuSE Way | HowtoForge - Linux How... http://www.howtoforge.com/kernel_compilation_suse 1 de 8 02/12/2009 11:43

Transcript of How to compile a kernel suse 1

Page 1: How to compile a kernel   suse 1

Options For This HowtoFree 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 loginUsername:

Password:

FAQForgeSubscriptionContributeSearchNewsForumsHowtos

How To Compile A Kernel - The SuSE Way | HowtoForge - Linux How... http://www.howtoforge.com/kernel_compilation_suse

1 de 8 02/12/2009 11:43

Page 2: How to compile a kernel   suse 1

Remember Me?

Create a new account

Request new password

Ads by Google

Linux Tutorial

Linux Setup

Mosix Kernel

Openmosix 2.6

Who's onlineThere are currently 18 users and 2774 guests online.

HowtoForge ForumsHow 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

NewsDon'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

How To Compile A Kernel - The SuSE Way | HowtoForge - Linux How... http://www.howtoforge.com/kernel_compilation_suse

2 de 8 02/12/2009 11:43

Page 3: How to compile a kernel   suse 1

Recent commentsRe: 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

NewsletterSubscribe 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

You are here: Home » Howtos » Linux » Kernel » How To Compile A Kernel - The SuSE Way

How To Compile A Kernel - The SuSE Way

www.Totalviewtech.com Ads by Google

How To Compile A Kernel - The SuSE Way | HowtoForge - Linux How... http://www.howtoforge.com/kernel_compilation_suse

3 de 8 02/12/2009 11:43

Page 4: How to compile a kernel   suse 1

retweet

1tweet

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

How To Compile A Kernel - TheSuSE WayVersion 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

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_origcp /usr/lib/rpm/find-requires.ksyms /usr/lib/rpm/find-requires.ksyms_origcp /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

www.ManageEngine.com Ads by Google

How To Compile A Kernel - The SuSE Way | HowtoForge - Linux How... http://www.howtoforge.com/kernel_compilation_suse

4 de 8 02/12/2009 11:43

Page 5: How to compile a kernel   suse 1

[...]#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:

How To Compile A Kernel - The SuSE Way | HowtoForge - Linux How... http://www.howtoforge.com/kernel_compilation_suse

5 de 8 02/12/2009 11:43

Page 6: How to compile a kernel   suse 1

cd /usr/srcwget 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.bz2ln -s linux-2.6.18.2 linuxcd /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-runbzip2 -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-rungunzip -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

How To Compile A Kernel - The SuSE Way | HowtoForge - Linux How... http://www.howtoforge.com/kernel_compilation_suse

6 de 8 02/12/2009 11:43

Page 7: How to compile a kernel   suse 1

next

How To Compile A Kernel - The SuSE Way - Page

2

wget http://www.kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.19-rc6.bz2cd /usr/src/linuxbzip2 -dc /usr/src/patch-2.6.19-rc6.bz2 | patch -p1 --dry-runbzip2 -dc /usr/src/patch-2.6.19-rc6.bz2 | patch -p1

How To Compile A Kernel - The SuSE Way - Page 2

How To Compile A Kernel - The SuSE Way - Page 3

Copyright © 2006 Falko Timme

All Rights Reserved.

add comment | view as pdf | print: this | all page(s) |

Related Tutorials

How To Compile A Kernel - The Fedora Way

How To Compile A Kernel - The Ubuntu Way

Compile Kernel 2.6 under Debian Sarge

Debian-Kernel-Compile-Howto (Kernel 2.6)

Debian-Kernel-Compile-Howto (Kernel 2.4)

Please do not use the comment function to ask for help! If you need help, please use our forum.

Comments will be published after administrator approval.

Thanks!Submitted by Gorge (registered user) on Sat, 2008-05-10 03:23.

Thank you so much for this tutorial! It was extremely helpful!

reply | view as pdf

Thanks for this greatSubmitted by elsint (registered user) on Sat, 2007-05-12 07:36.

Thanks for this great tutorial!!

I compiled my openSUSE Linux 10.2 Kernel without a problem.

As ckelloug mentioned ksyms files are fixed on openSUSE 10.2 and do not need fixing.

Cagdas Cubukcu

reply | view as pdf

Suse 10.2Submitted by ckelloug (registered user) on Fri, 2007-01-12 17:00.

Note that OpenSuSE 10.2 has fixed the ksyms files described in step 2 so that they are correct. It still might be good to

check them though.

reply | view as pdf

Sponsored Links: Unified Communications: Thoughts, Strategies and Predictions

How To Compile A Kernel - The SuSE Way | HowtoForge - Linux How... http://www.howtoforge.com/kernel_compilation_suse

7 de 8 02/12/2009 11:43

Page 8: How to compile a kernel   suse 1

Join the discussion.

www.seamlessenterprise.com

IP Convergence

Integrate your wireless and wireline networks.

Learn how from the experts at Sprint.

www.seamlessenterprise.com

Wireless & Wireline Integration

Thoughts, strategies and solutions: join the discussion

www.seamlessenterprise.com

Unified Communications 2009

Join the Discussion. Now.

www.seamlessenterprise.com

Red Hat Virtual Experience - a free virtual event. Dec. 9th

Trial: IBM Cognos Express Reporting, Analysis & Planning

Free White Papers

Challenges and Characteristics of Enterprise

Continuous Integration

This whitepaper explores the challenges of

continuous integration in the ente...

Enterprise Authentication: Increasing Security

Without Breaking The Bank

Experts agree that username/password

authentication does not provide enough p...

Edison Group, Comparative Management

Costs Study: Oracle Database 11g vs. Mic...

In this whitepaper presented by the Edison Group,

reveals how Oracle Database...

More White Papers

Howtos | Mini-Howtos | Forums | News | Search | Contribute | SubscriptionSite Map/RSS Feeds | Advertise | Contact | Disclaimer | Imprint

Copyright © 2009 HowtoForge - Linux Howtos and TutorialsAll Rights Reserved.

How To Compile A Kernel - The SuSE Way | HowtoForge - Linux How... http://www.howtoforge.com/kernel_compilation_suse

8 de 8 02/12/2009 11:43