To give one answer to your question of why make oldconfig is a separate command from make xconfig or make config, I reiterate my former problem. My system worked fine from the original cd--all the hardware was automatically recognized and functioned correctly. I wanted to examine the kernel config of my current, pre-compiled kernel, but there was no .config file present. If I just installed the source for my current kernel and typed make menuconfig or make xconfig, I'd get a .config with quite a bit of stuff exempted from the kernel-- one that clearly does not resemble the configuration of my current kernel and that does not even contain all the things I need to have my system work like I want. To get a .config file that does match my kernel, I can simply type make oldconfig (As a newbie, I find it easier turning off things I know I don't need vs trying to figure out what all needs to be turned on). As stated by previous posters, it's still a good idea to go in and turn off those things you know you definately don't need. The kernel will be much leaner, more responsive, and the compile time will be gobs quicker.