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


15

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

Ответы:


16

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

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

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


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

8

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

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

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


2
«Единственный расход - это место на жестком диске, которого достаточно». Извините, но это недальновидно. Похоже, что вы предполагаете современную настольную среду, но есть гораздо больше случаев использования, когда пространство для хранения стоит дорого.
— Легкость гонок с Моникой

@LightnessRacesinOrbit: Честная точка зрения. Некоторые из нас склонны игнорировать или забывать о таких вещах, как встроенные системы. Примерно месяц назад я написал простую программу telnet на Python и весело проводил время в моем старом модеме ADSL. Удивительно, сколько вы можете вписать в систему Linux с только 6 МБ памяти. :)
— PM 2Ring

@ PM2Ring: И вы не получите много загружаемых модулей на одном из них;)
— Гонки на легкость с Моникой

1
Также обратите внимание, что существует потенциальное улучшение скорости от создания драйверов, в отличие от создания всего модуля, это снижает фрагментацию памяти и позволяет лучшую оптимизацию кэша с помощью компоновщика.
— Vality

4

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

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

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.