Linux’ta Kernel Modülü Yüklemek

Kernel (çekirdek) işletim sisteminin en temelindeki programdır. Bilgisayar donanımı ile programlar arasındaki bağlantıyı sağlar. Dolayısıyla farklı bilgisayar mimarileri için farklı kernel’ler gerekir. Linux kerneli monolithic (tek parçalı) bir kerneldir ama yüklenebilir modüller sayesinde kerneli tekrar derlemeye gerek kalmadan cihaz sürücülerini yükleyebiliriz. Bu yazıda bir kernel modülünün nasıl yüklendiğini özetleyeceğim. Bir modülün nasıl derlendiğinden başka bir yazıda bahsedeceğim.

Öncelikle kullanacağınız modülün kernel versiyonunuza göre derlenmiş olması gerekiyor. Modüller .ko uzantısı ile derleniyor. ve /lib/modules/$(uname -r)/kernel/drivers/ klasöründe tutuluyor.

Beagleboard’da webcam kullanmak için opkg ile kernel-module-uvcvideo paketini yüklemiştim. Bu paketten webcam’i kullanabilmek için gereken uvcvideo sürücüsü çıkıyor ancak kernel modülünü otomatik olarak yüklenmiyormuş. Öncelikle modülün nerede olduğunu bulmak gerekti.

[email protected]:~# opkg install kernel-module-uvcvideo
[email protected]:~# locate uvcvideo.ko
/lib/modules/2.6.32/kernel/drivers/media/video/uvc/uvcvideo.ko

 

Sonra modülü yüklemek için:

insmod /lib/modules/2.6.32/kernel/drivers/media/video/uvc/uvcvideo.ko

 

Modülün yüklenip yüklenmediğini anlamak için lsmod komutunu kullanabilirsiniz.

[email protected]:~# lsmod
Module                  Size  Used by
ipv6                  249063  10
uvcvideo               55389  0

 

Muhtemelen bu modülün bilgisayar her açıldığında yüklenmesini istiyorsunuzdur. Bunun için modutils’i kullanmak gerekiyor. Önce /etc/modutils klasöründe uvcvideo adında bir dosya oluşturup içine uvcvideo yazın. Sonra da modülleri güncelleyin.

[email protected]:~# echo "uvcvideo" > /etc/modutils/uvcvideo
[email protected]:~# update-modules

 

Bilgisayarı tekrar başlatıp modülünüzün yüklenip yüklenmediğini lsmod komutuyla kontrol edin.