diff --git a/docs/SCRATCH_INSTALL.txt b/docs/SCRATCH_INSTALL.txt index 98a2cc51..7d49262d 100644 --- a/docs/SCRATCH_INSTALL.txt +++ b/docs/SCRATCH_INSTALL.txt @@ -164,17 +164,99 @@ 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. +processor machine. If you are new to Linux you probably do not want to do this. -If you want to load a 2.6 kernel then start with step -5, otherwise to use the -2.4 kernel that comes with Slackware(2.4.31) just start at step 1 below: +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.31) 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. make mrproper # prep for kernel assembly +8. 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) + 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 + +9. make clean # clean up the kernel build areas +10. make bzImage # create a kernel bzImage +11. make modules # build the modules into the image +12. make modules_install # install kernel modules +13. cp arch/i386/boot/bzImage /boot/bzImage-XXXX # copy image + (put whatever you want in XXXX, that is your new kernel name) +14. cp System.map /boot/System.map-XXXX # copy system map +15. mv -f /boot/System.map /boot/System.map-orig +16. ln -s /boot/System.map-XXXX /boot/System.map # symlink map +15. 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 +16. /sbin/lilo # run the lilo reload script +17. shutdown -r 0 # reboot machine and hope it worked + + + +OPTION 2: compile Linux kernel 2.4.31 --5. cd /usr/src --4. wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.15.6.tar.gz --3. gunzip linux-2.6.15.6.tar.gz --2. tar xvf linux-2.6.15.6.tar --1. mv -f /usr/src/linux /usr/src/linux-old --0. ln -s /usr/src/linux-2.6.15.6 /usr/src/linux 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 @@ -212,6 +294,12 @@ If you want to load a 2.6 kernel then start with step -5, otherwise to use the 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) + @@ -351,7 +439,7 @@ in and out as separate files LAME is an MP3 encoder used to convert audio files from WAV to MP3. We prefer GSM usually, but some users have standardized on MP3 so they would need this utility to be loaded to use that option. -*OPTIONAL* +*OPTIONAL* (only needed if you will be converting recordings to MP3) 2. Go to http://lame.sourceforge.net/ and download the lame package - to install this directly on the command line type: @@ -390,7 +478,7 @@ terminal to a screenlog file if desired(add a '-L' to the launching command). In our installations this is how we launch Asterisk upon startup and still have the ability to log output and still attach to the screen that executed asterisk originally. -*REQUIRED* +*REQUIRED* *MANDITORY FOR VICIDIAL SERVERS* 4. Go to http://www.gnu.org/software/screen/ and download the screen package - to install this directly on the command line type: @@ -428,7 +516,7 @@ package ntpd is the network time protocol daemon that matches the time on your machine with the time of a master server somewhere in the world. We use it to make sure the time is the same on our client computers and our servers. -*MANDITORY FOR VICIDIAL USERS* (install on server and all clients) +*MANDITORY FOR VICIDIAL SERVERS* (install on server and all clients) 6. Go to http://www.ntp.org/ and download the ntpd package - to install this directly on the command line type: @@ -478,7 +566,8 @@ they are using. *OPTIONAL* ploticus is a free graph creation package that allows you to create line graphs within PNG files simply by creating a config file and a data file. We use this package along with the included PHP script to generate server performance graphs -that can be displayed real-time on a web page. *OPTIONAL* +that can be displayed real-time on a web page. +*OPTIONAL* (only needed for server performance graphing web reports) 8. Go to http://ploticus.sourceforge.net/ and download the package - to install this directly on the command line type: @@ -612,7 +701,7 @@ this loaded on your system. - gunzip subversion-1.3.2.tar.gz - tar xvf subversion-1.3.2.tar - cd subversion-1.3.2 - - ./configure --enable-ssl --with-neon + - ./configure - make - make install