# Dukumentacja kompilowania kernela

## Suami777

Witam, poszukuje jakiegoś dość obszernego poradnika, dokumentacji tutorialu etc. dotyczącego w jaki sposób ręcznie kompilować jądro.

Do tej pory używam genkernel'a do skompilowania jądra ale chciałbym się nauczyć to robić samemu, ale dokumentacja na stronie gentoo nie jet dokładna - nie opisuje dużej części opcji które znajdują się w menu kompilacji.

Czy możecie mi coś polecić ?

----------

## SlashBeast

Za szybko sie te opcje zmieniaja. Od tego masz 'help' przy kazdej opcji, by wiedziec, co robi.

----------

## Suami777

czyli uczyć się na oślep ?  :Wink: 

----------

## sherszen

Nie, czytać ze zrozumieniem i wiedzieć co się chce osiągnąć. Dokumentacja Gentoo pokazuje jak utworzyć minimalny działający kernel. Wszystkich opcji przecież nie musisz włączać.

----------

## Jacekalex

 *Suami777 wrote:*   

> czyli uczyć się na oślep ? 

 

Jak?

Kompilacja jajka, to trzy polecenia po kolei, i dopisanie nowego jajka do gruba.

Całą kompilację masz wyłożoną czarno na białym w pliku README w źródłach kernela.

Najtrudniejszy jest konfig kernela, ale na to też są sposoby, najbliższy opis tutaj:

https://forums.gentoo.org/viewtopic-t-885146.html

Do tego masz w źródłach kernela, w katalogu scripts taki magiczny srypt ver_linux, który bardzo grzecznie wypisze na ekranie wszyskie załadowane moduły.

Użycie banalnie proste:

```
/usr/src/linux/scripts/ver_linux
```

Pozdro

 :Cool: 

----------

## Suami777

Super, dzięki   :Smile: 

mam tylko pytanko o stworzenie initrd w dokumentacji jest napisane żeby stworzyć go mkinitrd -o ale takiej komendy nie mam, wyszukujac emergem tez nie znajduje mi nic, jak stworzyc initrd ?

----------

## Jacekalex

Initrd nie jest niezbędny, jeśli system plików, jaki masz na rootfs oraz sterownik kontrolera dysku wbudujesz na stałe w kernel, to będzie wstawał bez żadnego initrd.

Initrd jest używany we wszystkich dystrybucjach, które dostarczają gotowe jajo, kiedy nie wiadomo, na jakim sprzęcie będzie taki system uruchomiony, wtedy w takim initrd jest XX sterowników potrzebnych do startu systemu w różnych konfiguracjach sprzętowych.

Genkernel też buduje jajo z initrd, z tych samych powodów.

Ja initrd nie używam w ogóle.  :Wink: 

Pozdro

 :Cool: 

----------

## SlashBeast

Male sprostowanie, nie initrd a initramfs, initrd juz 'od wiekow' nie jest uzywany.

Generalnie, initramfs jest istotny gdy musisz cos zrobic, zanim zamontujesz rootfs. np. poskladac raida, lvm, zamontowac zasoby po nfs i inne czary.

----------

## sq9sho

To może pomóc http://www.linux.org/threads/%EF%BB%BFthe-linux-kernel-introduction.4203/.

----------

