Компиляция ядра линукса при запуске ОС

помогите разобраться, я не понимаю как именно происходит компиляция ядра линукса при запуске ОС. Я так понимаю, что сначала разработчики дистрибутива скачивают ядро с офф сайта, дорабатывают его и компилируют, потом образно прикручивают GNU или что-то наподобие него и получается полноценная ОС. Но когда я запускаю ОС, она сначала компилируется, определяются аппаратные устройства, выделяется память и тд, я не понимаю на каком уровне происходит компиляция, ведь ОС еще не запущена, чтобы она могла скомпилировать его.


Ответы (1 шт):

Автор решения: Егор Гаврилов

Компиляция ядра не происходит при запуске ОС. То, что вы видите на экране - это именно процесс запуска ядра. Ядро уже скомпилировано на стороне разработчиков дистрибутива, и распространяется в готовом виде через репозиторий дистрибутива в виде самых обычных пакетов (RPM/DEB, например).

Также ядро можно скомпилировать вручную. Вот гайд (на английском) для Fedora: https://docs.fedoraproject.org/en-US/quick-docs/kernel-build-custom/. Также есть неофициальный гайд для Ubuntu (тоже на английском) - https://davidaugustat.com/linux/how-to-compile-linux-kernel-on-ubuntu.

→ Ссылка