• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 493
  • Last Modified:

Recompiling the Kernel

I have changed the values in limits.h for open files from 1024 to 2048. Now for this to take effect, I found that the kernel has to be recompiled.

When I give make config i get the following error

make: *** No rule to make target `config'.  Stop.

How to recompile the kernel for this limit increase? (i do not want explanation on increasing soft limit in file-max)
0
ravarde
Asked:
ravarde
  • 5
  • 3
1 Solution
 
freesourceCommented:
Simple, there is no make rule called config in the
Makefile you are using.  This would be the Makefile found in /usr/src/linux/.  It's there isn't it?  Try one
of these options found in /usr/src/linux/README.

        "make menuconfig"  Text based color menus, radiolists & dialogs.
        "make xconfig"     X windows based configuration tool.  
        "make oldconfig"   Default all questions based on the contents of
                           your existing ./.config file.

Which kernel sources are you using?  I am surprised that there is no config rule.   You may want to get your source directly from www.kernel.org.
0
 
ravardeAuthor Commented:
None of the above options work. I tried make menuconfig, make xconfig etc., For all thes I'm getting same error. How do i create a makefile. I'm fairly new to linux compiling issues.
0
 
freesourceCommented:
The Makefile should already be included with the kernel source.  You could always make ".config" by hand and skip the make config step, but you need to know what goes into this file.  It sounds like either there is an incorrect Makefile in /usr/src/linux, or there is no Makefile at all.

Do you know which kernel sources you are using for the compile?  It sounds like you need to get new kernel sources.  It makes more sense getting the Makefile which comes with the kernel, than making it yourself.;  it has quite a bit in it .

Are you sure you are running make config from the /usr/src/linux directory?
0
The new generation of project management tools

With monday.com’s project management tool, you can see what everyone on your team is working in a single glance. Its intuitive dashboards are customizable, so you can create systems that work for you.

 
ravardeAuthor Commented:
Thank you. I did that. But when I try make dep I'm getting error like

"invalid option preferred-stack-boundary=2"

I'm using a PIII-450MHz-64MB system with Mandrake 6.5 distribution.

How do i go from here?


0
 
freesourceCommented:
That is a bug.

Try this.  Remove the line which says ->

perferred-stack-boundary=2

from these files:

/usr/src/linux/Makefile
/usr/src/linux/arch/i386/Makefile
/usr/src/pcmcia-cs-3.1.0/config.out
0
 
freesourceCommented:
NOTE that You may not have the third file:

/usr/src/pcmcia-cs-3.1.0/config.out

That's not a problem.
0
 
ravardeAuthor Commented:
Thank You very much. I could do that. Only thing is I'm getting an error finally saying that file is too big. I think I've to strip down many options.

BTW : if i have to change only the process limits (limits.h, fs.h) and file limits, do I have to go through make config. Can I simply modify these values and simply do make zImage?
0
 
freesourceCommented:
Do a "make bzImage."

For the limit.h and fs.h question, if object files had to be made from these header files, and you don't do a "make mrproper",  and  then a "make dep" and a "make bzImage", the old object files will remain around completely unchanged.  But, yes, you don't have to do "make config" again, the values for this are stored in .config.  Always make a backup of /usr/src/linux/.config so if you change it later, you can always revert to your old choices.
0

Featured Post

Never miss a deadline with monday.com

The revolutionary project management tool is here!   Plan visually with a single glance and make sure your projects get done.

  • 5
  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now