HELP

OS installation

Put nodexOS on a new BeagleBone, Raspberry Pi, Variscite or ESP32 board, or Nodex Nomad on an x86_64 PC.

Write nodexOS to an SD card

A new board needs nodexOS once. After that, OS and supervisor updates arrive over the network, and the board rolls back on its own if an update doesn't boot.

  1. Download the image

    In your fleet, click Add device, pick the device type and download nodexOS. The nodexa-os-<version>-<board>.wic.zip file already carries the fleet's provisioning, and the WiFi network if you entered one.

  2. Write it to a microSD card

    The easiest way is balenaEtcher (Windows, macOS, Linux): pick the .wic.zip as-is, pick the card, and flash. From a terminal instead:

    macOS

    diskutil list                      # find the card, e.g. /dev/disk4
    diskutil unmountDisk /dev/disk4
    unzip -p nodexa-os-<version>-<board>.wic.zip '*.wic' | sudo dd of=/dev/rdisk4 bs=4m status=progress
    sync && diskutil eject /dev/disk4

    Linux

    lsblk                              # find the card, e.g. /dev/sdb
    sudo umount /dev/sdb?*
    unzip -p nodexa-os-<version>-<board>.wic.zip '*.wic' | sudo dd of=/dev/sdb bs=4M status=progress conv=fsync

    dd overwrites the whole disk you give it. Check the device name in diskutil list or lsblk twice; picking your computer's own disk erases it.

  3. Boot the board from the card, as described below
  4. Wait for the device to appear in the fleet's device list

    This takes a few minutes and needs Ethernet with DHCP, or the WiFi network you set when downloading.

Boot a BeagleBone Black

The board has its own eMMC storage. nodexOS boots once from the SD card, copies itself onto the eMMC, and from then on runs from the eMMC without the card.

  1. Insert the card, hold the S2 (boot) button and power on

    Let go once the LEDs start. Without S2 the board boots whatever is already on its eMMC.

  2. Wait while it copies itself to the eMMC

    This starts on its own. USR2 blinks while copying and goes solid when it's done; USR0 blinks whenever nodexOS is running. The board then powers itself off.

  3. Remove the SD card and power on again

    No need to hold S2. The board now boots nodexOS from the eMMC.

Any board that boots from this card has its eMMC overwritten without asking. Don't put the card into a board you want to keep as it is.

Serial console

Connect a USB-to-TTL (3.3V) adapter to the debug UART header at 115200 8N1. On macOS the adapter shows up as /dev/tty.usbserial-*.

If the eMMC copy doesn't seem to happen

systemctl status nodexa-flash-emmc.service --no-pager
journalctl -u nodexa-flash-emmc.service --no-pager
ls /var/lib/nodexa/nodexa-emmc-flash/done   # exists once the copy has finished

To copy again, delete that done file, or run nodexa-flash-emmc by hand (nodexa-flash-emmc --help lists its options).

Check the device

Log in on the serial console or the board's terminal in the dashboard, then:

cat /etc/os-release                        # nodexOS version
systemctl status nodexa-agent --no-pager   # supervisor running
journalctl -u nodexa-agent -n 50           # registering with the cloud

More in Debugging.