1. cd /usr/src 2. wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.17.13.tar.gz 3. gunzip linux-2.6.17.13.tar.gz 4. tar xvf linux-2.6.17.13.tar 5. mv -f /usr/src/linux /usr/src/linux-old 6. ln -s /usr/src/linux-2.6.17.13 /usr/src/linux 7. cd linux 8. make mrproper # prep for kernel assembly 9. make menuconfig # launch configuration menu app (this part is very dependant upon your own hardware) (what is mentioned below are only changes beyond what is selected by default) Processor Type and Features ---> ->Symmetric multi-processing support (if you have multiple processors or a Dual-core or HT enabled) ->High Memory Support (if you have more than 900MB of System RAM move upto 4GB) ->Timer frequency (1000 HZ) (change to 1000Hz if using ztdummy for timer) Power management options (ACPI, APM) ---> ->ACPI (Advanced Configuration and Power Interface) Support (enable all down to Processor and thermal zone) Bus options (PCI, PCMCIA, EISA, MCA, ISA) ---> ->[*] PCI Express support (if using Sangoma PCI Express card) Networking ---> Amateur Radio support ---> <*> Amateur Radio AX.25 Level 2 protocol [*] AX.25 DAMA Slave support <*> Amateur Radio NET/ROM protocol <*> Amateur Radio X.25 PLP (Rose) (all needed for new Digium Octasic drivers) Device Drivers ---> ATA/ATAPI/MFM/RLL support ---> <*> SCSI emulation support (needed for SATA drives, also further down check chipset drivers) SCSI device support ---> <*> RAID Transport Class (needed if you are using a RAID) SCSI low-level drivers ---> <*> Serial ATA (SATA) support (required if using SATA drives) (if using a SCSI RAID card pick correct driver here) Multi-device support (RAID and LVM) ---> (select proper RAID types if using Linux RAID) Network device support ---> Ethernet (10 or 100Mbit) ---> Ethernet (1000 Mbit) ---> (select proper drivers for the eype of network card you have) Character devices ---> <*> Enhanced Real Time Clock Support (double-check that this is enabled, very important) Real Time Clock ---> <*> RTC class (double-check that this is enabled, very important) File systems ---> <*> Ext3 journalling file system support (important if using ext3 filesystem) Library routines ---> <*> CRC-CCITT functions <*> CRC16 functions <*> CRC32c (Castagnoli, et al) Cyclic Redundancy-Check (important for new Digium Octasic drivers) EXIT AND SAVE YOUR CONFIGURATION 10. make clean # clean up the kernel build areas 11. make bzImage # create a kernel bzImage 12. make modules # build the modules into the image 13. make modules_install # install kernel modules 14. cp arch/i386/boot/bzImage /boot/bzImage-XXXX # copy image (put whatever you want in XXXX, that is your new kernel name) 15. cp System.map /boot/System.map-XXXX # copy system map 16. mv -f /boot/System.map /boot/System.map-orig 17. ln -s /boot/System.map-XXXX /boot/System.map # symlink map 18. vi /etc/lilo.conf # edit the lilo boot config file image=/boot/bzImage-XXXX # add the new image in above- label=test-XXXX # the previous one root=/dev/hda1 # device of root partition read-only 19. /sbin/lilo # run the lilo reload script 20. shutdown -r 0 # reboot machine and hope it worked