HOWTO (re) Compile a Xandros Kernel. Proceed at your own risk. You may do serious harm to your system by performing these steps, and may need to re-install your system. Notes are at the bottom. This document assumes the following things: A) The following applications/packages have been installed on your system: 1) make 2) gcc (the C/C++ Compiler) 3) Xandros Kernel Source package (called xandros-kernel-source-2.4.19) 4) flex These packages are all available on the Xandros 1.0 installation CD, and are typically part of a "FULL" system install. If you did an express, or custom minimal or standard install, you can use the "Xandros Update" package to install them from your CD. 5) libdb3-dev 6) byacc These packages will need to be downloaded from a debian woody apt-source site. B) That you understand how to use a text editor such as "vi" or "mcedit" to edit files. C) You wish to compile a kernel for a single-CPU system. If you wish to compile a kernel for an SMP system, adjust steps 8 & 11 as noted. D) You realize that if you compile and install your own kernel, you may have problems with future official updates from Xandros. You have been warned. ---------------------------------------------------------------------------------------------------------- Once you have installed the Kernel Source package, follow these steps: 1) login as Administrator 2) Start a console (Launch -> Applications -> System -> Console) 3) Type: cd /usr/src/ ls -l This directory should contain a file called "xandros-kernel-source-2.4.19.tar.bz2". If not, please install the package from your CD. 4) Type: tar jxf xandros-kernel-source-2.4.19.tar.bz2 This will uncompress the kernel sources into a directory called: xandros-kernel-source-2.4.19 5) Type: ln -s xandros-kernel-source-2.4.19 linux This command creates a link so frequently used path of /usr/src/linux/ goes to the Xandros Source directory. If you already have a /usr/src/linux/ directory, please rename it before doing the above "link". 6) Type: cd /usr/src/linux/ 7) Open the file "Makefile" in your editor. 8) Change line 4 from: EXTRAVERSION = to EXTRAVERSION = -x1 (-x1-smp for SMP systems) 9) Save the changed file. 10) Type: make mrproper 11) Type: cp /boot/config-2.4.19-x1 .config (/boot/config-2.4.19-x1-smp for SMP systems) 12) Type: make oldconfig make dep At this point, you have a fully configured kernel. If you just needed a configured kernel to work on some other package (custom device drivers/modules package) you can stop at this point. 13) Type: make bzImage make install make modules make modules_install /sbin/mkinitrd /sbin/fooze ------------------------------------------------------------------ Some Notes: 1) If you wish to make configuration changes to your kernel, you may execute one of the standard kernel configuration options before step 13. Note: "make menuconfig" and "make xconfig" may require other development packages to be installed. 2) If you wish to apply patches to your kernel (possibly to enable ACPI support, or the Via IDE DMA patch), you should do it after step 9. 3) If your system fails to "make modules", quite possibly you have not installed the libdb3-dev package.