Gentoo Linux
Kernel Project

Daniel Drake

<dsd@gentoo.org>

The Linux Kernel

The heart of your Gentoo Linux installation

You don't “use” Linux

You are not supposed to know of its presence

It is a freestanding program which loses all of its state on every reboot

It is not bound into the user environment

What Linux Does

Allows programs to execute

Initializes your hardware for usage

Manages your memory

Manages your filesystems

Provides interfaces to allow “user-space” software to use and control the hardware

Linux Development

Multiple trees are being developed

Stable trees have even minor numbers

2.4, 2.6

Development trees have odd minor numbers

2.3, 2.5

2.4 and 2.6 are under active development

2.7 will be the next development tree

Will be released as Linux 3.0

Linux 2.4

Maintained by Marcelo Tosatti

Has been relatively stable for 3 years

Had many teething problems originally

No new drivers or features accepted

Bug and security fixes only

Lightly supported in Gentoo

Linux 2.6

Maintained by Andrew Morton

With popular sidekick Linus Torvalds

VERY active development

One quarter (1.5 million lines) of the kernel was changed in the first 6 months

Gentoo default for most architectures

Gentoo's Kernel Herd

About 10 developers

We maintain:

Most of the kernels in Portage

External kernel modules

Kernel-related utilities

Eclasses for the above

kernel@gentoo.org

Gentoo's Supported Kernels

gentoo-sources

vanilla-sources

hardened-sources

hppa/mips/pegasos/sparc-sources

Gentoo's Unsupported Kernels

ac-sources

ck-sources

mm-sources

usermode-sources

win4lin-sources

gentoo-sources-2.4

Maintained by Tim Yamin

plasmaroo@gentoo.org

Based on Marcelo's Linux 2.4 tree

Patched with:

new features

bug fixes

security fixes

performance enhancements

gentoo-sources-2.6

Maintained by Daniel Drake (me!)

dsd@gentoo.org

With help from others!

Based on Andrew's 2.6 tree

With a light patchset of our own:

Bug fixes

Security fixes

LiveCD features

We encourage all patches to go through the official Linux developers tree first.

Kernel Configuration

Linux requires manual configuration before compilation

You need to select support for your hardware, filesystems, etc.

Gentoo historically expects the user to do this manually

A relatively new automated option is genkernel

Manual Configuration

You work through a series of menu's selecting support for what you need.

Support for hardware peripherals (USB, FireWire, etc.)

Your IDE controller!

Filesystems that you use

Some other features (e.g. firewalling)

Has the advantage of producing a small, customised kernel

It can be a daunting and time-consuming process the first time

Manual Configuration Tips

Press / to open a search window

Always select support for your IDE controller

Don't build things as modules unless you have good reasons

Use lspci and lshw to figure out which hardware you have

Use “lspci -v | grep HCI” to find out what USB HCDs you have

Automatic Configuration

genkernel: Maintained by Tim Yamin

Builds the entire kernel (almost)

Most things are built as modules

A program scans your hardware at every bootup and loads the modules needed on your system

Easy to use

Time consuming to compile an entire kernel

Introduces some complications

Genkernel Sample Usage

Accept defaults and update your bootloader manually:

genkernel all

Use udev for device management

genkernel --udev all

Update bootloader config

genkernel --bootloader=grub all

Open menuconfig before compiling

genkernel --menuconfig all

The Future

Behind-the-scenes work on simplifying external kernel module installation

e.g. nvidia-kernel, ati-drivers

More automation of kernel installation

Integrating the process into Portage

More architectures to be supported by gentoo-sources

MIPS/HPPA/SH currently need lots of patches

New flavours of kernel

BSD, Solaris?

User Relations

(actually, User <====> Developer Relations)

User Relations

Fairly new project (resurrected)

Just a couple of developers

Contactable through user-relations@gentoo.org

We aim to build better bridges between the user and development communities

How to be a Good User

File bugs if you spot something wrong

http://bugs.gentoo.org

Help other users

Forums, IRC, etc.

Give feedback to developers

Email us! We don't bite.

Look in metadata.xml / ChangeLog

usage-feedback@gentoo.org

Use the testing tree (~arch)

Speaking to Developers

Everyone is a volunteer

(Mostly) friendly atmosphere

No bosses breathing down our necks

If you've been badly affected by a problem, please try not to take it out on us.

Lots of factors to every problem

We aren't being paid to do this. We don't have to fix it. But we will, if you talk to us nicely.

Remember this is a community project

Announcing Planet Gentoo

Users asked for a better way to stay aware of changes which developers are introducing.

Developers asked for a better way to communicate their work to users and other developers

The solution: Planet Gentoo

About Planet Gentoo

About 50 contributing developers

Each developer writes articles to their own web-log

They are automatically published on the Planet website

You can leave comments on some articles

We aim to keep the content on-topic

Thanks for listening!

dsd@gentoo.org

kernel@gentoo.org

docs-team@gentoo.org

user-relations@gentoo.org

usage-feedback@gentoo.org

2005-01-29T23:52:25