Table of Contents

Raspberry Pi Setup for ErgoTech Software (MIX or TransSECS Deployments) Using Bookworm

This guide explains how to prepare a Raspberry Pi for TransSECS Devices, TransSECS Servers, or MIX.

It is written for someone who may be using Linux or a Raspberry Pi for the first time. You do not need to be familiar with Linux. The guide shows the commands to enter and explains what each important step is doing.

Choose the article you need

Start with Raspberry Pi Base Setup. It prepares the operating system, networking, Java, system logging, startup maintenance, and timekeeping.

After the base setup is complete:

A Raspberry Pi which has completed the base setup can be used to create a clean SD-card master image before installing a particular ErgoTech application.

A few Linux terms

Term Meaning
SSH A text terminal connection from your PC to the Raspberry Pi. Most setup work is done through SSH.
sudo Runs one command with administrator privileges. The Pi may ask for your password.
nano A simple text editor which runs inside the SSH terminal.
service A program which Linux starts automatically and can restart if it stops.
systemd The Linux service manager which starts and monitors services such as MIX or TransSECS.
logrotateA Linux utility which prevents log files from growing indefinitely.
bootfs The small boot partition on the SD card. It contains Raspberry Pi boot configuration files.

Editing a file with nano

Many setup steps use nano. For example:

sudo nano /etc/hosts

Use the arrow keys to move around the file.

Useful keys are:

To save your changes and leave nano:

  1. Press Ctrl+O.
  2. Press Enter to accept the filename.
  3. Press Ctrl+X.

To leave without saving, press Ctrl+X, then press N when nano asks whether to save the modified buffer.

If nano reports Permission denied when saving a system file, leave without saving and reopen the file with sudo nano.

Before changing an existing configuration file

When practical, make a dated backup first. For example:

sudo cp /etc/rc.local /etc/rc.local.bak.$(date +%Y%m%d_%H%M%S)

This makes it much easier to return to the previous configuration if a typing mistake is made.