LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Newbie (https://www.linuxquestions.org/questions/linux-newbie-8/)
-   -   Where to begin creating a kernel module for a networked storage device (https://www.linuxquestions.org/questions/linux-newbie-8/where-to-begin-creating-a-kernel-module-for-a-networked-storage-device-725961/)

dahweeds 05-14-2009 09:54 AM

Where to begin creating a kernel module for a networked storage device
 
Hello. I could not find this in the man pages. Honestly, I did not even look in the man pages. If you know which man page to check, I will be happy to read that.

I made another post about the right distribution to use in this, but here I would like to ask if any seniors want to help. Or where you think I should go to get help.

I have a tech support job. Tier 1, so I am advising user how to connect my companies external hard disks to their computers. The external hard disks connect via the network, and require drivers installed on the computers that access it. It does not use tcp but an in house protocol for communication. So I also have my own systems that I chose to run Linux on. I set up small networks and made web pages, and have managed some web servers. Now my boss thinks that means I am the guy to take over the Linux kernel module development.

OK. So I am a 100% noooobie at kernel development. I had one c++ class in community college 7 years ago. But I like Linux, and several people use the existing, but stagnated driver on their machines. The user really want to keep using it, but the usage is falling behind on the various distributions and in functionality. It is not keeping up with the windows version at all.

The company did not develop their Linux driver actively (that is with money) for about two years, no reason given. They will not release all of the Linux driver code as GPL because they have some proprietary or top secret, or whatever sections of the code.

So where shall I start?
How long does it take for a module make to get the hang of it?
How can I get help from the Linux community?
Is there some kind of Semi-GPL that I can implement so that developers can get on the project and work together with me in free time picking up where the trunk of the kernel module has left off?
How can I make something like a semi-GPL attractive to the boss?

Are these kind of thing in the man pages? He-He-He

More about me:
Linux experience: 4-5 years, desktop Debian, server Debian & Centos.
Main usage: hobby, web programming, very small network administration
Programming Experience: Very little, mainly hacking PHP & Javascript

About the project:
The boss basically hands me a Linux kernel module book and says take over this Linux driver, on top of handling tier one tech support for current users of the companies devices. So if I can discover what I can do with the project, and maybe have help form or employ the skills of fellow developers from the Linux OS community I would like to find away.

Thanks from David

unSpawn 05-15-2009 03:57 AM

From a theoretical point of view anyone can start with kernel driver development, so you can too. Practically speaking it requires lurking on the LKML, an inquisitive mindset, prior programming knowledge and a more than average amount of perseverance. I think the best way to start to see if you like it is to read kernel development books and see if you can do something with the examples, then move on to some "simple" driver.


Quote:

Originally Posted by dahweeds (Post 3540622)
I have a tech support job. Tier 1 (..) Now my boss thinks that means I am the guy to take over the Linux kernel module development. (..) I am a 100% noooobie at kernel development. (..) The boss basically hands me a Linux kernel module book and says take over this Linux driver, on top of handling tier one tech support

...but (in my very subjective opinion) all of this screams NO to me. Not only in terms of difficulty (dissecting proprietary protocols usually don't fare well, see for instance some utterly crappy SATA card implementations LKM developers have to fight with), job mismatch (kernel development would be 3rd line support and should be paid like that), innocent misconceptions or deliberate slave-driving (aka cost-saving) on your bosses part but also it should be obvious only the company will reap the benefits, not you (except for you being able to say you did the development whilst working basically 2 jobs per day). I think it could do with some renegotiation...


All times are GMT -5. The time now is 07:49 AM.