v1.2.0
josephnobes-stfc
released this
19 Apr 15:59
·
23 commits
to master
since this release
Init Script Overhaul
Init scripts have been overhauled for a more robust, standardised boot process. This has had a focus on defining predictable behaviour for every detector system and removing the requirement for non-standard boot scripts placed in SD cards varying by system causing confusion. Everything is now central. A particular focus has been placed on ensuring that a machine set up for interfacing with LOKI-based control systems does not require any additional configuration when switching between LOKI control boards, detectors, or even detector types.
- Persistent files and directories have been moved from flash to eMMC. This is because the SoM is now considered an interchangeable part, and therefore all storage of detector-specifics are stored on the LOKI control PCB itself.
- Dedicated eMMC bootstrapping script will automatically format and partition the eMMC on first boot, making the first bring-up of a new LOKI board no different to any other boot.
- This script also bind mounts persistent network interface settings from an eMMC. See networking below.
- Dedicated system ID recovery script will recover a System ID from the eMMC. This can be programmed manually with the use of a new helper function (see below), but will default to the already unique serial number of the eMMC module.
- Default configuration directory for odin-control is now in eMMC
- Dedicated host mounting script will search for a controlling host PC and mount directories from it
- The host PC IP and export location can be overridden with a file in eMMC
- The export directory will automatically be separated by application (detector type) name
- Exact structure, and what is or isn't included is the choice of the host; they create a
layout.conf
file to specify what is present, and the LOKI system will interpret it- If there is no file yet present, an example will be dropped in
- It is possible to either share configuration with all detectors of the same type, or have separated directories by System ID
- This can be specified on a per-directory basis
- For example, one could provide sequences for every HEXITEC-MHz system from a common directory, but have different detectors have different SPI data export directories.
- The host machine doesn't have to provide anything at all; no export directory will not prevent boot, and will still allow interfacing with the web UI
ECDSA SSH Host Key Support:
- Dropbear now generates an ECDSA host key alongside the RSA one, which prevents issues connecting from systems refusing to use old ciphers.
Helper Aliases / Functions:
- Several helper functions have been added to the environment (all starting with
loki_
) to make common operations easierloki_info
prints out some basic information about the application, module, versionsloki_set_system_id
will set the System ID stored in the eMMCloki_system_id
will return the current System IDloki_update_image_flash
will program a specifiedimage.ub
file into the SoM flash (not typical)loki_update_image_emmc
will program a specifiedimage.ub
file into the eMMC (reccomended)loki_remount_host
will remove and re-mount the control host directoriesloki_set_static_ip
a quick way of writing a config to eMMC that will be picked up by the networking service to add a static address- This uses an alias, therefore not preventing DHCP from operating at the same time; good as a fallback
- This would mean the control host could be a machine without a DHCP server
loki_restart_app
will restart theodin-control
instanceloki_stop_app
will stop theodin-control
instance
Networking Upgrades:
- DHCP by default, support for static addresses (or anything that could be specified in an interfaces file). See helpers.
What's Changed
- Version 1.2.0 by @josephnobes-stfc in #54
Full Changelog: v1.1.1...v1.2.0