Install Process

From "PTTLink Wiki"
Revision as of 04:50, 28 January 2019 by N8THN (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

This section provides technical details of how the ACID install works.

A customized version of disk 1 of Centos with a kickstart file (ks.cfg) boots, re-formats the hard disk on your system and then installs a barebones version of Centos with just enough smarts to fetch a script from dl.allstarlink.org. This disk image rarely changes from one ACID version to the next, and is coded to always get its scripts and other files from dl.allstarlink.org. Note, the install disk is based off of Centos 5.X, but that could change at some point in the future.

Once the barebones system is in place, you are prompted to remove the installation disk and the system then reboots when you press any key. During this last phase, a phase1.sh loader is installed in rc.local so the next time the system boots, phase1.sh will be downloaded and executed.

When the system boots again network connectivity is now required. The phase1.sh script is fetched from dl.allstarlink.org, and executed. The phase1.sh script downloads the Centos GPG key, then then does an update from the Centos repository to being Centos up to the latest version. It then installs some required applications (ntp, screen, sox and others). Once these programs are installed, it then upgrades itself to a limited Linux development system by installing the C compiler toolchain and some support tools. Once the tools are in place, the rc.local script is modified again to download phase2.sh on the next system reboot. After this is completed, the system is rebooted, as the kernel has very likely been updated during the update from the Centos repository.

On the second reboot, phase2.sh is fetched and executed by the loader in rc.local. This script then downloads the asterisk install script astinstall.sh and executes it. The astinstall script downloads the source code files files.tar.gz, unpacks it in /usr/src, and then proceeds to build and install Zaptel, libpri, and Asterisk from the unpacked source files. Once the build completes, control is returned to the phase2.sh script which proceeds to copy the default config files from /usr/src/configs/usbradio to /etc/asterisk and /etc, download the setup scripts and place them in /usr/local/sbin, and download other necessary files and control scripts needed for a working system. Unnecessary daemons (i.e. services) are then turned off. Finally, the user is prompted to change the root password, supply a node number, and node password, and optionally supply a callsign for the node. After this information is entered, the user is prompted to plug in the URI or modifiec USB fob, and the system automatically reboots in 10 seconds.

When the system reboots for the third time, The Zaptel drivers are loaded, and Asterisk is automatically run. The LED on the USB fob will start flashing and SSH connections will also be accepted on port 222.