Originally Posted by AlucardZero
One is specialized for 386-based computers and one is more.. generic.
Hardly, considering that the 386 is the absolute minimum to run linux, and that all the x86 cpu's above that are compatible with the original 386 instructions set. There's nothing more generic than the 386 if we are talking about pc architecture, and anything compiled for an i386 will work on any cpu above that, including 686 or even greater without the need to do anything special at compilation time
However, note that nowadays, a lot of people use 386 when they really mean x86, or any other thing. There are lot of names containing "386" when they really mean anything else above that. So that's not reliable. I don't know about the Ubuntu policies though.
Originally Posted by SaintDanBert
The latest update delivered a kernel. How do I discover the value of the various kernel-config settings? Is the config file available somewhere? Are the settings readable in /proc or /sys or similar?
If whomever compiled the kernel had a brain, you can read the configuration used to compile the kernel that's currently running from /proc/config.gz. If not, you still have a chance to get it from /boot/, some packagers put there the config files, which usually will be called something like /boot/config-<version number/label>. If they are there you should be able to figure which config file matches a given kernel.
Given kernel edition nn.nnn.nnn-nn, can I take a kernel-config file and build a new-and-improved kernel with the same configuration settings?
If you have the config file for a kernel, you can use it as a base to compile your own kernel (for the same or other version). However, the more the versions differ the more probably it is that you will have to do some thinking and get your hands dirtier. For example, imagine you want to use the configuration file of the currently running kernel to compile the latest 18.104.22.168 linux kernel, you would do something like this:
$ cd ~
$ mkdir linux
$ cd linux
$ wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-22.214.171.124.tar.bz2
$ tar xf linux-126.96.36.199
$ cd linux-188.8.131.52 # or whatever it's called, use ls
$ zcat /proc/config.gz > .config # in this step you dump the config of the running kernel into the new one
$ make oldconfig
This step might ask you some questions that you will have to answer to create a configution that works on the current kernel, there are always new things on every release, other change, some goes away and others are located on a different place.
After that, you can use "make menuconfig" if you want to check or fine tune something. And then just compile and install as you wish. I use "make && make install modules_install". After that you need to set up your boot manager to include the new kernel.
That's the general picture.