Как Linux может работать на разных микропроцессорах? Компилируется ли ядро Linux каждый раз при установке?
Каждый скомпилированный / установленный образ ядра создается для одного конкретного микропроцессора (или обычно семейства микропроцессоров).
Исходный код частично не зависит от оборудования (= множество драйверов, планировщиков, ...) и частично зависит от платформы (= низкоуровневое взаимодействие с оборудованием, ...), но полученный двоичный файл является всегда специфичен для одной архитектуры.
Ядро Linux, поскольку каждая скомпилированная программа, зависит от платформы.
Хакеры ядра - очень опытные программисты, поэтому большая часть кода ядра написана с учетом платформы (например, с использованием макроса препроцессора), оставшаяся часть должна зависеть от архитектуры либо из-за проблем с производительностью, либо из-за того, что это ограничено некоторыми аппаратными функциями, отсутствующими в других арках, и так далее.
Как правило, это не предел возможности компиляции ядра на Arch A и создания ядра, которое будет работать на Arch B, этот процесс известен как кросс-компиляция и выполняется с помощью кросс-компилятор
Итак, ответ таков это не быть составленным во время установки, потому что он может быть скомпилирован или кросс-скомпилирован поставщиком вашего дистрибутива. Вы можете перекомпилировать его на своей машине, если вам нужно его настроить.
Обычные шаги, чтобы заставить Linux работать на конкретной платформе:
Повторите для каждой платформы.
Обычно он компилируется перед установкой. Но да, он компилируется для каждой платформы отдельно.