This is an old revision of the document!
Replace the validation paragraph near the top with
This guide was validated using a Raspberry Pi 4 with Raspberry Pi OS Bookworm Legacy 64-bit Lite installed through Raspberry Pi Imager. The current TransSECS and MIX deployments were validated on this system using Java 25. Sections describing Raspberry Pi 5 hardware, command-line imaging, or MIX-specific network configuration are retained as reference information where noted but were not part of the Raspberry Pi 4 base-setup validation.
10. Install Java 25
Current ErgoTech TransSECS and MIX deployments validated with this guide require Java 25.
The validated Raspberry Pi installation used Azul Zulu OpenJDK 25.0.3 for ARM64:
/opt/java/zulu25.34.17-ca-fx-jdk25.0.3-linux_aarch64
Install the approved Java 25 ARM64 distribution under:
/opt/java
After installation, verify the Java executable directly:
/opt/java/zulu25.34.17-ca-fx-jdk25.0.3-linux_aarch64/bin/java -version
The validated installation reports:
openjdk version "25.0.3" OpenJDK Runtime Environment Zulu25.34+17-CA OpenJDK 64-Bit Server VM Zulu25.34+17-CA
Also verify that the Java executable exists:
ls -l /opt/java/zulu25.34.17-ca-fx-jdk25.0.3-linux_aarch64/bin/java
The deployment procedures select this Java installation explicitly.
For example, MIX uses:
MIX_JAVA_HOME=/opt/java/zulu25.34.17-ca-fx-jdk25.0.3-linux_aarch64
TransSECS can select the same Java installation by placing its bin directory first in PATH:
PATH=/opt/java/zulu25.34.17-ca-fx-jdk25.0.3-linux_aarch64/bin:$PATH
It is therefore not necessary for the Raspberry Pi's system-wide java command to be changed in order for MIX or TransSECS to use Java 25.
Java 8 is not installed as part of the current base setup. The current TransSECS deployment was tested with Java 8 and could not start because the deployed classes require Java 25.
Older ErgoTech software releases may have different Java requirements. Follow the release-specific installation instructions when maintaining an older system.
14. Verify the base setup
Reboot:
sudo reboot
After about a minute, reconnect with SSH and run:
/opt/java/zulu25.34.17-ca-fx-jdk25.0.3-linux_aarch64/bin/java -version cat /var/log/ergotech-boot-maintenance.log df -h / timedatectl ip -br addr ip route
Verify:
- Java 25 starts successfully from
/opt/java/zulu25.34.17-ca-fx-jdk25.0.3-linux_aarch64. - Java reports version
25.0.3for the validated installation. - The boot-maintenance log contains a new start and finish entry from the reboot.
- The root filesystem has plenty of free space.
- The system time and time zone are correct.
- The network interface intended for the installation is
UPand has the expected IP address. - The routing table contains the expected gateway.
Also verify that the startup-maintenance service completed successfully:
systemctl status rc-local.service --no-pager
It should show:
Active: active (exited)
For a Raspberry Pi 3 or 4, verify that the saved fake-hardware-clock value exists:
cat /etc/fake-hwclock.data
If a fixed IP address was configured, reconnect using that address after the reboot to confirm that the network configuration persisted.
At this point the SD card can be preserved as a completed base image before TransSECS or MIX is installed.
Before removing the SD card, shut the Pi down cleanly:
sudo shutdown -h now
Wait until the Raspberry Pi has fully shut down before removing power or the microSD card.
A Pi created from the image still needs the correct network settings and a unique hostname when several Pis share a network. Each individual system also requires its own ErgoTech license.
