Today, I am going to share some development guide lines for develop Linux-Kernel Module with NetFilter. Inshah-Allah! It will be helpful for newbie.
- Before anything, you should do pencil work around your problem/task and LAB setup.
- After complete your LAB setup, your should take understanding of all technologies related to development task. These are given below,
- Linux Kernel Version Understanding, Selection and Compilation.
- I would recommend to read compilation article. You will learn a lot but for shortcut, I am listing following commands that will be use for Linux Kernel Compilation.
- # cd /tmp
- # wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.25.tar.gz
- # tar –zxvf linux-2.6.25.tar.gz –C /usr/src
- # cd /usr/src
- # make menuconfig
- # make
- # make modules
- # make modules_install
- # make install
- (Reboot system and enjoy Linux-2.6.25 Kernel)
- I would recommend to read compilation article. You will learn a lot but for shortcut, I am listing following commands that will be use for Linux Kernel Compilation.
- Linux Kernel Code Reading (I use vs2k5 IDE for code reading, if you know any good Open Source IDE then please let me).
- Linux Kernel Module Programming with v2.6 (html, pdf) including memory allocation and deletion (first, second).
- Protocol Understanding at packet level.
- Understanding of NetFilter Programming (first, second, third).
- Understanding of SK_BUFF structure for packet operation (first, second, third, fourth, fifth).
- Good development practices.
- Linux Kernel Version Understanding, Selection and Compilation.
- Start Development and after complete your task say, “AHO!”.
I have developed Linux Kernel Driver (for Linux Kernel 2.6.25) for Gateway with in fifteen days to change one of the protocol behavior. I did not have any Linux development experience before this task. I am dimmest person in world but you are not. You can do it! Come On Say, “YES, I Can!”. Don’t forget to say, “AHO!” after complete your task.