

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 设置 AWS IoT Greengrass 核心设备
<a name="setting-up"></a>

完成本节中的任务以安装、配置和运行 AWS IoT Greengrass 核心软件。

**注意**  
本节介绍 AWS IoT Greengrass 核心软件的高级安装和配置。这些步骤不适用于 nucleus Lite。如果您是首次使用 nucleus Lite AWS IoT Greengrass V2，我们建议您先完成[入门教程](getting-started.md)，设置核心设备并探索其功能。 AWS IoT Greengrass



**Topics**
+ [支持的平台](#supported-platforms)
+ [设备要求](#device-requirements)
+ [Lambda 函数要求](#greengrass-v2-lambda-requirements)
+ [设置一个 AWS 账户](#set-up-aws-account)
+ [安装 AWS IoT Greengrass Core 软件](install-greengrass-core-v2.md)
+ [运行 AWS IoT Greengrass 核心软件](run-greengrass-core-v2.md)
+ [在 Docker 容器中运行 AWS IoT Greengrass 核心软件](run-greengrass-docker.md)
+ [配置 AWS IoT Greengrass 核心软件](configure-greengrass-core-v2.md)
+ [更新 AWS IoT Greengrass Core 软件（OTA）](update-greengrass-core-v2.md)
+ [卸载 AWS IoT Greengrass 核心软件](uninstall-greengrass-core-v2.md)

## 支持的平台
<a name="supported-platforms"></a>
+ [支持 Greengrass Nucleus 的平台](https://docs.aws.amazon.com/greengrass/v2/developerguide/greengrass-nucleus-component.html)
+ [支持 Greengrass Nucleus Lite 的平台](https://docs.aws.amazon.com/greengrass/v2/developerguide/greengrass-nucleus-lite-component.html)

## 设备要求
<a name="device-requirements"></a>
+ [Greengrass Nucleus 设备要求](https://docs.aws.amazon.com/greengrass/v2/developerguide/greengrass-nucleus-component.html)
+ [Greengrass Nucleus Lite 设备要求](https://docs.aws.amazon.com/greengrass/v2/developerguide/greengrass-nucleus-lite-component.html)

## Lambda 函数要求
<a name="greengrass-v2-lambda-requirements"></a>

**重要**  
Greengrass Nucleus Lite 目前不支持 Greengrass Lambda 函数。

您的设备必须满足以下要求才能运行 Lambda 函数：
+  Linux-based 操作系统。
+ 您的设备必须有 `mkfifo` Shell 命令。
+ 您的设备必须运行 Lambda 函数所需的编程语言库。您必须在设备上安装所需的库并将其添加到 `PATH` 环境变量中。Greengrass 支持所有 Lambda 支持的 Python 和 Java 运行时版本。 Node.jsGreengrass 不对已弃用的 Lambda 运行时版本施加任何额外限制。有关 AWS IoT Greengrass 支持 Lambda 运行时的更多信息，请参阅。[运行 AWS Lambda 函数](run-lambda-functions.md)
+ 要运行容器化 Lambda 函数，您的设备必须满足以下要求：
  + Linux 内核 4.4 或更高版本。
  + 内核必须支持 [cgroups](https://en.wikipedia.org/wiki/Cgroups) v1，并且您必须启用并挂载以下 cgroups：
    + 用于为 AWS IoT Greengrass 容*器*化 Lambda 函数设置内存限制的内存 cgroup。
    + 用于容器化 Lambda 函数访问系统设备或卷的 *devices* cgroup。

     AWS IoT Greengrass 核心软件不支持 cgroups v2。

    要满足此要求，请使用以下 Linux 内核参数启动设备。

    ```
    cgroup_enable=memory cgroup_memory=1 systemd.unified_cgroup_hierarchy=0
    ```
**提示**  
在 Raspberry Pi 上，编辑 `/boot/cmdline.txt` 文件以设置设备的内核参数。
  + 您必须在设备上启用以下 Linux 内核配置：
    + 命名空间：
      + `CONFIG_IPC_NS`
      + `CONFIG_UTS_NS`
      + `CONFIG_USER_NS`
      + `CONFIG_PID_NS`
    + Cgroups：
      + `CONFIG_CGROUP_DEVICE`
      + `CONFIG_CGROUPS`
      + `CONFIG_MEMCG`
    + 其他：
      + `CONFIG_POSIX_MQUEUE`
      + `CONFIG_OVERLAY_FS`
      + `CONFIG_HAVE_ARCH_SECCOMP_FILTER`
      + `CONFIG_SECCOMP_FILTER`
      + `CONFIG_KEYS`
      + `CONFIG_SECCOMP`
      + `CONFIG_SHMEM`
**提示**  
查看您的 Linux 发行版文档以了解如何验证并设置 Linux 内核参数。您也可以使用 AWS IoT Device Tester AWS IoT Greengrass 来验证您的设备是否满足这些要求。有关更多信息，请参阅 [使用适用于 AWS IoT Greengrass V2 的 AWS IoT Device Tester](device-tester-for-greengrass-ug.md)。

## 设置一个 AWS 账户
<a name="set-up-aws-account"></a>