GNU/Linux >> Znalost Linux >  >> Linux

Jak je do linuxového jádra přidána nová hardwarová podpora?

Podpora ovladačů funguje stejně jako u všech open source:někdo se rozhodne poškrábat své vlastní svědění.

Někdy ovladač dodává společnost poskytující hardware, stejně jako u Windows. Intel to dělá pro své síťové čipy, 3ware to dělá pro své řadiče RAID atd. Tyto společnosti se rozhodly, že je v jejich nejlepším zájmu poskytnout ovladač:jejich „svrbou“ je prodávat produkt uživatelům Linuxu, a to znamená zajistit že existuje ovladač.

V nejlepším případě společnost tvrdě pracuje na tom, aby dostala svůj ovladač do příslušné zdrojové základny, která je dodávána s linuxovými distribucemi. Pro většinu ovladačů to znamená linuxové jádro. U grafických ovladačů to znamená X.org. K dispozici jsou také CUPS pro ovladače tiskáren, NUT pro ovladače UPS, SANE pro ovladače skenerů atd. Zřejmou výhodou tohoto provedení je, že distribuce Linuxu vytvořené po přijetí ovladače budou mít podporu pro hardware ihned po vybalení. Největší nevýhodou je, že pro společnost je více práce koordinovat s projektem s otevřeným zdrojovým kódem, aby získal svůj ovladač, ze stejných základních důvodů je pro dvě samostatné skupiny obtížné cokoli koordinovat.

Pak existují společnosti, které se rozhodnou nabízet pouze zdrojový kód svého ovladače přímo. Obvykle si musíte stáhnout zdrojový kód ovladače z jejich webových stránek, vytvořit jej na vašem systému a nainstalovat ručně. Takové společnosti jsou obvykle menší nebo specializovaní výrobci bez dostatečného počtu zaměstnanců, kteří by mohli ušetřit námahu na koordinaci s příslušným open source projektem, aby dostali svůj ovladač do zdrojové základny tohoto projektu.

Jen málo společností poskytuje pouze binární ovladače namísto zdrojového kódu. Příkladem jsou pokročilejší 3D ovladače od společností jako NVIDIA. Typickým důvodem je to, že společnost nechce prozradit informace, o kterých se cítí být chráněna. Takové ovladače často nefungují s tolika linuxovými distribucemi jako v předchozích případech, protože společnost poskytující hardware se neobtěžuje přebudovat svůj ovladač, aby sledoval změny API a ABI. Koncový uživatel nebo poskytovatel distribuce Linuxu může upravit ovladač poskytnutý jako zdrojový kód tak, aby sledoval takové změny, takže v předchozích dvou případech lze ovladač obvykle nastavit tak, aby fungoval s více systémy než binární ovladač.

Když společnost neposkytuje ovladače pro Linux, někdo z komunity se to prostě rozhodne udělat. Existuje několik velkých tříd hardwaru, kde je to běžné, například u UPS a tiskáren. Vyžaduje to vzácného uživatele, který a) má hardware; b) má čas; c) má dovednost; a d) má sklon věnovat čas rozvoji řidiče. U populárního hardwaru to obvykle není problém, protože s miliony uživatelů Linuxu těchto pár lidí existuje. Dostanete se do problémů s neobvyklým hardwarem.


Linux
  1. Linux:Jak najít ovladač zařízení používaný pro zařízení?

  2. Linux – Jak najít implementace systémových volání jádra Linuxu?

  3. Linux – Jak linuxové jádro zná hlavní a vedlejší čísla zařízení?

  1. Linux – Jak zjistit, který modul poškozuje jádro?

  2. Jak fungují pravděpodobná/nepravděpodobná makra v linuxovém jádře a jaký je jejich přínos?

  3. Jak vyčistit mezipaměti používané linuxovým jádrem

  1. Linux – Kernel:Podpora jmenných prostorů?

  2. Linux – najít ovladač pro Linux pro sluchátka ve stromu jádra?

  3. Jak linuxové jádro určuje pořadí volání __init?