Linux - KernelThis forum is for all discussion relating to the Linux kernel.
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 compile fails, don't run make clean before make?
To be specific, my (Debian) make-kpkg was humming along, albeit slowly (it's a 433Mh Celeron) and stopped after a compile error in USBNET.C (message you need to configure some hardware for this). So I went back into menuconfig and made the necessary change(s) (unchecked support for device(s) I don't have, put Tulip support in while I was in there) and ran make-kpkg clean again.
Result was what I was afraid of: all the object modules (.o) which had just been compiled got blown away. This would seem to be contrary to the whole make concept (only build what needs to be built based on recently changed source).
Many similarities in generating the OS's, just different terms. The most startling difference is how little RAM (core) was available back (on the order of kilobytes) then and how much the OS accomplished in so little space (kind of like Linux today ).
I considered any type of telecommunication small miracles then and still do now.
I've compiled my own kernel at least 4 times (first was 2.4.x), but at least twice I was unsuccessful. I recently compiled my own 126.96.36.199 kernel on my Dell Latitude C610 Laptop. Everything works fine, except for my Synaptics (?) touchpad, which goes crazy or just hangs somewhere in the corner. However, this does not happen with a 2.4 kernel. I've discovered a patch that might fix this problem http://www.ee.oulu.fi/~tuukkat/tmp/linux-2.6.7-userdev.20040625.patch but it doesn't work with 2.6.16 and for some other reason I couldn't compile the 2.6.7 kernel on that machine. Any pointers on how I could compile 2.6.7 or how to rewrite the patch, so that it works in 2.6.16? I know about programming (C, C++, Java, Delphi, PHP, Shell scripting, ...) but I don't know how kernel patching works. I'm afraid I don't understand it at that low level.
The 2.6 menuconfig has a new look but I found out I left so many drivers and support modules in the old config (combination of thinking 'better to have and not need than need and not have' and 'enough already, I'm tired, let's see some action!') I spent about 3 hours total going through and stripping what I (think) I don't need. Lots of trust in my 'lshw' and 'lspci' listings.
Noticed that ALSA support was an option in the 2.6.8 config, not sure if it was there in 2.4.27. Anyway, it's compiling now <* fingers crossed *>.
Same here, I'm always happy (and a little surprised) when I see that my custom-built kernel ACTUALLY WORKS.
I think ALSA was only integrated with the kernel source in the 2.6 series...that confused me at first when I recompiled my 2.4.29 kernel for the first time and couldn't get any sound (until I figured out what all those error messages meant, at least ).
The first time I compiled my own kernel I accidentaly missed the PCI drivers (or something). So I recompiled again (another stupid mistake), and again, and again... and then it worked! After that I used to compile a new kernel each time a new one was out. But now I just use the standard kernels that come with the distributions.
From what I understand the patch file is created by 'diff'
so the basic idea would be to copy the source from 2.6.x to a target file, add the code with '+' in front of it, delete the lines with '-' in front of them and run diff on the two.
You'd have to read and understand the effected sections of the code because there might not be exact matches on the deleted lines and variable names/symbols might not exactly match either.
Linux Kernel Module Programming Guide from http://www.tldp.org might be handy reference, I'll see if I can find more info.