Разные дистрибутивы (но одна и та же версия ядра) имеют одинаковую аппаратную поддержку

15

Насколько я знаю, драйверы устройств находятся в ядре Linux. Например, скажем, дистрибутив GNU / Linux A имеет ту же версию ядра, что и дистрибутив GNU / Linux B. Означает ли это, что они имеют одинаковую аппаратную поддержку?

benbalach
источник

Ответы:

16

Краткий ответ: нет.

Поддержка драйвера для той же версии ядра настраивается во время компиляции, а также позволяет загружать модули. Таким образом, фактические устройства, поддерживаемые в дистрибутиве, зависят от включенных скомпилированных в драйверы устройств, скомпилированных загружаемых модулей для устройств и фактически установленных модулей.

Существуют также устройства, не включенные в ядро ​​как таковые, которые может поставлять дистрибутив. В последнее время я не сталкивался с проблемами, но когда я начал работать с Linux дома, я использовал SuSE, хотя они имели те же или похожие версии ядра, что и RedHat, SuSE включала в себя драйверы ISDN и пакеты «из коробки» (это было назад 1998).

Энтон
источник
+ несвободные модули, которые дистрибутивы могут включать или не включать.
Брайам
8

В некотором роде.

Хотя то, что говорят другие (что разные дистрибутивы по-разному собирают ядра), технически верно, следует отметить, что, поскольку ядро ​​Linux имеет поддержку загружаемых модулей, большинство дистрибутивов создают поддержку для всего аппаратного обеспечения, которое они могут, потому что они тоже могут - это работает, потому что драйверы построены как модули, и тогда нет никакой необходимости загружать ядро ​​в память. Единственный расход - это место на жестком диске, которого много.

Основные различия (как уже было упомянуто ранее) будут связаны с различными политиками для каждого дистрибутива в отношении того, как они обрабатывают несвободные программы, такие как двоичные объекты встроенного программного обеспечения.

strugee
источник
2
«Единственный расход - это место на жестком диске, которого достаточно». Извините, но это недальновидно. Похоже, что вы предполагаете современную настольную среду, но есть гораздо больше случаев использования, когда пространство для хранения стоит дорого.
Легкость гонок с Моникой
@LightnessRacesinOrbit: Честная точка зрения. Некоторые из нас склонны игнорировать или забывать о таких вещах, как встроенные системы. Примерно месяц назад я написал простую программу telnet на Python и весело проводил время в моем старом модеме ADSL. Удивительно, сколько вы можете вписать в систему Linux с только 6 МБ памяти. :)
PM 2Ring
@ PM2Ring: И вы не получите много загружаемых модулей на одном из них;)
Гонки на легкость с Моникой
1
Также обратите внимание, что существует потенциальное улучшение скорости от создания драйверов, в отличие от создания всего модуля, это снижает фрагментацию памяти и позволяет лучшую оптимизацию кэша с помощью компоновщика.
Vality
4

Нет потому что :

  • каждый дистрибутив делает разные варианты при выборе того, какие функции ядра включены при сборке ядра из исходного кода. Я не ожидаю, что корпоративный дистрибутив, который фокусируется на серверном оборудовании, обеспечит большую поддержку, например, широкого спектра звуковых карт.

  • некоторые драйверы все еще зависят от встроенного программного обеспечения (с закрытым исходным кодом), предоставляемого поставщиком, даже для драйвера Linux с открытым исходным кодом, включенного в ядро. Разные дистрибутивы имеют разные политики в отношении их включения. В некоторых примерах проверьте, например, несвободный пакет прошивки Debian .

HBruijn
источник