views:

135

answers:

3

Hi,

I was trying to compile the Linux kernel.

I am getting the following error:-

"No rule to make target arch/x86/kernel/entry_32.o', needed by arch/x86/kernel/built-in.o'."

Before this I configured the kernel(didn't do anything extra except the default options). configured the kernel using "make gconfig". The config was generated. I am using x86 32 bit machine (Fedora 9) kernel version 2.6.30.

Finally I used :- "make bzImage" to compile.

Tried to search the net for a solution but without success. How to fix these errors?? Kindly help.

Thanks,

Sourabh

+3  A: 

You need to call make before make bzImage.

make clean or make mrproper would perhaps help too depending how much you screwed up already.

leppie
Was just going to post steps starting with mrproper. Yes, he should make mrproper, make xconfig (or) menuconfig, save the current kernel config then just type 'make'.
Tim Post
+1: "depending how much you screwed up already", epic :-).
LB
I already tried both make clean and make mrproper.Still the error doesn't go away....
sourabh jaiswal
Delete the directory, and extract the source again, following the instructions this time more carefully. :)
leppie
+1  A: 

I agree with the previous answer, you should take a look at how to compile a kernel, the fedora way (here). Not sure this is still up-to-date, but leveraging the provided tools is a good idea sometimes.

LB
A: 

Maybe you didn't actually configure the kernel. Did you use any of "make config", "make menuconfig", "make xconfig"?

Are you running an x86 distribution or an x86_64 one? In the latter case, you need the x86 32 bits compilation environment too.

Advice : this is a poorly asked question. You didn't give any relevant information : Linux distribution and architecture, kernel version you want to compile, the commands you tried and the messages you got.

wazoox
I configured the kernel using make gconfig.The config was generated.I am using x86 32 bit machine (Fedora 9) kernel version 2.6.30.Finally I used make bzImage to compile.