7 Greengrass System Requirements
The AWS Greengrass documentation describes several requirements of the Linux system. The Buildroot system makes sure the following items are enabled.
The following items are required:
- Minimum 128 MB RAM allocated to the AWS IoT Greengrass core device.
- Linux kernel version 4.4 or greater:
- Glibc library version 2.14 or greater.
- The /var/run directory must be present on the device.
- Hardlink and symlink protection
- The following Linux kernel
configurations must be enabled on the device:
- Namespace: CONFIG_IPC_NS, CONFIG_UTS_NS, CONFIG_USER_NS, CONFIG_PID_NS
- CGroups: CONFIG_CGROUP_DEVICE, CONFIG_CGROUPS, CONFIG_MEMCG
- Others: CONFIG_POSIX_MQUEUE, CONFIG_OVERLAY_FS, CONFIG_HAVE_ARCH_SECCOMP_FILTER, CONFIG_SECCOMP_FILTER, CONFIG_KEYS, CONFIG_SECCOMP
- dev/stdin, /dev/stdout, and /dev/stderr must be enabled
- The Linux kernel must support cgroups in order to run AWS IoT Greengrass with containers.
- The memory cgroup must be enabled and mounted to allow AWS IoT Greengrass to set the memory limit for Lambda functions.
- The root certificate for Amazon S3 and AWS IoT must be present in the system trust store.
The following items are optional:
- The devices cgroup must be enabled and mounted if Lambda functions with Local Resource Access (LRA) are used to open files on the AWS IoT Greengrass core device.
- Python version 3.7 is required if Python Lambda functions are used. If so, ensure that it is added to your PATH environment variable.
- The following commands are required for Greengrass OTA Agent: wget, realpath, tar, readlink, basename, dirname, pidof, df, grep, and umount.