- Konu sahibi
- #1
Linux’ta sürücü kurmanın doğru yolu önce donanımın mevcut çekirdek sürücüsüyle çalışıp çalışmadığını kontrol etmek, ardından dağıtımınızın resmî depolarındaki uygun paket veya firmware’i kurmaktır. Linux’ta birçok sürücü çekirdeğin içinde bulunur; bu nedenle Windows’taki gibi her aygıt için ayrıca bir kurulum dosyası çalıştırmanız gerekmez. Özellikle ekran kartı, kablosuz ağ ve yazıcı sürücülerinde dağıtımınıza uygun paket seçilmelidir.
Terminalde PCI aygıtlarını, USB aygıtlarını ve yüklenmiş çekirdek modüllerini kontrol edin:
Kablosuz ağ için daha dar bir çıktı almak isterseniz:
Çıktıda
En güvenli tercih, dağıtımın resmî deposudur. Aşağıdaki örnek Ubuntu’da eksik firmware için linux-firmware paketinin gerektiği doğrulanmış durumu anlatır. Debian ve diğer dağıtımlar aynı paket adlarını kullanmak zorunda değildir:
Başarılı kurulumdan sonra aygıtı gerçek işleviyle denemek, yalnız paket kurulumunun başarı mesajından daha güçlü bir kontroldür. Bazı aygıtlar kullanıcı alanındaki bileşenlere de ihtiyaç duyar. Paket kurulduğu hâlde aygıt çalışmıyorsa
Yukarıdaki tabloda aygıt türlerinin farklı gereksinimleri görülür; hepsi için tek paket seçmeyin.
Ekran kartlarında üreticinin sitesinden indirilen genel kurulum betikleri, dağıtım çekirdeğiyle uyumsuzluk çıkarabilir. Önce dağıtımın önerdiği paket yöneticisini kullanın. NVIDIA gibi kapalı sürücü gerektirebilen aygıtlarda Secure Boot, çekirdek güncellemeleri ve mevcut açık sürücüyle çakışma ihtimali ayrıca değerlendirilmelidir. Kurulumdan önce çalışan grafik oturumunu kaybetme riskine karşı önemli işlerinizi kaydedin.
Kaynak koddan modül derlemek son seçenek olmalıdır. Bunun için doğru çekirdek başlıkları, derleme araçları ve genellikle DKMS gerekir. Çekirdek güncellendiğinde modülün yeniden derlenmesi gerekebilir. Sürücü yalnızca rastgele bir forumdaki komutla kuruluyorsa, hangi çekirdeğe ve dağıtıma göre hazırlandığı açıklanmıyorsa işlemi durdurun. Üreticinin resmî dokümantasyonu ile dağıtım paketinde açık bir uyumsuzluk olmadığı sürece depo paketini tercih edin.
Önce donanımı ve mevcut sürücüyü belirleyin
Terminalde PCI aygıtlarını, USB aygıtlarını ve yüklenmiş çekirdek modüllerini kontrol edin:
Kod:
lspci -k
lsusb
lsmod
Kablosuz ağ için daha dar bir çıktı almak isterseniz:
Kod:
lspci -nnk | grep -A3 -i -E 'network|wireless|ethernet'
Çıktıda
Kernel driver in use satırı görünüyorsa aygıt için bir sürücü zaten kullanılıyordur. Bu durumda yeni bir sürücü kurmadan önce sorun gerçekten sürücü eksikliği mi, yoksa firmware, ağ yapılandırması veya grafik oturumu problemi mi kontrol edilmelidir. Aygıt listeleniyor ancak kullanılmıyorsa Kernel modules satırındaki modül adı sonraki teşhis için önemlidir.| Aygıt | İlk tercih | Kontrol |
|---|---|---|
| Kablosuz ağ | Çekirdek modülü ve resmî firmware paketi | lspci -nnk, journalctl -k -b |
| AMD veya Intel grafik | Dağıtımla gelen çekirdek ve Mesa paketleri | lspci -k, grafik ayarları |
| NVIDIA grafik | Dağıtımın önerdiği açık veya üretici sürücüsü paketi | Dağıtımın sürücü önerisi ve lspci -k |
| Yazıcı veya tarayıcı | CUPS, SANE veya üreticinin resmî Linux paketi | Aygıtı ilgili uygulamada test etme |
Dağıtım deposundan sürücü veya firmware kurma
En güvenli tercih, dağıtımın resmî deposudur. Aşağıdaki örnek Ubuntu’da eksik firmware için linux-firmware paketinin gerektiği doğrulanmış durumu anlatır. Debian ve diğer dağıtımlar aynı paket adlarını kullanmak zorunda değildir:
- Paket listesini yenileyin:
sudo apt update. İşlem hata verirse önce ağ bağlantısını ve depo yapılandırmasını düzeltin. - Paket bilgisini inceleyin:
apt show linux-firmware. Günlükte istenen dosyanın bu paketle sağlandığını doğrulayın. Her ağ arızasını aynı paketi yükleyerek çözmeye çalışmayın. - Paket adı sisteminizde mevcutsa kurun. Örnek:
sudo apt install linux-firmware. Paket bulunamazsa bu komutu zorlamayın; dağıtımınız farklı bir paket adı veya etkin olmayan bir depo kullanıyor olabilir. - Kurulumdan sonra dağıtımın önerdiği yeniden yükleme veya yeniden başlatma adımını izleyin. Yeniden başlatma gerekiyorsa açık işleri kaydedip uygun zamanda yapın; çalışan uzak sunucuyu plansız yeniden başlatmayın.
- Aygıtı tekrar test edin ve
lspci -kveya ilgili sistem ayarlarıyla sürücünün kullanıldığını doğrulayın.
Başarılı kurulumdan sonra aygıtı gerçek işleviyle denemek, yalnız paket kurulumunun başarı mesajından daha güçlü bir kontroldür. Bazı aygıtlar kullanıcı alanındaki bileşenlere de ihtiyaç duyar. Paket kurulduğu hâlde aygıt çalışmıyorsa
journalctl -k -b çıktısında firmware veya modül hatalarını arayın. firmware: failed to load benzeri bir mesaj, çoğunlukla sürücü modülünden ayrı firmware dosyasının eksik olduğunu belirtir.Sürücü türüne göre karar verin
Yukarıdaki tabloda aygıt türlerinin farklı gereksinimleri görülür; hepsi için tek paket seçmeyin.
Ekran kartlarında üreticinin sitesinden indirilen genel kurulum betikleri, dağıtım çekirdeğiyle uyumsuzluk çıkarabilir. Önce dağıtımın önerdiği paket yöneticisini kullanın. NVIDIA gibi kapalı sürücü gerektirebilen aygıtlarda Secure Boot, çekirdek güncellemeleri ve mevcut açık sürücüyle çakışma ihtimali ayrıca değerlendirilmelidir. Kurulumdan önce çalışan grafik oturumunu kaybetme riskine karşı önemli işlerinizi kaydedin.
Kaynak koddan sürücü kurmak ne zaman gerekir?
Kaynak koddan modül derlemek son seçenek olmalıdır. Bunun için doğru çekirdek başlıkları, derleme araçları ve genellikle DKMS gerekir. Çekirdek güncellendiğinde modülün yeniden derlenmesi gerekebilir. Sürücü yalnızca rastgele bir forumdaki komutla kuruluyorsa, hangi çekirdeğe ve dağıtıma göre hazırlandığı açıklanmıyorsa işlemi durdurun. Üreticinin resmî dokümantasyonu ile dağıtım paketinde açık bir uyumsuzluk olmadığı sürece depo paketini tercih edin.
Sık yapılan hatalar
- Aygıt zaten çalışırken başka bir sürücüyü zorla kurmak: çalışan çekirdek modülünü ve bağımlılıklarını bozabilir.
- Donanım kimliğini kontrol etmeden paket seçmek: aynı üreticinin farklı yongaları farklı modüller kullanabilir.
- Firmware ile sürücüyü aynı şey sanmak: modül yüklü olsa bile gerekli firmware dosyası yoksa aygıt başlatılamayabilir.
- Başka dağıtımın paketini veya kurulum betiğini kullanmak: paket bağımlılıkları ve çekirdek entegrasyonu bozulabilir.
- Kurulumdan sonra doğrulama yapmamak: paketin kurulmuş olması aygıtın çekirdek tarafından kullanıldığı anlamına gelmez.