<metaname="description"content="Turn the Beaglebone Black into a personal communications server"
/>
<metaname="keywords"content="freedombox, debian, beaglebone, red matrix, email, web server, home server, internet, censorship, surveillance, social network, irc, jabber"/>
<li>Optionally a 5V 2A power supply for the Beaglebone Black
</li>
<li>Access to the internet via a router with ethernet sockets
</li>
<li>USB thumb drive (for backups or storing media)
</li>
<li>One or more subdomains created on <ahref="https://freedns.afraid.org/">https://freedns.afraid.org/</a>
</li>
<li>A purchased domain name and SSL certificate (only needed for Red Matrix)
</li>
<li>A laptop or desktop machine with the ability to write to a microSD card (might need an adaptor)
</li>
</ul>
<p>
You will also need to know, or find out, the IP address of your internet router and have a suitable static IP address for the Beaglebone on your local network. The router should allow you to forward ports to the Beaglebone (often this is under firewall or "advanced" settings).
</p>
<p>
Check that within <b>initial_setup.sh</b> the router IP address and static IP for the Beaglebone are set correctly.
</p>
<p>
Plug the microSD card into your laptop/desktop and then run the <b>initial_setup.sh</b> script. For example:
where <b>/dev/sdX</b> is the device name for the microSD card. Often it's <b>/dev/sdb</b> or <b>/dev/sdc</b>, depending upon how many drives there are on your system. The script will download the Debian installer and update the microSD card. It can take a while, so be patient.
</p>
<p>
When the initial setup is done follow the instructions on screen to run the main Freedombone script. You can either edit the variables within the <b>install-freedombone.sh</b> script directly, or create a separate configuration file called <b>freedombone.cfg</b> which contains those variables. Variables which you might want to put into a <b>freedombone.cfg</b> file are:
The GPG public/private key variables are for the filenames of exported GPG keys, and if a private key filename is given then it will be automatically shredded after import.
</p>
<p>
The FreeDNS subdomain codes can be found under "Dynamic DNS" and "quick cron example". On the last line it will be the string located between the '?' and the '==' characters.
</p>
<p>
The syntax of the <b>install-freedombone.sh</b> script is:
If you don't specify a variant type with the final option then everything will be installed. If you have a <b>freedombone.cfg</b> file then it should be in the same directory as <b>install-freedombone.sh</b>.
</p>
<p>
Installation is not quick, and depends upon which variant you choose and your internet bandwidth. Allow about three hours for a full installation on the Beaglebone Black. On the Beaglebone installation is in two parts, since a reboot is needed to enable the hardware random number generator and zram.
Any manual post-installation setup instructions or passwords can be found in <b>/home/username/README</b>. You should remove any passwords from that file and store them within a password manager such as KeepassX.
It's also possible to install Freedombone onto other hardware, including other types of single board computer. Any system with a fresh installation of Debian Jessie will do. Just make sure that you change the variable INSTALLING_ON_BBB to "no" within <b>freedombone.cfg</b> or the <b>install-freedombone.sh</b> script. Obviously, you don't need to run the <b>initial_setup.sh</b> script on non-Beaglebone systems.
<li>Download the <ahref="https://www.debian.org/devel/debian-installer">Debian Jessie "netinst" installer</a>
</li>
<li>Use <ahref="https://apps.ubuntu.com/cat/applications/usb-creator-gtk/">Startup Disk Creator</a> or <ahref="https://en.wikipedia.org/wiki/UNetbootin">Unetbootin</a> to copy the netinst image to a USB thumb drive
<li>Connect the machine to your internet router using an ethernet patch lead. Freedombone is a fully free (as in freedom) system and so wifi drivers may not work. A wired network connection will give better performance anyway.
<li>On the target machine boot from the USB drive and go through the installation. It's a good idea to use LVM and disk encryption together with a long passphrase which will be hard to crack by brute force methods. Keep a note of the passphrase in your password manager.
</li>
<li>Within the installer unselect the <b>print server</b> and select the <b>ssh server</b>
</li>
<li>After installation use ssh to access the machine and become the root user
<li>If you have GPG keys you may wish to transfer them to the <b>/home/usernname</b> directory. If the machine has a second USB socket or an SD card slot then that may be the most secure way to do it.