Z góry...
make
kompiluje i łączy obraz jądra. To jest pojedynczy plik o nazwie vmlinuz
.
make modules
kompiluje pojedyncze pliki dla każdego pytania, na które odpowiedziałeś M
podczas konfiguracji jądra. Kod obiektowy jest powiązany ze świeżo zbudowanym jądrem. (W przypadku pytań, na które odpowiedziano Y
, są one już częścią vmlinuz
, a w przypadku pytań, N
które zostały pominięte).
make install
instaluje wbudowane jądro do /vmlinuz
.
make modules_install
instaluje moduły jądra w /lib/modules
lub /lib/modules/<version>
.
Jeśli chodzi o dodanie go do listy dostępnych jąder, zajmuje się tym moduł ładujący. Jest różny dla każdego programu ładującego, ale grub
najczęściej występuje na x86 i amd64, więc opiszę to. To jest właściwie dość proste. Grub wygląda w /
, /boot
i /lib/modules
dla każdej rzeczy, która wygląda jak to może być jądro pracę i dodaje go. I tak, to jest uproszczony opis.
Te dodatkowe „okropne rzeczy” w dokumentacji Ubuntu to dodatkowe rzeczy do stworzenia deb
pakietu. Kiedy robisz to więcej niż dla siebie, znacznie lepiej jest go spakować. Zmienisz się w czasie.
Budowanie jądra i modułów jest oddzielone, ponieważ ludzie, którzy tego potrzebują (tj. Programiści jądra), często wprowadzają zmiany tylko w module. Mogą zastosować swoje zmiany, przebudować i zainstalować tylko moduły. Oszczędza to dużo czasu, gdy trzeba to robić 20 razy dziennie. Nigdy nie będzie aktualizowany o jedno make everything
polecenie. Zamiast tego działaj make && make modules && make install && make modules_install
tak, jak mówi dokumentacja . Proces kompilacji faworyzuje programistów jądra, a nie ciebie. I tak powinno być.
W rzeczywistości nie ma prawie żadnego powodu, aby ktokolwiek poza programistami jądra lub pakietami dystrybucyjnymi skompilował jądro. W prawie każdych okolicznościach funkcja jądra, którą chcesz, została już dla Ciebie zbudowana i jest dostępna w jednym z wstępnie zapakowanych jąder. Są wyjątki, ale w dzisiejszych czasach są niezwykle rzadkie.
Nie dlatego, że zniechęcam cię do budowania własnego jądra, tak naprawdę zachęcam do zrobienia tego. Myślę, że budowanie jądra od zera jest nieocenioną praktyką do nauki o tym, jak to wszystko tam działa. Po części dlatego, że być może pewnego dnia będzie stanowić wyjątek, który musi. Ale uczy też wiele o jądrze i procesie rozruchu w ogóle. Będziesz lepszą osobą, która to zrobiła.