Could anyone tell me if it is possible to add several system calls to the linux kernel (version 2.6.35) and not have to recompile the kernel each time I change one of their implementations (i.e. method body). For example add to syscall_table, unistd.h, ... and then make stubs for the system calls, recompile, then implement/test the method bodies without having to recompile the entire kernel (takes like 4 hours). I have looked it up but haven't found anything online with an answer. The reason I ask is if I have to compile for 4+ hours each time I change something its really inefficient
UPDATE: Thanks for all the responses I solved my problem I was receiving some faulty advice from my TA which led me to this issue but have since resolved the issue. I appreciate everyone's comments and help on the issue
if anyone one else reads this and is running into the same problem after the inital kernel compilation when I added system calls I just recompiled the kernel using make bzImage then make install and rebooted and things worked fine
make; only the files that need to be recompiled will be recompiled (admittedly, that will be most of them). Note that you very rarely need to add syscalls: extensions to the kernel are normally invoked through/sysor through the filesystem interface or another existing framework, depending on what they do. As an aside, if your kernel compilations take 4 hours, you really need to get a better development machine (with an average 10-year old PC and a reasonable selection of modules, you should be done in 20–30 minutes). – Gilles Apr 9 '12 at 23:51make menuconfig). Picking and choosing can take a long time. It might be quicker to set up a combination of CC caching and distribution using e.g.ccacheanddistcc, which can drastically reduce your compile times. – jmtd Apr 10 '12 at 15:56