Kernel Modules

Diyelim ki harika bir arabam var, ona çok zaman ve para yatırıyorum. Spoiler, çekme demiri, bisiklet taşıyıcı ve başka rastgele şeyler ekliyorum. Bu bileşenler aslında arabanın çekirdek işlevselliğini değiştirmez ve onları çok kolayca çıkarıp ekleyebilirim. Kernel de kernel modules ile aynı konsepti kullanır.

Kernel başlı başına monolitik bir yazılımdır, yeni bir klavye türü için destek eklemek istediğimizde bu kodu doğrudan kernel koduna yazmayız. Tıpkı bir bisiklet taşıyıcısını arabamıza kaynak yapmayacağımız gibi (gerçi bunu yapanlar olabilir). Kernel modules, talep üzerine kernel’a yüklenebilen ve kernel’dan kaldırılabilen kod parçalarıdır. Kernel’ın çekirdek koduna gerçekte ekleme yapmadan kernel’ın işlevselliğini genişletmemize izin verirler. Ayrıca modülleri ekleyebilir ve (çoğu durumda) sistemi yeniden başlatmak zorunda kalmayız.

Şu anda yüklü modüllerin listesini görüntüle

$ lsmod

Bir modül yükle

$ sudo modprobe bluetooth

Modprobe, modülü /lib/modules/(kernel version)/kernel/drivers konumundan yüklemeye çalışır. Kernel modules’un ayrıca bağımlılıkları olabilir, modprobe modül bağımlılıklarını eğer zaten yüklü değillerse yükler.

Bir modülü kaldır

$ sudo modprobe -r bluetooth

Boot sırasında yükle

Modülleri modprobe ile geçici olarak yüklemek (yeniden başlattığınızda kaldırılacaklardır) yerine sistem boot sırasında da yükleyebilirsiniz. Sadece /etc/modprobe.d dizinini düzenleyin ve içine şu şekilde bir yapılandırma dosyası ekleyin:

pete@icebox:~$ /etc/modprobe.d/peanutbutter.conf
options peanut_butter type=almond

Biraz uçuk bir örnek, ancak peanut_butter adlı bir modülünüz varsa ve type=almond gibi bir kernel parametresi eklemek istiyorsanız, bu yapılandırma dosyasını kullanarak başlangıçta yüklenmesini sağlayabilirsiniz. Ayrıca kernel modules’un kendi kernel parametreleri olduğunu unutmayın, daha fazla bilgi edinmek için modül hakkında özel olarak okumanız gerekecek.

Boot sırasında yüklenmemesini sağla

Bir modülün boot sırasında yüklenmemesini sağlamak için de şu şekilde bir yapılandırma dosyası ekleyebilirsiniz:

pete@icebox:~$ /etc/modprobe.d/peanutbutter.conf
blacklist peanut_butter

Last updated