====== 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 [[BaseRaspberryPiSetupBookworm] |Raspberry Pi Base Setup]]. It prepares the operating system, networking, Java, system logging, startup maintenance, and timekeeping.
After the base setup is complete:
* Use [[InstallingTransSECSDeploymentsOnRPi]|Installing Your TransSECS Deployment on a RPi]] for TransSECS Devices or TransSECS Servers Deployments (and Programmatic TransSECS applications).
* Use [[InstallingMIXOnRPi]|Installing MIX on a Raspberry Pi]] for MIX.
* Use [[SetupChromeKioskOnRpi]|Setup Chrome Kiosk on Raspberry Pi]] only when the Raspberry Pi itself will drive an HDMI monitor or touch screen for an MIStudio designed MIX UI.
* Go to [[RaspberryPiTroubleshootingandSupportChecks]| Raspberry Pi Troubleshooting and Support Checks]] when something is not working.
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. |
|**logrotate**|A 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:
* **Ctrl+W** searches for text.
* **Ctrl+K** removes the current line.
* **Ctrl+U** pastes a line which you removed with Ctrl+K.
* **Page Up** and **Page Down** move through a long file.
* To paste text from your PC, copy it normally and paste into the terminal. In many Linux terminals, **Shift+Insert** also pastes.
To save your changes and leave nano:
- Press **Ctrl+O**.
- Press **Enter** to accept the filename.
- 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.