On Wed, Feb 19, 2003 at 11:58:16AM +0200, Eli Billauer wrote:

> original configuration, and noone was really sure. I don't think that 
> there is someone here who can tell me exactly what files are tampered 
> with during all the makes (could syscalltrack be handy here? ;). All 
> this makes kernel compilation a mysterious adventure, with no promised 
> way back home. If there was as little as a list of directories to back 
> up before starting, it would all look different.


It's not voodoo. It's not a mystery. It's code, plain and simple,
there for the reading. Please read the Makefile and write a
comprehensive list of files which are changed. I'm sure
kernelnewbies.org will be happy to put it on line. 

> Don't take me wrong: I think that the possibility to compile the kernel 
> is one of the beauties of Linux, and writing in kernel space is 
> something I know I'll do sooner or later. The problem is that it's such 
> an unfriendly field, and for no real reason.

Did you read the books? did you read the source? where else did you
expect the knowledge to come from?

> >c. Run 'make oldconfig; make dep'. This step prepares the intermediary
> >kernel configuration and build files that are needed for the build
> >process. Amongst other things, it handles module version. 
> Thanks. "make oldconfig" was the secret. And a secret it is. Just for 
> the fun of it, does anyone know exactly what it does? What "old 
> configuration" are we talking about? And "make dep" afterward fixed
> it all.

It takes .config, all of the configuration symbols in this kernel, and
only asks you about new or changed configuration options. It's used
when you already built a kernel, and then a new version is
released. You copy the same .config over and run 'make oldconfig', and
instead of dealing with hundreds of configuration options, you only
deal with the delta. 

As a side effect, it also creates some files that tell the build
system that it has been configured, and (I think) creates the
include/asm-$(ARCH) -> include/asm symlink. 

> And you were right about the /boot directory. There are config-files for 
> each binary to boot, so it seems like the way to just recompile a 
> certain prebuilt binary is to copy one of these into 
> /usr/src/linux-x.x.xx/.config . This might be the answer to my original 
> question: How do I turn things back to where they were? But I haven't 
> really tried this, though. I might soon.

You save your .config and run 'make mrproper', which is like 'make
distclean' in user space. NOTE that 'make mrproper' WILL remove all
files which match the pattern "*config*" or a variation on it. That's
why you save your .config before beginning. 

> BTW, I didn't compile the kernel in the end. There was no reason to.

Sounds to me like you should do it for the same reason people jump out
of airplanes - to see that you can. 

> >Start with the top level
> >Makefile and Rules.make, and follow what happens when you run 'make
> >oldconfig; make dep'. 
> >
> Yeah, right. I wanted to install a linmodem driver, not explore the 
> mysteries of makefile, sed and bash, and virtually every possible system 
> file.

You want knowledge. I told you where it is found. 

> I have only one explanation for all this: Kernel hackers enjoy the 
> exclusiveness of their status. It's Open Source, but closed society. You 
> want to join it, fine, but you'll have to go through some acceptance 
> tests before you can do anything.

No. You'll have to invest effort and show that you know what you are
doing. Otherwise, just pay someone to do it for you. 
Muli Ben-Yehuda

Haifa Linux Club Mailing List (http://www.haifux.org)
To unsub send an empty message to [EMAIL PROTECTED]

Reply via email to