NEPI Engine – Software Updating, Backup, and Cloning
Introduction
NEPI includes a flexible system for updating, backing up, and cloning the NEPI Engine software system. Typical steps for a updating, backing up, and cloning complete system images are provided below. During the NEPI Engine boot process, the NEPI Engine init boot system mounts/connects to one of the two Root File System partitions (A or B) on your NEPI device’s SSD card. Only one of the Root File System partitions is mounted and active at any given time, allowing NEPI’s software management system to provide updating, backup, and cloning services on the inactive Root File System partition.
NOTE: The following instructions use NEPI’s RUI user interface. Software archiving, updating, and partition switching can all be done through command line rostopic calls from an SSH connected terminal. This can be useful if your current image’s RUI is not working for some reason.
NOTE: If your current active partition’s NEPI Engine image is unable to load the NEPI ROS environment needed to manage software updating utilities and partition switching, your NEPI device will automatically fall back to the inactive partition after 3 failed boot attempts.
Prerequisites
This tutorial assumes you have a working NEPI Engine enabled edge compute platform and are familiar with basic NEPI user interfacing like accessing the NEPI RUI (Resident User Interface) and the NEPI network shared User Storage drive. You can find extensive documentation on these two subjects at www.nepi.com/documentation.
Updating Your Software
While the NEPI Engine Init File System image that manages a NEPI boot partition and software loading processes is not easily updatable and rarely required, the cored NEPI Engine software referred to as the NEPI Engine Root File System is easily to update when new versions of NEPI Engine become available.
Check your NEPI device’s current NEPI Engine software version by opening your NEPI device’s RUI DASHBOARD tab and check the version number in the “Device Info” section next to “Firmware”.
1) Obtain a NEPI Root File System image update file. Numurus maintains Root File System image files (rfs.img.raw) for a number leading edge-compute hardware platforms. You can check for software updates at:
https://www.dropbox.com/scl/fo/xs08d4c43dupfg1ftc2vy/h?rlkey=we8r0omh123ufq9opbl5yj0g6&dl=0
a) Within this shared folder are subfolders for specific edge-compute platforms. The folder names include the hardware manufacturer and the manufacture’s board model number. For example, the folder highlighted in the image below is for Seeed Studio’s A203 carrier board.
b) Within the hardware specific folders you will find the latest NEPI software image available for that spcefic carrier board, along with an “archive” folder for older versions. Each Root File System image file includes the NEPI version number and the carrier board model identifier it was built for. For example, the current image in the folder shown below for the A203 board is for NEPI Engine version “2.1.3”.
c) If there is a newer NEPI vesion than the one shown on your NEPI device, download the zipped file to your PC and unzip it. If you don’t see a newer version, then there is nothing to update, unless you are looking to reinstall the original version for some reason like a corrupted file system.
d) Copy the NEPI Engine Root File System image file from your PC to your NEPI device’s User Storage drive nepi_full_img folder. Ensure it has a filename of the form nepi_*_rfs.img.raw, where the wildcard * can be any valid filename substring and matches the edge-compute hardware you are working with. If the file has a .zip extension, make sure to unzip the file first.
2) Backup your user and system settings by opening your NEPI device’s RUI SYSTEM/ADMIN tab and clicking the “Save” button with “All” selected in the dropdown box.
3)Install the new Root File System image on your NEPI device.
a) Open the NEPI device’s RUI SYSTEM/SOFTWARE tab.
b) In the “A/B PARTITION SETTINGS” section, you can see the current Active/Inactive partition numbers and the NEPI software version installed on each. From the image below, we can see on this system, the current Active partition is “1” with NEPI version “2.1.0” and the current Inactive partition is “2” with NEPI version “2.1.0”.
NOTE: The NEPI software is installed on the current “Inactive” partition. In this tutorial, we will be installing the new NEPI software image on both partitions. If you want only want to install on one partition, make sure it is set as the Inactive partition. You can switch the Active and Inactive partitions by clicking the “Switch Active/Inactive” button at the bottom of this section and power cycling your NEPI device.
c) In the “Full System Update” section, click the “Check” button to verify a valid NEPI Root File Image has been uploaded to the NEPI device’s User Storage drive’s “nepi_full_img” folder. If successful, the uploaded NEPI Engine software’s version is reported in the “Image Version” textbox and the “Status” textbox will report “Ready to Install”. Click “Install” button to start the installation and wait for the installation to complete.
4) After the installation is complete, the NEPI software manager will automatically switch the Active and Inactive partitions and boot to the new NEPI software image just installed. In rare cases, it may be necessary to manually click the “Switch Active/Inactive” button – the Full System Update: Status text field will inform you if that is the case.
a) Reboot your system and verify that the new NEPI software version is running on the Active partition.
5) Repeat the software install process for the other partition by clicking the “Install” button In the “Full System Update” section and wait for the installation to complete.
6) After the installation on partition B is complete, the NEPI software manager will automatically switch the Active and Inactive partitions and boot to the new NEPI software image just installed.
a) Reboot your system and verify that the new NEPI software version is now installed on both the Active and Inactive partitions.
7) (Optional) If the NEPI Engine image file was smaller than then your original NEPI Root File System partitions sizes, you may want to SSH into your system and resize the file system sizes to match the partition sizes.
a) Open an SSH connected terminal to your NEPI device and run the following commands:
sudo resize2fs /dev/nvme0n1p1
sudo resize2fs /dev/nvme0n1p2
https://nepi.com/nepi-tutorials/nepi-engine-accessing-the-nepi-file-system/
8) (Optional) Restore your saved pre-install system and user settings by opening the RUI Settings/Admin tab, enabling the “Advanced Settings Enable” button, and selecting the “User Restore” button.
9) (Optional) Upgrade your NEPI User Storage files.
a) You can also download and update your system’s AI models, automation scripts, databases, and document files by first downloading the latest “user_storage_partition” files from:
https://www.dropbox.com/scl/fo/c7qap49hftrmi13ku49tg/h?rlkey=kbufq3lv04y9c2etc17kotk0j&dl=0
NOTE: Be sure to download the files from the folder that best matches the NEPI Root File System software you just upgraded to.
b) Open the File Manager application on your PC and access your NEPI device’s User Storage drive. Replace any folders or files you downloaded and want to upgrade.
Backing Up Your Software
If you are making changes to your NEPI Engine Root File System software, it is a good idea to create a backup (archive) of your working Root File System beforehand. Another reason you may want to archive your current NEPI Engine Root File System is if you have made changes to a system and want to clone those changes to other NEPI devices of the same type.
1) Set your current active partition (A), assuming that is the partition you want to backup, to the inactive partition (B). This will boot your system into the currently inactive partition on next power cycle.
a) Open your NEPI device’s RUI System/Software tab and make the current partition (the one you want to clone) Inactive by selecting the “Switch Active/Inactive” button in the “A/B PARTITION SETTINGS” box. You should see the active and inactive partition names turn RED, but not switch. For this tutorial, we want to archive the currently active partition “SSD Partition 1” and will boot to the currently inactive partition “SSD Partition 2” after clicking the “Switch Active/Inactive” button.
b) Power cycle your system to boot to the currently inactive partition. This will make your currently active partition available for backing up.
2) Backup your current inactive partition (B)
a) Once your system has rebooted, refresh your NEPI device’s RUI System/Software tab and ensure that the NEPI Engine software partition you want to archive is shown as the “Source” in the “FULL SYSTEM ARCHIVE” section. In this tutorial, we are archiving Partition 1 as shown in the image below. Click the “Archive” button to begin backing up your NEPI Engine software image.
b) Once the “Status” field shows “archive complete” you can use the File Manager application on your PC to access your NEPI device’s User Storage drive and copy the newly archived NEPI image file from the nepi_full_img_archive folder to a folder on your PC. This image can then be used to restore your NEPI software image in the future.
2) Switch the active partition back to the current inactive partition, the one you just cloned.
a) Open your NEPI device’s RUI System/Software tab and select the “Switch Active/Inactive” button in the A/B PARTITION SETTINGS box. You should see the Active and Inactive partition names turn RED.
b) Power cycle your NEPI device. It should now boot back to the original Active Root File System partition. You can verify this in the NEPI device’s RUI System/Software tab.
3) (Optional) If you want to backup or clone some of the other files on your NEPI device’s User Storage drive open the File Manager application on your PC to access your NEPI device’s User Storage drive and copy any folders you want to backup or use for cloning, like the ai_models, automation scripts, databases, and docs folders to the folder on your PC you copied the backup NEPI image to.
Cloning Your Software
If you have configured and customized a NEP device and want to clone its software, settings, and user storage files to another system of the same type, use the instructions below.
1) Create a backup (archive) Root File System image and copy the User Storage folders/files you want to clone from your working system following the instructions in the “Backing Up NEPI Engine Software” section of this tutorial.
2) Install the software from your backup process onto the new NEPI device following the instructions in the “NEPI Software Updating” section of this tutorial.
3) Reboot your system and test that everything works.