A script to facilitate the installation of asterisk/FreePBX on an ARM-based SBC (focus: Raspberry Pi 3B+) running Manjaro ARM.
THE PROJECT IS CURRENTLY ON HOLD, SINCE THERE ARE ISSUES WITH THE AVAILABILITY OF UP-TO-DATE SOURCE FILES FOR ASTERISK/FREEPBX FOR ARM LINUX IN GENERAL AND ARCH ON ARM/MANJARO ESPECIALLY! THAT IS WHY THE SCRIPT NEEDED TO DO THE INSTALLATION DESCRIBED BELOW HAS NOT YET BE UPLOADED.
- Computer running Linux where you have root permissions.
- SBC which can run Manjaro ARM
(list of supported devices: https://gitlab.manjaro.org/manjaro-arm/documentation/manjaro-arm-wiki/-/wikis/Device-Support) - Display, Ethernet cable/adapter (Wifi currently not supported), keyboard and mouse which can be connected to your SBC.
- Downloaded Manjaro ARM Image suitable for your SBC (Minimal recommended, but others should also work).
- SD card (should be fast; recommendation: class 10) of at least 8 GB, better 16 GB.
- SD card reader which can be used with the Linux computer.
- Software to write Image files to SD card (recommended tool: Balena Etcher, although command line tools like
dd
can be used by experts).
- Burn the Manjaro ARM Image on a SD card.
- Open the ext4 ROOT-Partition on the SD card with root permissions in a file browser (command line should also work, but is trickier).
- Locate the
manjaro-arm-oem-install
script (for a Raspberry Pi, it should be located at/usr/share/manjaro-arm-oem-install/
). - Download/clone this git repository.
- Open the file
TOBEADDED
provided in this repository in a text editor/development enviroment and adjust theSCRIPTPATH
variable with the information obtained in Step 3 as needed
(for a Raspberry Pi, the defaultSCRIPTPATH="/usr/share/manjaro-arm-oem-install/manjaro-arm-oem-install"
should be correct). - Delete the original
manjaro-arm-oem-install
file on the SD card and add the modifiedTOBEADDED
. Rename the replacement fileTOBEADDED
tomanjaro-arm-oem-install
. - Copy the folder
TOBEADDED
from the downloaded git repository to themanjaro-arm-oem-install
parent folder on the ROOT partition of the SD card (for a Raspberry Pi, the parent folder is/usr/share/
). - Close all the file browsers, unmount the SD card.
- Insert the SD card into your SBC. Connect a display, Ethernet, keyboard and mouse.
- Power-on the SBC. After the Manjaro logo splash screen, the script will be executed. During the first boot cycle, you will need to set passwords, time zone, locales etc.
- After applying these inital settings, the system will automatically reboot. During the second boot cycle, all the relevant packages will be installed. Due to the fact that many have to be custom compiled from source, this can take some considerable amount of time (depending on the speed of your internet and SBC processor this could take hours).
- After a final reboot, the automated ARMchairPBX configuration is finished. Now you can manually set the ssh behaviour/security and configure your PBX via the FreePBX web GUI (where you have to add trunk(s), extensions, inbound/outbound routes, etc.).
- You have to manually tweak the security settings (ssh, firewall, etc.) to your requirements. The needs and technical prerequisites differ largely and therefor could not be taken into account during the automatic setup procedure.
- Most SBCs do not react well to sudden power outages. One always has to power them off properly, otherwise data corruption will occur. It is highly recommended to install a UPS and a shutdown script, especially if one is planning to use the ARMchairPBX as ones main connection to the outside world (imagine needing to place an emergency call and the PBX does not work properly due to data corruption...).