# [KERNEL] Kompilacja kernela 2.6.16

## Crasher

Witam. 

Jestem na etapie instalacji gentoo. Doszedlem do momentu, w ktorym nalezy skompilowac kernel. No wlasnie i tu jest problem. Nigdy tego nie robilem, a jest tam tyle opcji, ze nie wiem jak sie wogole za to zabrac. Udalo mi sie dowiedziec troszke o co niektorych rzczach, ale mimo wszystko nie wiem co mam zaznaczac, a czego nie. Mam nadzieje, ze nikt od razu na mnie za to nie wskoczy i ktos mi pomoze skompilowac to jajko. Byc moze w przyszlosci przyda sie to komus jako kompilacja jadra dla laptopa. 

Moj sprzet : Toshiba Satellite L10.

Wypis z LSPCI :

```

-Host Bridge: Intel Corp. 82852/82855 GM/GME/PM/GMU Proc to I/O Cart (rev. 02)

-System peripled(chyba zle spilalem): to samo co wyzej.

-VGA: Intel Corp. 82852/82855GM 

-Display Controller: Intel Corp. 82852/82855GM

-USB: 82801DB/DBM/ICH4/ICH4-L/ICH4-M)

-PCI Bridge: 82801 Mobil PCI Bridge

-ISA Bridge: 82801DBM(ICH4-M) LPC Interface Bridge

-IDE Interface: 82801DBM(ICH4-M) IDE Controller

-SMBus: 820801DB/DBL/DBM(ICH4-M) SMBus Controller

-Audio: 820801DB/DBL/DBM(ICH4-M) AC '97 Audio Controler

-Modem: 820801DB/DBL/DBM(ICH4-M) AC '97 Modem Controler

-Card Bus: PCI 1410 PC Card Controler Texas

-Ethernet: Realtek RTL-8139/8139C...

```

```

Code maturity level options

[ ] Prompt for development and/or incompete code/drivers

```

Domyslam sie, ze ta opcja powinna byc wkompilowana w jadro na stale. Sterowniki w fazie tworzenia. Powinna byc zaznaczona.

```

General Setup

( ) Local version – append to krnel release (NEW)

[ ] Automaticaly append version information to the version string (NEW)

[ ] Support for paging – of anonymous memory (swap)

[ ] System V IPC

[ ] POSIX Message Queues

[ ] BSD Process Accounting

[ ] Sysctl support

[ ] Auditing support

[ ]    Enable system-call auditing support

[ ] Kernel .config support

[ ] Cpuset support (NEW)

( ) Initramfs source file(s) (NEW)

[ ] Optimize for size (Look out for broken compilers!)

[ ] Configure standard kernel features (for small systems) --->

--- Configure standard kernel features (for small systems)

[ ] Load all symbols for debugging/kksymoops (NEW)

[ ] Do an extra kallsyms pass (NEW)

--- Support for hot-pluggable devices

[ ] Enable support for printk (NEW)

[ ] BUG() support (NEW)

[ ] Enable ELF core dumps (NEW)

[ ] Enable full-sized data structures for core (NEW)

[ ] Enable futex support (NEW)

[ ] Enable eventpoll support (NEW)

[ ] Use full shmem filesystem (NEW)

(0)   Function alignment (NEW)

(0)   Label alignment (NEW)

(0)   Loop alignment (NEW)

(0)   Jump alignment (NEW)

[ ] Use full SLAB allocator (NEW)

Po zaznaczeniu “Configure standard kernel features” po “( ) Initramfs source file(s)” pojawia się : 

[ ] Enable 16-bit UID system calls (NEW)

[ ] Enable VM86 support (NEW)

```

I tu pojawiaja sie juz problemy. Napewno wiem, ze powinno sie zaznaczyc swapa. Powinien byc wkompilowany na stale. Tak?

System V IPC - z tego co wyczytalem to wewnetrzny proces komunikacji, ale nie wiem czy zaznacza to czy nie. Mniej wiecej o kazdej z opcji co wiem, ale nie mam pojecia, ktore zaznaczyc. 

Prosze o pomoc jesli to mozliwe. 

Jezeli ktos wyrazi chec pomocy, pozniej dolacze dalsze czesci kodu. 

Pozdrawiam

----------

## Raku

 *Crasher wrote:*   

> Jestem na etapie instalacji gentoo. Doszedlem do momentu, w ktorym nalezy skompilowac kernel. No wlasnie i tu jest problem. Nigdy tego nie robilem, a jest tam tyle opcji, ze nie wiem jak sie wogole za to zabrac.

 

użyj genkernela lub zmodyfikuj konfigurację kernela dostępną pod LiveCD (domyślnie powinna być w /boot po uruchomieniu LiveCD)

 *Quote:*   

> 
> 
> ```
> Code maturity level options
> 
> ...

 

Pod pytajnikiem dostępna jest pomoc - krótki opis danej opcji.

 *Quote:*   

> 
> 
> ```
> 
> General Setup
> ...

 

jak już pisałem - poczytaj opis każdej opcji z menu pomocy. 

 *Quote:*   

> Jezeli ktos wyrazi chec pomocy, pozniej dolacze dalsze czesci kodu. 

 

nie no, chyba nie masz zamiaru przeklejać tu wszystkich dostępnych menu z konfiguratora kernela?

Opis każdej opcji jest dostępny, dodatkowo istnieje coś takiego jak /usr/src/linux/doc*. Wyjaśniać tu, do czego służy KAŻDA opcja nie ma sensu, bo to zbyt obszerny materiał i zapewne niewielu będzie to wiedzieć (ja od razu się przyznam, że WSZYSTKICH opcji nie znam)

Uzyj genkernela do kompilacji, zaznacz wszystko jako moduły - i powinno działać.

----------

## Crasher

A moze mi ktos podpowiedziec jaki mam procesor wybrac? O opcjach kernela nie ma celerona m, wiec mam wybrac pentium m, tak jak w make.conf? Czy moze cos innego ?

Pozdrawiam

----------

## Ph0eniX

 *Crasher wrote:*   

> A moze mi ktos podpowiedziec jaki mam procesor wybrac? O opcjach kernela nie ma celerona m, wiec mam wybrac pentium m, tak jak w make.conf? Czy moze cos innego ?
> 
> Pozdrawiam

 

sprawdz: "uname -m"

Wyglada ze masz Celeron M.

----------

## Crasher

No mam Celerona M, ale w kernelu nie mozna wybrac Celerona M, jest tylko Pentium M i inne. To jaki dla Celerona mam wybrac ?

Pozdrawiam

----------

## Ph0eniX

 *Crasher wrote:*   

> No mam Celerona M, ale w kernelu nie mozna wybrac Celerona M, jest tylko Pentium M i inne. To jaki dla Celerona mam wybrac ?
> 
> Pozdrawiam

 

A co "uname -m" pokazuje? (prawdopodobnie i686 to tego uzyj).

----------

## Crasher

Tak. Pokazuje i686. "uname -p" pokazuje "Intel Celeron M...".

W make.conf wybieralem flagi dla Pentium M, czy uzycie tego w opcjach kernela jest niewlasciwe? To juz tylko z czystej ciekawosci, uzyje i686 tak jak radzisz. 

Pozdrawiam

----------

## Crenshaw

 *Crasher wrote:*   

> Tak. Pokazuje i686. "uname -p" pokazuje "Intel Celeron M...".
> 
> W make.conf wybieralem flagi dla Pentium M, czy uzycie tego w opcjach kernela jest niewlasciwe? To juz tylko z czystej ciekawosci, uzyje i686 tak jak radzisz. 
> 
> Pozdrawiam

 

Kernel kompiluje sie z wlasnymi flagami.

----------

## Crasher

Co znaczy "z wlasnymi"?

----------

## Ph0eniX

 *Crasher wrote:*   

> Co znaczy "z wlasnymi"?

 

To znaczy ze kompilacja kernela nie uzywa make.conf.

----------

## Crasher

No to to wiem. Chodzilo mi tylko o to, ze skoro dla make.conf ustawia sie flage Pentium M, nawet dla Celerona M, to dlaczego w opcjach kernela ustawia sie rodzine procesorow na i686, a nie tak jak w make.conf dla Pentium M. To, ze make.conf i kernel ustawia sie osobno to rozumiem, pytam tylko z czystej ciekawosci...

----------

## mbar

 *Crasher wrote:*   

> dlaczego w opcjach kernela ustawia sie rodzine procesorow na i686, a nie tak jak w make.conf dla Pentium M

 

A kto tak powiedział?

----------

## Crasher

Wyzej mi tak zaproponowano, dlatego pytam jak jest poprawnie i co powinienem w koncu ustawic zeby bylo poprawnie..

Pozdrawiam

----------

## mbar

jedno i drugie jest poprawne

----------

## Crasher

Czyli dla Celerona M w kernelu moge wybrac i686 lub Pentium M, tak?

Dzieki,

Pozdrawiam

----------

## Ph0eniX

 *Crasher wrote:*   

> Czyli dla Celerona M w kernelu moge wybrac i686 lub Pentium M, tak?
> 
> Dzieki,
> 
> Pozdrawiam

 

Wybierz i686.  Jak bedziedsz mial gotowy system, pobaw sie z Pentium M (skompiluj drugi kernel i dodaj go to boot loadera) - wtedy zobacz ktory szybciej/lepiej chodzi.

----------

