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