Linux - NewbieThis Linux forum is for members that are new to Linux.
Just starting out and have a question?
If it is not in the man pages or the how-to's this is the place!
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Introduction to Linux - A Hands on Guide
This guide was created as an overview of the Linux Operating System, geared toward new users as an exploration tour and getting started guide, with exercises at the end of each chapter.
For more advanced trainees it can be a desktop reference, and a collection of the base knowledge needed to proceed with system and network administration. This book contains many real life examples derived from the author's experience as a Linux system and network administrator, trainer and consultant. They hope these examples will help you to get a better understanding of the Linux system and that you feel encouraged to try out things on your own.
Click Here to receive this Complete Guide absolutely free.
I become successful to download kernel, compile it and run it.
When i modify tcp.c file or any other file in this /usr/src/linux/net/ipv4 location, (just modifying c files) i have to compile the complete kernel every time, which is very time consuming procedure.
So Please help, How to compile that net/ipv4 package or etc...
I will be very very thankful to you all... please please guide me..
First of all Thank you very much for reply. As you mention to compile the tcp.c file like make net/ipv4/tcp.o after modification, Which is working fine and new tcp.o file is created in net/ipv4 location.
But when i run my user level normal server client application [where client sent just hello to server after connecting to server].
So our changes are not effective in the kernel level modification which we have done in net/ipv4/tcp.c file, i verified through printk. But it does not effect.
And when i recompile the whole kernel using [oldconfig , make; make modules; make modules_install; make install and restart of system] so our changes are effective.
My question,is there anyway to just compile the required kernel files which are relevant to network level. net/ipv4
Because proper kernel compilation procedure is to lengthy and time consuming and i am not able to develop any thing...
Please sir, guide me or send me some links or reference. Linux is very new to me...
It will be really highly appericated for guide... Thanks
If the Makefile is set up correctly, it will already do exactly what you are asking for. Make, according to the rules in a Makefile, figures out what does and does not need to be recompiled to build the target(s). In the case of a kernel build, it does have to inspect a lot of stuff to make the determination of what needs to be done to rebuild a kernel. You should be able to use the recursive make structure to build only the kernel module(s) of interest in their own directories, but if the modules affected are built-in modules, you will still have to let make run its course over the whole kernel directory structure.
Once you have built the kernel once, you don't have to repeat the whole configuration process. If you are just modifying modules, then simply do 'make modules', and 'make modules_install'. That's why those targets are in the Makefile.
If the code you're working on is part of a module, you can make just the .ko file, as theNbomr points out, and then rmmod and insmod it. I'm not sure if it's possible to configure tcp.o to land in a module, though.