Linux sürücüleri nasıl çalışır ve onları nerede bulurum? (özellikle NIC sürücüsü)


12

Bir sürücünün Linux altında nasıl çalıştığını merak ediyorum. Sürücüler düzenlenebilen tek bir dosya mıdır? Kullanılan mevcut sürücülerin bir listesi var mı veya her aygıt için onları bulmak için farklı bir yer var mı?

Özellikle ağ bağdaştırıcımın sürücüsü hakkında bilgi edinmek istiyorum.

Bazı iyi belgelerin nerede olduğunu biliyorsanız, bunu da okumak isterim.

Yanıtlar:


7

Sürücüler diğer programlara çok benzer, birden fazla kaynak dosyadan oluşabilir. Linux aygıt sürücüleri doğrudan çekirdeğe veya çekirdek modülüne derlenebilir. Çekirdek modülleri, dinamik olarak yüklenebilme avantajına sahiptir (yani, bunları kullanmak için yeni bir çekirdek derlemenize gerek yoktur).

Açıkçası her zaman Linux kaynak koduna bakabilirsiniz, ancak bu ilk başta göz korkutucu bir görev olabilir. Ancak, Linux'taki her şeyde olduğu gibi sürücüler dosyalardır. Bu, diğer programların VFS arayüzü üzerinden eriştiği anlamına gelir. Örneğin, CDROM'u ioctl()cihaz dosyasını kullanarak aramalar yoluyla kontrol edebilirsiniz .

Linux Aygıt Sürücülerine göz atmanızı şiddetle tavsiye ederim . Serbestçe kullanılabilir ve sorularınıza cevap verecektir. Özellikle, basit bir "Merhaba, Çekirdek" modülünün nasıl oluşturulacağını gösteren 2. bölümü okuyabilirsiniz. İstediğinizden çok daha fazlası olabilir, ancak ilgilendiğiniz parçaları ve parçaları okuyabilirsiniz. Ve ücretsizdir. P


3

Linux sürücüleri çekirdekle veya modül olarak derlenmiş olarak üretilmiştir. Alternatif olarak, sürücüler bir kaynak ağaçtaki çekirdek başlıklarına karşı oluşturulabilir. Şu anda kurulu olan çekirdek modüllerinin bir listesini yazabilir lsmodve yüklüyse, kullanarak veri yolu üzerinden bağlanan çoğu cihaza göz atabilirsiniz lspci.

Geçerli çekirdek sürümünün NIC'niz için sürücü desteği yoksa, satıcıda sürücüleri bulmanız gerekir ve bir çekirdek modülünü kaynaktan (çekirdek başlıklarınıza karşı) derlemeniz gerekir.


1

Çoğu zaman NIC'niz gibi bir şey otomatik olarak görünmüyorsa, donanım üreticisinin sitesine gitmeniz ve linux sürümüne sahip olup olmadıklarını görmeniz gerekir.

Daha genel anlamda, linux sürücüleri kütüphaneler veya modüller biçiminde olma eğilimindedir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.