Harici sürücüleri otomatik kurun

illedelinux

Decipat
Katılım
27 Mayıs 2020
Mesajlar
1.911
Makaleler
2
Çözümler
21
Daha fazla  
Cinsiyet
Erkek
firmware-driver.png


Bu işlem burada paylaştığım işleme ek niteliğindedir.

GNU/Linux dağıtımları çoğumuzun bildiği gibi felsefesi gereği dahili sürücüleri veya henüz destek süresine girmemiş sürücüleri varsayılan olarak sisteme eklemez. Harici sürücüler kullanıcıların kendisi el ile (manuel) olarak kurması gerekir. Yeni bir kullanıcının sürücüyü tespit etmesi, arama motorlarında araması ve kurması malumunuz üzere zordur. Böyle bir durumda sürücüyü tespit eden, kendisi indiren ve yine kendisi otomatik olarak kuran bir işlem paylaşacağım. Bu işlemi bir defa yaptıktan sonra işinizi bir hayli kolaylaştıracaktır.
Bu işlemin fonksiyonunu baştan belirtmek gerekirse Nvidia gibi sürücüler için değildir, bilgisayarın iç-dış bütün donanımını çalıştıran firmware sürücüler içindir. Firmware, bilgisayarın her noktasında olan birer yazılımdır. Örneğin bir uzaktan kumandanın tuşu, klavyenin özellikleri, bağlantı noktaları, girişler her şey firmware yazılımları ile çalışır. Bu işlem de donanımda olan yüzlerce firmware yazılımının sürücülerini bulur ve kurar.

Bu kısa açıklama ile umarım konunun içeriği anlaşılmıştır.
Şimdi firmware sürücülerini otomatik kuran bu işleme başlayalım.

İlk olarak install-missing-kernel-firmware adında metin editörüyle boş bir dosya oluşturun.

Bu komut ile çalışma izni verin.
Kod:
chmod -R 755 install-missing-kernel-firmware

Dosyanın içine Mikko Rantalainen adındaki arkadaşımız tarafından yazılmış alttaki içeriği yapıştırın.
Kod:
#!/bin/bash

[[ $# -eq 0 ]] && echo -e "\nUsage: $0 <missing-driver-name>\n" && exit 1

MISSING_DRIVER="$1"

BLUE="\033[1;34m"

NC="\033[0m"

NL="\n"

TEMPFILE="$(tempfile)"

MISSING_DRIVER="$(printf "$1" | sed 's/\/lib\/firmware\///')"

echo -e "${NL}${BLUE}Downloading missing driver $MISSING_DRIVER...${NC}${NL}"

curl -o "$TEMPFILE" "https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/plain/${MISSING_DRIVER}" || exit 2

echo -e "${NL}${BLUE}Installing downloaded driver...${NC}${NL}"

sudo mv -v "$TEMPFILE" "/lib/firmware/${MISSING_DRIVER}" || exit 3

echo -e "${NL}${BLUE}Updating all kernels...${NC}${NL}"

read -p "Press enter to continue or CTRL+C to skip updating all kernels > "

sudo update-initramfs -u -k all

echo -e "${NL}${BLUE}Finished.${NC}${NL}"

Aynı dizinde boşluğa sağ tık ile uçbirimi açın ve alttaki komut ile dosyayı gerekli yere gönderin.
Kod:
sudo cp -r install-missing-kernel-firmware /bin

Dosyayı gönderdiğiniz dizine girin.
Kod:
sudo cd /bin

Sistemde eksik sürücü olup-olmadığına bakın.
Kod:
sudo update-initramfs -u

Eksik sürücü varsa "Eksik sürücü var, kurayım mı?" diye soru sorar, evet demek için ctrl+d tuşlarına basın. Kurulum bitirdiyse alttaki komutu girerek yeniden kontrol edin. Bu komut eksik sürücü yoksa çıktı vermez, eksik sürücü varsa aynı soru tekrar gelir ve ctrl+d tuşuyla devam edersiniz.
Kod:
sudo update-initramfs -u

Benim denemelerimde üç tane eksik sürücüyü buldu, indirdi ve kurdu, umarım sizin de işinize yarar.
 
Son düzenleme:
Sağolun. Bu kaynağın Arch Linux için olanı var mı?

Bu aslında Arch Linux için de geçerli olduğunu tahmin ediyorum, Arch Linux için "sudo update-initramfs -u" komutun karşılığını bulursan olabilir. Karşılığı benim arşivde var ama şimdi baktım bulamadım.
 
Son düzenleme:
Sürücü değil bunlar, eksik firmware dosyalarını tamamlıyor. Sisteme kurulan güncel bir çekirdekle gelen sürücü modüllerinin, bazen yeni bazen güncellenmiş firmware dosyalarına ihtiyacı olabilir. initramfs güncellenirken bunların bulunamadığına dair mesaj basılır ya, işte o! Liquorix deposunda güncel çekirdeğe ek olarak güncel firmware dosyaları bulunmuyor, ama Xanmod çekirdeği kullandığınızda, bunun deposundan güncel firmware paketi de yükleniyor. Kısaca, bu şekilde bir sürücü kurmuş olmazsınız, sürücünün çalışmasına yardımcı bir ikili blob programcık eklemiş olursunuz.
 
Sürücü değil bunlar, eksik firmware dosyalarını tamamlıyor. Sisteme kurulan güncel bir çekirdekle gelen sürücü modüllerinin, bazen yeni bazen güncellenmiş firmware dosyalarına ihtiyacı olabilir. initramfs güncellenirken bunların bulunamadığına dair mesaj basılır ya, işte o! Liquorix deposunda güncel çekirdeğe ek olarak güncel firmware dosyaları bulunmuyor, ama Xanmod çekirdeği kullandığınızda, bunun deposundan güncel firmware paketi de yükleniyor. Kısaca, bu şekilde bir sürücü kurmuş olmazsınız, sürücünün çalışmasına yardımcı bir ikili blob programcık eklemiş olursunuz.

Teşekkürler, bunu da bir ek bilgi olarak kaydedelim.
 

Yeni konular

Geri
Yukarı