>On Wed, 24 Oct 2012 17:28:30 +0000 >"Feuerbacher, Alan" <[email protected]> wrote:
> You've come close to answering what I really want to know. I'm so new > at this (first time around doing LFS on my home computer) that I'm > not sure I'm asking the right questions. So here's a bit more: > > The BLFS doc says to do some reconfiguring (which modifies > the .config file) and then to "recompile the kernel *if necessary*". > This implies to me that some modifications to the .config file will > NOT require recompilation, while others will. So guess my questions > should have been, What modifications DO or DO NOT necessitate > recompilation? And where can I find documentation to educate myself > thoroughly about this stuff? Mmm.. when you compile the kernel, and observe the process, you will see that first there is a looong list of source files that are compiled. At the end, they are linked (or something to the same effect) and a binary image is created. Then, the compilation process continues and makes a bunch of modules, if any modules are selected in .config (translation: if any kernel parts are configured to be built as modules). Now, for example, say you selected a driver for a WiFi card to be "built-in" and a driver for an Ethernet card to be "compiled as a module". The result of this is that your kernel image will contain a driver for the WiFi card, while you will also have a separate file on the side (say, "ethernet.ko") which will contain the Ethernet driver. Which changes need recompiling the kernel? All changes to the .config file require running the build process again to actualize these changes (God I'm eloquent, now if I spelt it right that would be great :) ). But then there is a difference. Changes to the built-in driver, that is, changes that affect the kernel image, require rebooting with the new kernel image. Changes to the modules, that is, all changes that solely affect parts of the kernel that are in the modules, do not require a reboot. Now to tie it all together: the build process produces a kernel. Pieces of this kernel are in several places. The kernel's kernel and all built-in stuff is in one big file called (not entirely properly) "the kernel image". Other stuff is strung around in numerous files and these pieces (and the files that house them) are called "kernel modules". They usualy live in /lib/modules. When booting, the bootloader does its thing and finds "the kernel image", then loads it into memory and passes control to it. Now the memory some pieces of the kernel, but not all. To complete the loading, the part of kernel present in memory finds the rest of its pieces, loads them in memory and runs them. -- Fourth law of programming: Anything that can go wrong wi sendmail: segmentation violation - core dumped -- http://linuxfromscratch.org/mailman/listinfo/blfs-support FAQ: http://www.linuxfromscratch.org/blfs/faq.html Unsubscribe: See the above information page
