|
Page 3 of 8
PHASE 2: COMPILING A CUSTOM LINUX KERNEL
From this step on you should be able to
continue the installation remotely although it is wise to at least
have quick access to the machine if something goes wrong.
To connect remotely through SSH on linux
type "slogin serveripaddress" or to use Windows to connect you can
use a piece of free software called putty available here:
http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
Also, for windows you can use SSH file transferring(SFTP) with a
program called filezilla: http://filezilla.sourceforge.net/. This
is an optional step if your linux system is running, but compiling
your own custom kernel is always a way to optimize your system for
the hardware you have installed or a way to remove the unnecesary
modules that are in the default kernel. You will definately want to
build your own kernel if you have a multi processor machine. If you
are new to Linux you probably do not want to do this.
If you are using a newer Digium
Octasic-based echo-cancellation quad T1/E1 card then you need to
use a 2.6 Linux kernel in order to use the echo-cancellation
functionality of the card.If you want to compile a 2.6 kernel then
start with OPTION 1, otherwise to compile the 2.4 kernel that comes
with Slackware(2.4.33) start with OPTION 2:
OPTION 1: compile Linux kernel 2.6.17
*RECOMMENDED*
1. cd /usr/src
2. wget
http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.17.11.tar.gz
3. gunzip linux-2.6.17.11.tar.gz
4. tar xvf linux-2.6.17.11.tar
5. mv -f /usr/src/linux
/usr/src/linux-old
6. ln -s /usr/src/linux-2.6.17.11
/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
OPTION 2: compile Linux kernel
2.4.33.3
1. cd /usr/src/linux # move to your linux
source directory
2. cp .config config.save # copy old
config to a save file
3. make mrproper # prep for kernel
assembly
4. make menuconfig # launch configuration
menu app
(this part is very dependant upon your own
hardware)
enable processor version # select the
processor that you have
enable SMP # if more than 1 processor or
Intel HT
enable high memory () # if more than 1GB
of RAM
enable SCSI Multiple # if SCSI drives
enable SCSI devices AMI Megaraid # if SCSI
Megaraid adapter
enable 3com network devices # if 3com
network card
enable ext3 file system # for ext3 to
work
enable all ACPI options # for SMP to
work
enable Enhanced Real Time Clock Support in
Character devices section
# for SMP to work
enable any other hardware specific
options
exit and save configuration
5. make dep # build the kernel
dependancies
6. make clean # clean up the kernel build
areas
7. make bzImage # create a kernel
bzImage
8. make modules # build the modules into
the image
9. make modules_install # install kernel
modules
10. # nothing# mkinitrd
/boot/initrd-XXXXXX.img XXXXXX *not needed on Slackware*
11. cp arch/i386/boot/bzImage
/boot/bzImage-XXXXXX # copy image
(put whatever you want in XXXXXX, that is
your new kernel name)
12. cp System.map /boot/System.map-XXXXXXN
# copy system map
13. mv -f /boot/System.map
/boot/System.map-orig
14. ln -s /boot/System.map-XXXXXX
/boot/System.map # symlink map
15. vi /etc/lilo.conf # edit the lilo boot
config file
image=/boot/bzImage-XXXXXX # add the new
image in above-
label=test-XXXXXX # the previous one
root=/dev/hda1 # device of root
partition
read-only
16. /sbin/lilo # run the lilo reload
script
17. shutdown -r 0 # reboot machine and
hope it worked
After compiling your kernel you can run a
few commands to verify that you are running your new kernel and
that devices are running as they are supposed to:
ps --info (will show you your linux kernel
version and other info)
cat /proc/cpuinfo (will show you processor
type and more than one if SMP)
top (will show you system memory)
|