Synchronet v3.19b-Win32 (install) has been released (Jan-2022).

You can donate to the Synchronet project using PayPal.

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
howto:raspbian_install [2021/05/18 21:04] – [Instructions] remove zip and sudo, add libarchive-dev to instructions digital manhowto:raspbian_install [2024/10/11 22:16] (current) – Installation make command-line updated to reflect new makefile name and default target digital man
Line 1: Line 1:
-====== Install Synchronet on a Raspberry Pi (Raspian) ======+====== Install Synchronet on a Raspberry Pi ======
  
-Here are step-by-step instructions on building and installing Synchronet on a [[http://www.raspbian.org/|Raspbian]] computer ([[http://www.raspberrypi.org|Raspberry Pi]] running [[http://www.debian.org/|Debian]] Linux OS).+Here are step-by-step instructions on building and installing Synchronet on a [[http://www.raspberrypi.org|Raspberry Pi]] running either [[http://www.raspbian.org/|Raspbian]] or [[https://www.raspberrypi.com/software/|Raspberry Pi OS 32-bit]]
 + 
 +**Note:** While Raspbian and the 32-bit version of Raspberry Pi OS are virtually identical, the 64-bit version of Raspberry Pi OS is a significant departure from Raspbian. These instructions are untested on the 64-bit version.
  
 {{:howto:rpi.png?100|}} {{:howto:rpi.png?100|}}
Line 16: Line 18:
   Linux raspberrypi 4.14.71-v7+ #1145 SMP Fri Sep 21 15:38:35 BST 2018 armv7l GNU/Linux   Linux raspberrypi 4.14.71-v7+ #1145 SMP Fri Sep 21 15:38:35 BST 2018 armv7l GNU/Linux
      
 +These instructions have recently been confirmed using a Raspberry Pi 4 running Raspberry Pi OS, kernel version 6.1.0:
 +  $ uname -a
 +  Linux raspberrypi 6.1.0-rpi7-rpi-v8 #1 SMP PREEMPT Debian 1:6.1.63-1+rpt1 (2023-11-24) aarch64 GNU/Linux
 ===== Instructions ===== ===== Instructions =====
  
Line 24: Line 29:
 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''). So if the current user is "pi", that would expand to ''/home/pi/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, but that is not recommended. 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''). So if the current user is "pi", that would expand to ''/home/pi/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, but that is not recommended.
  
-Type each of these commands (see [[install:nix:prerequisites]] for a complete list of dependencies)+Install all the [[install:nix:prerequisites]] for Debian/Ubuntu for version 23.00 upwards then follow the instructions below
 +**Note: If using an Rpi4 use a 64 bit Raspberry Pi OS and download arm64 instead of armhf.**
 ^ # ^ Command                                  ^ Description ^ ^ # ^ Command                                  ^ Description ^
-| 1 |''sudo apt-get update''                   Resynchronize your Debian package index +| 1 | mkdir ~/deb_packages                 Create a directory to store some packages for manual installation 
-| 2 | ''sudo apt-get install git''             Install the [[dev:Git]] tools +| 2 | cd ~/deb_packages                    Change the current working directory to the newly-created directory 
-| 3 | ''sudo apt-get install libnspr4-dev''    Install the Netscape Portable Runtime library (used by Mozilla stuff) +| 3 | wget http://archive.debian.org/debian/pool/main/libf/libffi/libffi6_3.2.1-6_armhf.deb or \\ wget http://archive.debian.org/debian/pool/main/libf/libffi/libffi6_3.2.1-6_arm64.deb Download libffi6 
-| 4 | ''sudo apt-get install libmozjs185-dev''Install the Mozilla JavaScript development package +| 4 | ''wget http://archive.debian.org/debian/pool/main/m/mozjs/libmozjs185-1.0_1.8.5-1.0.0+dfsg-6_armhf.deb or\\ wget http://archive.debian.org/debian/pool/main/m/mozjs/libmozjs185-1.0_1.8.5-1.0.0+dfsg-6_arm64.deb''Download libmozjs185-1.0 
-| 5 | ''sudo apt-get install libncursesw5-dev''Install the curses development package (wide char variant) +| 5 | ''wget http://archive.debian.org/debian/pool/main/m/mozjs/libmozjs185-dev_1.8.5-1.0.0+dfsg-6_armhf.deb or\\ wget http://archive.debian.org/debian/pool/main/m/mozjs/libmozjs185-dev_1.8.5-1.0.0+dfsg-6_arm64.deb''Download libmozjs185-dev 
-| 6 | ''sudo apt-get install libarchive-dev''  | Install the libarchive development package |+| 6 | ''sudo apt install ./lib*.deb'' | Install libs and dependencies|
 | 7 | ''mkdir ~/sbbs''                         | Create the directory where Synchronet will be built and run from | | 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 | | 8 | ''cd ~/sbbs''                            | Change the current working directory to the newly-created directory |
-| 9 | ''wget [[https://gitlab.synchro.net/sbbs/sbbs/-/raw/master/install/GNUmakefile]]'' | [[install:nix:Fetch makefile]] | +| 9 | ''wget [[https://gitlab.synchro.net/sbbs/sbbs/-/raw/master/install/install-sbbs.mk]]'' | [[install:nix:Fetch makefile]] | 
-|10 | ''make install SYMLINK=1 JSINCLUDE=/usr/include/js JSLIB=mozjs185'' | Build it (will likely take quite a while) |+|10 | ''make -f install-sbbs.mk SYMLINK=1 JSINCLUDE=/usr/include/js JSLIB=mozjs185'' | Build it (will likely take quite a while) |
 |11 | ''export SBBSCTRL=~/sbbs/ctrl''          | See [[config:env]] for details on setting this environment variable persistently | |11 | ''export SBBSCTRL=~/sbbs/ctrl''          | See [[config:env]] for details on setting this environment variable persistently |
 |12 | ''~/sbbs/exec/[[util:scfg]]''            | Configure your BBS, see ''[[config:sbbs.ini]]'' for more Synchronet server settings | |12 | ''~/sbbs/exec/[[util:scfg]]''            | Configure your BBS, see ''[[config:sbbs.ini]]'' for more Synchronet server settings |
Line 52: Line 57:
      
 Although it [[https://www.tal.org/tutorials/raspberry-pi3-build-64-bit-kernel|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. Although it [[https://www.tal.org/tutorials/raspberry-pi3-build-64-bit-kernel|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.
 +
 +====== DOSEMU On Raspberry Pi 4 with 64 Bit OS ======
 +
 +You will need to add the DosEMU2 Launchpad PPA to your system.
 +
 +First, add the public key
 +
 +  $ sudo curl -sS 'https://keyserver.ubuntu.com/pks/lookup?op=get&search=0xebe1b5ded2ad45d6'|gpg --dearmor > /etc/apt/trusted.gpg.d/ubuntu-dosemu2-ppa.gpg
 +
 +This step seems to be a challenge for some people so you may have to break it into a couple of steps
 +
 +  $   curl -sS 'https://keyserver.ubuntu.com/pks/lookup?op=get&search=0xebe1b5ded2ad45d6' | gpg --dearmor > /tmp/dosemupgp.txt
 +  $   sudo mv /tmp/dosemupgp.txt /etc/apt/trusted.gpg.d/ubuntu-dosemu2-ppa.gpg
 +  
 +Second, create a source file
 +
 +  $ sudo echo "deb https://ppa.launchpadcontent.net/dosemu2/ppa/ubuntu kinetic main" > /etc/apt/sources.list.d/dosemu2
 +  
 +Next, run apt update to make sure there are no issues
 +
 +  $ sudo apt update
 +  
 +Then install the DosEMU2 files
 +
 +  $ apt install dosemu2
 +  
 +A number of packages will be installed.
 +
 +Finally, download Nelgin's dosemu2 configurations. Untar the file and follow the readme. You should be left with a working DosEMU
 +
 + $ wget https://www.endofthelinebbs.com/dosemu2.tar.gz
 + $ tar xf dosemu2.tar.gz
 +
  
 ===== See Also ===== ===== See Also =====