This is an old revision of the document!
Table of Contents
Install Synchronet on a Raspberry Pi (Raspian)
Here are step-by-step instructions on building and installing Synchronet on a Raspbian computer (Raspberry Pi running Debian Linux OS).
Prerequisites
These instructions were created using a Raspberry Pi 3 Model B running Raspbian Stretch, kernel version 4.4:
$ uname -a Linux raspberrypi 4.4.21-v7+ #911 SMP Thu Sep 15 14:22:38 BST 2016 armv7l GNU/Linux
These instructions have recently been confirmed using a Raspberry Pi 3 Model B running Raspbian Stretch Light, kernel version 4.14:
$ uname -a Linux raspberrypi 4.14.71-v7+ #1145 SMP Fri Sep 21 15:38:35 BST 2018 armv7l GNU/Linux
Instructions
Get to a Terminal/command prompt (e.g. login via SSH or run the Terminal application from the PIXEL desktop).
Login as your preferred user account to run the BBS software (e.g. the default user pi
, or create the user sbbs
using the Linux adduser
utility and then run su sbbs
to login as the user sbbs
).
These instructions install Synchronet (source code, executables, configuration, and data files) into a sub-directory named sbbs
off of the home directory of the current user (e.g. ~/sbbs
). If you wish to install into a different directory (e.g. /sbbs
instead of ~/sbbs
), then change the following commands as you see fit.
Type each of these commands:
# | Command | Description |
---|---|---|
1 | sudo apt-get update | Resynchronize your Debian package index |
2 | sudo apt-get install cvs | Install the cvs tool |
3 | sudo apt-get install zip | Install the Info-zip (zip/unzip) tools |
4 | sudo apt-get install libnspr4-dev | Install the Netscape Portable Runtime library (used by Mozilla stuff) |
5 | sudo apt-get install libmozjs185-dev | Install the Mozilla JavaScript development package |
6 | sudo apt-get install libncurses5-dev | Install the curses development package |
7 | mkdir ~/sbbs | Create the directory where Synchronet will be built and run from |
8 | cd ~/sbbs | Change the current working directory to the newly-created directory |
9 | wget http://cvs.synchro.net/cgi-bin/viewcvs.cgi/*checkout*/install/GNUmakefile | Fetch makefile |
10 | make install SYMLINK=1 JSINCLUDE=/usr/include/js JSLIB=mozjs185 | Build it (will likely take quite a while) |
11 | export SBBSCTRL=~/sbbs/ctrl | See env for details on setting this environment variable persistently |
12 | ~/sbbs/exec/scfg | Configure your BBS, see sbbs.ini for more Synchronet server settings |
Now you are ready to either run ~/sbbs/exec/sbbs
directly (you'll need to run using sudo
if you want to use TCP ports < 1024):
$ sudo -E ~/sbbs/exec/sbbs
or see this how-to for instructions on how to run sbbs
as a daemon using systemd.
Note:
This will create 32-bit ARM binaries (executables):
$ file -L sbbs sbbs: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-armhf.so.3, for GNU/Linux 3.2.0
Although it is possible to create 64-bit ARM binaries for the Raspberry Pi 3/3+ through cross-compilation, this is not supported by the Raspberry Pi foundation and thus not covered here.