14 Ekim 2017 Cumartesi

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

 
1. Öncelikle Kullandığımız Kerneli Sağ Tık İle "open in terminal" veya "uçbirimde aç" Seçeneği İle Açıyoruz. Dilerseniz Terminale Gelip "cd home/furkan/Downloads/ linux-4.13.3" Kodunu Yazabilirsiniz. (Kırmızı İle Yazılan Yerler Sisteminizde Farklı Olacaktır Dikkat Edin.)

Aşağıda "x,y,z" şeklinde belirteceğim yerler sizin tarafınızdan isimlendirilecek her harf grubuna aynı ismi yazmanız gerekmekte unutmayın.


2. mkdir xxx    Komutu İle Dosya Oluşturuyoruz.

3.  cd xxx       Yukarıda Oluşturduğumuz Dosyanın İçine Giriyoruz.

4. mkdir yyy     Komutu İle Yeni Bir Alt Dosya Açarak Yazacağımız Kod İçin Yer Yaratıyoruz.

5. gedit zzz.c    Kodu Bize Yazacağımız Yeri Açacak 

Açılan Dosyaya Aşağıdaki Kodu Parametreleri Değiştirerek Yazabilirsiniz.



Ardından Makefile Dosyasını Oluşturmak İçin

"gedit Makefile"  Kodunu Yazarak Açılan Sayfaya Aşağıdaki Kodu Yazıyoruz. ()

"obj-m = zzz.o
all:
make -C /lib/modules/$(shell uname -r)/build/ M=$(PWD) modules

clean:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean
"


Ardından "make" yazarak kodu derletiyoruz. Derleme işlemi bittikten sonra 

zzz.c 
zzz.ko  
zzz.mod.c  
zzz.mod.o  
zzz.o  
Makefile  
modules.order  
Module.symvers

  Dosyaları oluşacaktır bu modülümüzün hazır olduğu anlamına gelmektedir. Eğer "Modül Bulunamadı" Ve Aşağıdaki Görselde Görülen Hatayı Alırsanız Bu Büyük İhtimalle Kernelinizde Sorun Olduğu Anlamına Gelmekte. Güncel Kerneli İndirip Kurduktan Sonra İşlemleri Baştan Yapmanızı Tavsiye Ederim.






Sıra Oluşturduğumuz Modülü Çalıştırmaya Geldi.

"insmod zzz.ko ilk=19 ikinci=95"    Şeklinde Kodumuzu Yazarak Modüle Göndermek İstediğimiz 2 Sayıyı Yazıyoruz.

Kernel Mesajlarının Yanında Sonucunda Bulunduğu Ekran İçin 

dmesg   Komutunu Yazıyoruz

Son Olarak Modülü Kapatmak İçin

rmmod -rf zzz    Kodunu Giriyoruz


Hepsi Bu Kadar Umarım Arayışınıza Yardımcı Olabilmişimdir.