Kullanıcıdan Alınan 2 Sayının Kernel Modül Üzerinde Toplatılması

Öncelikle kendi modülümüzü eklemek için Linux kernel'in kaynak kod ile derlenmesi lazımdır eğer bunu uygulamadıysanız önce ki yazıma bir göz atabilirsiniz.
1.Kaynak Kodlarında Derlenen Linux Klasörüne Girilmesi
Öncelikle kullandığımız kernel'e sağ tıklayarak uç birimde aç veya terminalde aç seçeneği ile açıyoruz veya
#cd /home/burak/Downloads/linux-4.13.4
yazarakta girebiliriz terminal üzerinden.
#su komutu ile root'unuza girebilirsiniz bu size her konuda erişime hak tanır.
2.Modülleri İçeren Klasörlerin Oluşturulması
Burda kendi istediğiniz bir isim kullanabilirsiniz ben Modules'i tercih ediyorum
#mkdir Modules
3.Oluşturduğumuz Modül İçin Klasör Oluşturulması
İlk başta daha demin oluşturduğumuz Modules klasörünün içine girmemiz gerekmektedir.Bunun için:
#cd Modules
Daha sonra yeni klasörümüzü açmak için:
#mkdir Sum
4.Toplama İşlemi İçin Kullanacağımız C Kodunun Oluşturulması
#gedit Toplam.c
Kernel üzerinden C kütüphaneleri kullanamayacağımızdan burda kernel cekirdeğine ait özel kütüphaneler vardır.
Burda dikkat etmeniz gereken konulardan bir tanesi türkçe karakter kullanımıdır çoğu kullanıcı bundan dolayı hata almaktadır buna dikkat etmenizi öneririm.
5.Makefile Dosyasının oluşturulması
#gedit Makefile
Burdada dikkat edilmesi gereken konulardan biriside make'in önünde ki boşluktan dolayı genelde hata alınmaktadır o boşluğu silip tab ile boşluk kullanmanız en sağlıklısıdır.
6.Modulun Derlenmesi
#make
ile modulümüzü derleriz.Bunu yaptıktan sonra altta dosyalar olusmaktadır bunları #ls yazarak görebiliriz.Bu oluşa dosyalar şunlardır:
-Makefile
-ModuleSymvers
-Toplam.ko
-Toplam.mod.o
-modules.order
-Toplam.c
-Toplam.mod.c
-Toplam.o
Artık tek yapmamız gereken modulun çalıştırılmasıdır.
7.Modulun Çalıstırılması
#insmod Toplam.ko birince=110 ikinci=15
#lsmod komutuyla çalısıp çalısmadığını görebiliriz.
#dmesg ile kernel mesajlarını görüntüleriz
#rmmod -rf Toplam
Komutu ile kernel modulumuzu devre dışı bırakabiliriz.
Yorumlar
Yorum Gönder