This is the Linux kernel sources, as configured and used by KISS linux. If any patches have been applied to the sources, they have been copied into the toplevel of the sources. These sources have been configured, but not compiled. This is the correct configuration for kernel sources needed for compiling out-of-tree modules or software which needs the kernel sources to be present. When this package is installed, a link is created at /usr/src/linux which points to the real directory where these sources are located. The /usr/src/linux link provides compatibility with most software and/or out-of-tree kernel modules which look for this location. arch-specific content which is not relevant to the platform for which these sources are prepared, may have been removed to save ~70MB. These sources may be delivered as a squashfs image (*.sfs file). If so, routines in our init scripts will take care of mounting the sfs file at boot-time. Note that squashfs support is needed in the kernel for this to work. Since squashsfs images are read-only, special precautions need to be taken if you want to re-compile the kernel sources. If you want to do any hacking on the sources, such as adding patches, etc., then you'll need to copy the full sources from their mounted directory under usr/src/linix-VERSION. If you simply want to recompile the kernel while possibly making configuration changes, then you can simply create a working directory anywhere you have write permissions and copy the whole contents of the soure directory there. For example, say the kernel sources are /usr/src/linux-2.6.31.11 and you want to build in a directory name 'kernel-mine' in your $HOME directory, the you'd run these commands: mkdir -p ~/kernel-mine cd usr/src/linux-2.6.31.11 cp -a * ~/kernel-mine # now cd into the new source tree: cd ~/kernel-mine # now either use the original config file for this kernel (.config) # or use the configuration of your running kernel with this command: zcat /proc/config.gz > .config # now the sources are ready to be used. It is usually a good idea # to first run: make oldconfig # if you want to check or change the configuration options, then run: make menuconfig (or 'make xconfig') # then compile the kernel image: make bzImage # then build the modules: make modules I hope you know what to do next, but it is usually best to manually install the kernel image under /boot, along with a copy of the .config file and the System.map -renaming all three to match the pattern of naming used for the standard kernels. The you can run 'make instal_modules' to install the modules under /lib/modules -but be aware that this will overwrite your existing modules unless you have given the new kernel a new, unique name. For best results, have a look at the kernel.src2pkg build script which comes with the kernel package. You can either edit an use a copy of it to build your new kernel using src2pkg, or simply follow the commands found there to manually produce a kernel and modules package. Simply running the command 'make install' will *not* properly install your new kernel. After both kernel and modules are properly installed, you'll need to add a boot entry section for it to your bootloaders' config file, usualy /boot/grub/menu.lst. If you use lilo to boot with, then you'll need to add a section for the new kernel into /etc/lilo.conf *and* rerun the 'lilo' command to re-write the boot record (usually in the MBR)