Skip to content

software installation

Lukas Sigrist edited this page Aug 1, 2023 · 13 revisions

RocketLogger Software Installation

For the installation instructions for versions up to and including 1.1.6, see Software Installation (Version 1.x).

The most straight-forward way to install the RocketLogger software stack is using the pre-built System Image that is based on the latest BeagleBone system image. Alternatively, an official BeagleBone image can be flashed onto the BeagleBone and the RocketLogger system configuration and software installed step by step on top of it, as detailed in Install on official BeagleBone Image.

Prerequisites

Before starting the software installation, make sure to meet the following prerequisites:

  • BeagleBone Green (recommended) or Black as host platform
  • RocketLogger Cape, verified and installed on the host platform as described in Hardware Initial Operation
  • Reasonably fast micro SD card with a minimal capacity of 2 GB for the system setup (UHS-I U3 card with at least 32 GB is recommended)
  • 5 V, 2 A microUSB power supply
  • Optional RocketLogger case to protect the logger and enable a nicer user interface

The installation on top of an official BeagleBone system additionally requires:

  • Internet connectivity from the RocketLogger
  • Linux host computer connected to the same network as the RocketLogger to run the remote system configuration and installation scripts

Install Prebuilt System Image

The recommended and most straight-forward way to install the RocketLogger software is flashing the prebuilt RocketLogger system flasher image provided with every RocketLogger release (starting with version 2.0.0).

The RocketLogger system image can also be built locally: the required scripts are provided within the RocketLogger repository. For more information and instructions, check the respective README in the software/system subfolder of the repository.

To install the RocketLogger system image, follow the installation steps below that are divided into three sections.

Prepare the Flasher SD Card

  1. Download the RocketLogger system image rocketlogger-flasher-v<version>.img.xz from the release page, e.g. for version 2.1.2: rocketlogger-flasher-v2.1.2.img.xz.
  2. Optionally, verify the SHA-256 hash of the downloaded system image file.
  3. Download the system flasher image onto the SD card using one of the following two alternatives:
    • On a Linux operating systems, the image can be downloaded to the SD card using the flash_system.sh script. The script arguments are detailed in the comments section at the beginning of the file.
    • Alternatively, use the balenaEtcher to download the image to the SD card which is available for most operating system. For detailed instructions, follow Steps #0.B to #0.F of the official BeagleBone Getting Started Guide.

Flash the RocketLogger System

  1. Insert the SD card into the (powered-down) RocketLogger.
  2. Power up the RocketLogger by inserting the microUSB power supply.

    When installing to a BeagleBone Black: make sure to press the USER/BOOT button during startup in order to boot from the SD card.

  3. After the boot procedure of about 30 seconds, the flashing procedure of the internal eMMC starts. This is indicated by moving LED lights. Wait for about 5 minutes for this process to complete and the RocketLogger to power down completely, i.e. until all LEDs are turned off.
  4. Unplug the microUSB power supply and remove the SD card.

    Hint: you might want to use the same SD card to flash additional RocketLogger systems by starting over at step 4, before proceeding to the next step.

Finalize RocketLogger System

  1. Initialize the SD card with a file system partition for storing RocketLogger configuration and measurement data using the prepare_sdcard.sh script. The command line arguments are detailed in the comments section at the beginning of that script. For details on the file system structure and how to set it up manually, refer to the section RocketLogger Data SD Card.
  2. Insert the prepared RocketLogger data SD card and power up the RocketLogger to complete the software installation.
  3. For security reasons, consider updating the default login configuration.

Before using the RocketLogger for power measurement you should perform a calibration by following the instruction under Calibration.

Install on Official BeagleBone Image

The recommended and most straight-forward way to install the RocketLogger software is flashing the prebuilt RocketLogger system flasher image provided with every RocketLogger release (starting with version 2.0.0).

To install the RocketLogger software on top of an official BeagleBone system image, follow the installation steps below that are divided into four sections.

Prepare the BeagleBone SD Card

  1. Clone the RocketLogger repository from https://github.com/ETHZ-TEC/RocketLogger and change to the software/system folder for the following steps.
  2. Download and verify the BeagleBone Debian image using the get_image.sh script.
  3. Flash the downloaded BeagleBone image to the SD card using the flash_system.sh script. The command line arguments are detailed in the comments section at the beginning of that script.

Flash the BeagleBone System

  1. Flash the BeagleBone image using the prepared SD card by following the steps described in section Flash the RocketLogger System.
  2. Once the flashing procedure has completed, remove the SD card and reboot the RocketLogger by removing and re-plugging the microUSB power supply.

Install the RocketLogger System

  1. Start the system installation by executing the remote_setup.sh from within the repository's software/system folder. The script requires a mandatory argument specifying the host to initialize and an optional hostname to configure. The remote setup script requires manual input for logging into the system:
    • To start the initial system reconfiguration, the BeagleBone image default password temppwd will be asked several times.
    • The software installation step after system reconfiguration will ask for the default RocketLogger password for the rocketlogger user: beaglebone.
  2. Wait for the setup to complete and the BeagleBone to shut down.

Finalize Remote System Setup

  1. Complete the system setup by following the final steps in the Finalize RocketLogger System section above.

RocketLogger Data SD Card

As of version 2.0.0, the RocketLogger system runs from the internal eMMC memory and the SD card is used solely to store RocketLogger configuration files and measurement data.

SD Card Structure

The RocketLogger system assumes an ext3, ext4 or FAT32 file system with the following folder structure:

  • rocketlogger/config - folder containing configuration data such as:
    • user calibration data
    • default measurement configuration
    • calibration measurement data
  • rocketlogger/data - default folder used to store any measurement data files
    • the data within this folder is exposed to and manageable through the web interface

SD Card Initialization

To set up a RocketLogger Data SD card from your favorite operating system:

  1. Format the SD card with an ext3, ext4 or FAT32 file system
  2. Mount the file system and create a rocketlogger folder, and within the rocketlogger folder create the three subfolders: config, data and log.
  3. For Linux file systems, provide write access to the rocketlogger folder to all users, e.g. by executing
    chmod -R 777 rocketlogger
    in the root folder of the SD card's file system.
  4. If available, copy existing RocketLogger configuration files, such as device specific calibration data (calibration.dat), to the rocketlogger/config folder on the SD card.

For Linux operating systems, the prepare_sdcard.sh bash script is provided in the RocketLogger repository to automate the above steps 1-3. The command line arguments are detailed in the comments section at the beginning of that script.

For Windows operating systems, it is recommended to use the diskpart command line utility to format the SD card. Follow the steps below to format any SD card with FAT32 file system covering the entire SD card:

  1. Press Windows + R and enter diskpart to start the command line utility
  2. Within the diskpart command line utility, enter the following sequence of commands to erase the entire SD card and create a clean FAT32 file system:
    • list disk - lists all available disks. Identify the disk number of the SD card to format using the shown output -- the disk size column helps identifying the correct disk.
    • select disk N, where N refers to the disk number identified in the in the previous step - selects the SD card disk for the steps following.
    • clean - erases the SD card contents (irrecoverably)
    • create partition primary - creates a new primary partition covering the entire SD card
    • format fs=fat32 quick - formats the partition with a FAT32 file system
    • exit - terminates the diskpart utility when done
  3. Continue with steps 2 and 4 in the general description above to prepare the folder structure of the RocketLogger Data SD card.

RocketLogger SSH Configuration

Note: It is highly recommend to replace the standard SSH key with a self generated SSH key. To do so, replace both files in the /home/rocketlogger/.ssh/ folder!

How to generate your key is explained in the SSH Help at GitLab.

After the RocketLogger installation, you will only be able to login as rocketlogger user with the default SSH key. The user password is only useful for gaining root privileges once logged in (using sudo). Password only and root logins are blocked. The required settings are summarized in the table below.

<host> refers to the RocketLogger's IP address or hostname.

Setting RocketLogger default SSH flag
SSH port 2322 -p 2322
Private key rocketlogger.default_rsa -i rocketlogger.default_rsa
Username rocketlogger rocketlogger@<host>
User password beaglebone not used for login

The full SSH login command for the RocketLogger configuration is:

ssh -p 2322 -i ~/.ssh/rocketlogger.default_rsa rocketlogger@<host>

After successful login, an SSH session starting with rocketlogger@beaglebone:~$ should be opened.

Troubleshooting Installation

  1. The BeagleBone does not boot from SD card.

    • The BeagleBone Green and Black have different boot order priorities. While the BeagleBone Green boots from an SD card by default, the USER button needs to be pressed on the BeagleBone Black.
    • If the system still does not boot from SD card, verify that the SD card is marked as bootable and has a bootloader installed. Try flashing the SD card again if in doubt.
    • Remove the SD card and any power supply from the RocketLogger for more than 10 seconds and try again.
  2. The installation procedure does not start as described (no moving LEDs after more than 1 minute).

    • Check remark above on booting from SD card.
    • Use a fast SD card (UHS-I U3 or minimum speed class 10 card recommended), otherwise the installation process might be significantly slower.