Waggle runs on Linux-based systems. In order to secure Waggle and OS critical components and prevent any file corruption on those components, the components are stored in a read-only partition. This read-only partition becomes writable only when Waggle software upgrade occurs. The upgrade process is responsible for putting the partition back to read-only mode after the process is finished successfully. There are 3 partitions in a Waggle system.
U-boot partition, usually is about 120 MB in its size.
System partition that mounts /
. The size of the partition is about 8 GB (half of the storage that Waggle nodes use). This partition includes all system files as well as Waggle service codes, configurations, and security files.
This writable partition takes the remaining storage capability (e.g., 8 GB out of 16 GB storage, after 8 GB is taken by read-only partition). The partition is mounted under /wagglerw
. /var
and /srv
are linked to this partition (under /wagglerw
) as those directories should remain writable by OS and software. Waggle plugin software codes, their configuration files, raw-to-intermediate data, used by Waggle services and plugins, etc are stored in this partition.
Pseudocode of the instructions is described below. The actual code block can be found in waggle_init.sh (Line 344 through 503). Each step is linked with the actual codes.