Before you start
This guide describes how to get an EVE-OS image or installer file, the first step to installing, upgrading, or live-booting EVE-OS on an edge node.
Before proceeding, you may want to read our EVE-OS image overview. anchor
Software requirements
You must have Docker installed and running.
ZEDEDA Cloud requirements
ZEDEDA hosts many controller clusters. For installer and live images, you must know your cluster’s hostname. You don’t need to create a cluster configuration for rootfs images.
Example:
zedcloud.gmwtus.zededa.net
Upon first boot, a device running EVE-OS will try to connect to a ZEDEDA Cloud cluster to get its initial configuration.
Edge nodes will try to connect to the following cluster endpoint by default:
zedcloud.zededa.net
If your enterprise is on a different cluster, you’ll need to create a .txt configuration file named "server" with a single line containing your cluster hostname. Then, when you create your EVE-OS image file, you’ll inject your server file into your EVE-OS image.
This procedure uses the following endpoint as an example (replace this with your cluster endpoint):
zedcloud.gmwtus.zededa.net
Follow these steps to create a server configuration for your EVE-OS image.
- Open your terminal.
- Navigate to a directory of your choice. This example uses the your home directory, represented by the $HOME system variable.
cd $HOME
- Create a directory called eve-overrides.
mkdir eve-overrides
- Create a file called “server” within this directory and write the hostname of your cluster into it.
echo zedcloud.gmwtus.zededa.net > $HOME/eve-overrides/server
- Open Powershell.
- Navigate to a directory of your choice. This example uses your home directory, represented by the $HOME system variable.
cd $HOME
- Create a directory called eve-overrides.
mkdir eve-overrides
- Create a file called “server” within this directory and write the hostname of your cluster into it.
echo zedcloud.gmwtus.zededa.net > $HOME\eve-overrides\server
Raspberry Pi compatibility
EVE-OS is currently not compatible with Pi5 devices.
If you plan to install EVE-OS onto a Raspberry Pi (ARM) device, ensure that it meets the following hardware requirement.
- Raspberry Pi 4 Model B with at least 4GB RAM
- MicroSD card (16GB or larger recommended)
Get an EVE-OS image
The procedures in this section each describe how to run a Docker container that will download EVE-OS resources from Docker Hub and generate a usable EVE-OS image.
Latest LTS version of EVE-OS:
12.0.3-lts
This section will help you determine the name of the EVE-OS image that you need so you can find it in Docker Hub and download it.
Most use cases require the latest LTS version. Be sure that you understand your reason for using a different version.
Complete these subsections in order.
This subsection is optional because examples in the following procedures all assume that you need the latest LTS version of EVE-OS. Use these resources here to find an alternate version:
- Find a list of all EVE-OS versions: Releases page in the EVE-OS GitHub repo. (Each version displayed on this page also lists its upgrades and fixes to EVE-OS.)
- Find current LTS versions of EVE-OS: EVE-OS and Linux kernel LTS policies
This subsection describes how to determine the name of the EVE-OS image that you need so you can find the image in Docker Hub.
Ensure you are familiar with the EVE-OS naming conventions before proceeding.
To determine the name of your EVE-OS image, follow these steps.
- Recall the EVE-OS version number you need. This is the first component of your image name. For example:
12.0.3-lts
- Determine the system architecture (AMD64 or ARM64) of your edge node hardware. This is the second component of your image name. For example:
12.0.3-lts-amd64
The following procedures in this guide will use 12.0.3-lts-kvm-amd64 as an example image name.
You can verify that the image you need is available to download, search for it in Docker Hub.
- Go to Docker Hub.
- Click on the Tags tab.
- Enter your image name into the Filter Tags search field.
- Check the results for your image.
Choose a procedure
Download procedures differ depending on the image's intended use.
These procedures specify the latest LTS in their examples. To substitute another version, replace "12.0.3-lts".
Open the terminal (macOS and Linux users) or Powershell (Windows users) and choose one of the following procedures.
To get an EVE-OS installer image, follow these steps.
- Navigate to a directory of your choice.
cd $HOME
- Create a directory for your EVE-OS image and navigate into it.
mkdir eve-images && cd eve-images
- Download and generate your EVE-OS installer image. Choose the command for your edge node’s hardware architecture. If your controller cluster is zedcloud.zededa.net, the following commands don't need
-v $HOME/eve-overrides:/in
WindowsAMD64
ARM64docker run -v $HOME/eve-iso:/out lfedge/eve:12.0.3-lts-amd64 -f raw installer_iso
docker run -v $HOME/eve-iso:/out lfedge/eve:12.0.3-lts-arm64 -f raw installer_iso
macOS and LinuxAMD64
ARM64docker run -v $HOME/eve-overrides:/in lfedge/eve:12.0.3-lts-amd64 -f raw installer_raw > installer.raw
docker run -v $HOME/eve-overrides:/in lfedge/eve:12.0.3-lts-arm64 -f raw installer_raw > installer.raw
- Print the contents of your current directory to verify that the file installer.raw was created.
ls
- Proceed to flashing an EVE-OS image.
To get an EVE-OS image that you can live-boot on an edge node without onboard storage, follow these steps.
- Navigate to a directory of your choice.
cd $HOME
- Create a directory for your EVE-OS image and navigate into it.
mkdir eve-images && cd eve-images
- Download and generate your EVE-OS live image. Choose the command for your edge node’s hardware architecture. If your controller cluster is zedcloud.zededa.net, the following commands don't need
-v $HOME/eve-overrides:/in
WindowsAMD64
ARM64docker run -v $HOME/eve-iso:/out lfedge/eve:12.0.3-lts-amd64 live
docker run -v $HOME/eve-iso:/out lfedge/eve:12.0.3-lts-arm64 live
macOS and LinuxAMD64
ARM64docker run -v $HOME/eve-overrides:/in lfedge/eve:12.0.3-lts-amd64 -f live live.img
docker run -v $HOME/eve-overrides:/in lfedge/eve:12.0.3-lts-arm64 -f live live.img
- Copy and save the serial number string (in UUID format) that was printed by the previous command in the last line of output. You'll need it when you onboard your edge node. Example:
681cc64f-6633-49f3-988c-b0afde4a25fc
- Print the contents of your current directory to verify that the file installer.raw was created.
ls
- Proceed to flashing an EVE-OS image.
Ensure that you have completed the prerequisites. You don’t need to provide a server configuration for rootfs images.
Rootfs EVE-OS images are used to upgrade existing installations of EVE-OS by uploading them to ZEDEDA Cloud and deploying them from there.
To get an EVE-OS rootfs image, follow these steps.
- Navigate to a directory of your choice.
cd $HOME
- Create a directory for your EVE-OS image and navigate into it.
mkdir eve-images && cd eve-images
- Download and generate your rootfs EVE-OS image. Choose the command for your edge node’s hardware architecture.
WindowsAMD64
ARM64docker run -v $HOME/eve-iso:/out lfedge/eve:12.0.3-lts-amd64 rootfs
docker run -v $HOME/eve-iso:/out lfedge/eve:12.0.3-lts-arm64 rootfs
macOS and LinuxAMD64
ARM64docker run --rm lfedge/eve:12.0.3-lts-arm64 rootfs 12.0.3-lts-arm64-rootfs.img
docker run --rm lfedge/eve:12.0.3-lts-arm64 rootfs 12.0.3-lts-arm64-rootfs.img
- Print the contents of your current directory.
ls
- Verify that you have your rootfs image: 12.0.3-lts-ARM64_OR_AMD64-rootfs.img
- Proceed to adding an EVE-OS image to ZEDEDA Cloud.
Next steps
If you generated an installer or a live EVE-OS image, you're ready to flash your EVE-OS image to a bootable drive. To do so, see our guide to flashing an EVE-OS image.
If you generated a rootfs image, proceed to our guide to adding an EVE-OS rootfs image to ZEDEDA cloud.