5.9 KiB
Installation tools for APUs and Raspberry Pi boxes
Supports the following boxes used at LIN sample environment:
- bare-apu: Linux box
- controlbox: from FRM2
- ionopimax: PLC from Sfera Labs with compute module 3
- ionopi: PLC from Sfrea labs with Raspberry Pi 3
- dual-eth-rpi: dual ethernet Raspberry Pi with compute module 4
cfg/
contains the configuration files for all boxes
to_system/
contains the files to be installed in the system
to_<box>/
system files specific for a box (box names as in above list)
config files
filename: cfg/(hostname)_(hexdigits).cfg
- (hostname) the hostname to be given on startup
- (hexdigits) the last six digits of the ethernet adress of the first interface on the APU (leftmost plug)
example content of a config files for a control box:
[BOX]
type=controlbox
[NETWORK]
eth0=192.168.127.254 # leftmost socket: connect here a moxa with factory settings
eth1=192.168.2.2 # connected device will get this ip via DHCP
eth2=192.168.3.3 # or must be configured static to this IP
eth3=dhcp # rightmost socket is the uplink
[ROUTER]
3000=/dev/ttyUSB0 # routing 3000 to the internal serial port /dev/ttyUSB0
5900=192.168.2.33 # routing VNC (local port 5900 to port 5900 on 192.168.2.33
8080=192.168.127.254:80 # routing 8080 to port 80 of 192.168.127.254
[FRAPPY]
cfg=uniax # the cfg file for the frappy server
port=5000 # the port for the frappy server
[DISPLAY]
startup_text=startup...|HOST|ADDR # startup text, 3 lines separated with |
the [BOX] section is optional for controlbox and bare-apu
example content of a config files for a control box:
[BOX]
type=ionopi
[NETWORK]
eth0=wan
network configuration
The example above fits the most cases.
Here a detailed description of possible settings:
fixed IP
eth1=192.168.3.5
Configure the IP address of the connected device to get the specified IP via DHCP or configure the device to with this static IP. The last number must be within 1..254, the APU port itself will get 1 (or 2, if the specified IP is 1).
custom network
eth2=192.168.3.1/24 # our ip address, the static address of the connected device must
# be within 1-254 and not match our own
24 means 24 bit = 3 bytes network address. A local network with static addresses. This way, the APU can get an other address than 192.168.x.1 or 192.168.x.2 or the network address size might be defined other than 24. Probably needed rarely.
uplink via DHCP
eth0=wan # or eth0=dhcp
Uplink configured for DHCP in any network n.x.y.z with n < 192
customized uplink
eth0=wan,192.168.1.0/24
Add more networks to the allowed uplink range. More than one range is allowed, comma separated. Must not overlap networks specified for other ports!
disabled port
eth3=off # disabled
display
available on control boxes (MLZ type) only. must therefore not be present on bare apu boxes.
Installation of a Fresh Control Box or bare APU
Install image by means of the USB stick BOOT_TINY. The stick has TinyLinux on it and some additional scripts, if you do not have one, you may create it from another box.
a) create a USB stick with TinyLinux (omit if you have the stick already)
log in as root/FrappyLinse to an apu box
apu> cd boxtools
apu> ./makeusb
You are asked to give the device name from a list (typically sdb) before it writes to the stick.
b) boot with TinyLinux from USB stick
Connect a Mac with an USB to serial adapter (and null-modem!).
mac> screen /dev/tty.usbserial-130 115200
Do not yet conenct to LAN, if the box is not yet registered to PacketFence. Plug USB stick and start the box, wait for prompt 'tc@box:' and cd into BOOT_TINY
cd /media/BOOT_TINY
c) Determine address/name for registering in PacketFence
sh reg
enter new hostname (HWaddr will be on the output) register to PacketFence and set role to sinq-samenv connect LAN to rightmost socket on a bare APU or the leftmost socket on a control box
d) Copy Image to APU SSD
sh write_to_ssd
some random art images are shown ...
images from l_samenv@samenv:boxes/apuimages:
2022-11-09.lz4
2024-01-18.lz4
which image?
- Enter the image you want to write (typically the last one).
- It will take around 10 mins to write the image.
- remove the stick, power off/on (or do
sudo reboot now
)
e) Install Display Firmware (control box only)
display in test mode?
- finish it by touching several times
cd boxtools git pull sudo python3 display.py fw_display.bin
f) Install Services
login with root/FrappyLinse
> cd boxtools
> git pull
> python3 install.py
...
enter host name:
...
> reboot now
DONE!
f) Cloning an Image from an Existing Box
Use (b) above to boot from the BOOT_TINY USB stick
$ sh clone
You are asked to confirm or change the image name.
Installation of a Fresh Raspberry Pi
install from cloned image (work currently from a Mac only)
Put compute module into PoE adapter, connect microUSB 'POWER' to a USB power supply, and connect micorUSB 'SLAVE' to your computer.
Go to the rpi subdir and then start
cd rpi
`./write_to emmc
You may test starting up the compute module in the PoE adapter, with a LAN cable attached, or directly in the iono pi max.
- on startup, the name will be boxaaaaaa with aaaaaa the last digits of the ethernet address
- a new file should be created in the cfg sub directory
installing RPI tools from an fresh raspberry image (downloaded with Raspberry Pi Imager)
use the script install-ionopimax.sh or install-ionopi.sh (together with configsrtc.sh config-rtc-MCP79410.service) to add the needed items for iono pi and the run time clock
create a clone image
In the rpi subdirectory, execute
./clone
An dated image will be created within about 10 min. and copied to the given directory.