| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
This repository provides an example of how to create a custom layer for Enapter Industrial Linux. The example layer includes a systemd service and a Docker container.
Enapter Industrial Linux (EIL) is a robust and minimalistic Linux distribution optimized for industrial IoT and embedded devices.
Reliable and Secure: Utilizes an overlayfs with a SquashFS root image for read-only root, aiding in system stability and reliability.
Power Failure Tolerance: System files are read-only, reducing the risk of corruption during power failures.
USB Stick Boot: Easily boot from a USB stick with a simple FAT32 partition.
Service Discovery: Built-in service for device discovery in the network.
Docker Integration: Easily run third-party programs and services inside Docker containers using Podman.
Flexible Layer System: Introducing the concept of layers for modular and scalable system enhancements. Add functionality using layers with systemd services, Docker containers, and more.
To build the example layer, you need the following utilities installed. These require a Linux environment, Windows Subsystem for Linux (WSL) on Windows, or MacOS.
make utility: GNU Make
Install on Ubuntu/Debian:
sudo apt-get install makeInstall on Fedora:
sudo dnf install makeInstall on MacOS (using Homebrew):
brew install makeskopeo utility: Skopeo
Install on Ubuntu/Debian:
sudo apt-get install skopeoInstall on Fedora:
sudo dnf install skopeoInstall on MacOS (using Homebrew):
brew install skopeomksquashfs utility: Part of the SquashFS tools
Install on Ubuntu/Debian:
sudo apt-get install squashfs-toolsInstall on Fedora:
sudo dnf install squashfs-toolsInstall on MacOS (using Homebrew):
brew install squashfsLayers are SquashFS images containing additional software and services. Each layer has:
rootfs/: Directory structure overlaid on the root filesystem.
images/: Docker container registry for including pre-packaged containers.
cloudflared-remote-access-layer/
├── rootfs/
│ ├── usr/
│ ├── lib/
│ │ ├── systemd/
│ │ └── system/
│ │ └── cloudflared-remote-access.service
│ ├── etc/
│ ├── systemd/
│ │ ├── system/
│ │ │ ├── default.target.wants/
│ │ │ │ └── cloudflared-remote-access.service -> /usr/lib/systemd/system/cloudflared-remote-access.service
│ │ │ └── multi-user.target.wants/
│ │ │ └── cloudflared-remote-access.service -> /usr/lib/systemd/system/cloudflared-remote-access.service
└── images/
├── # (Docker container registry structure will be created by 'skopeo copy')`
Prepare your USB stick:
Create and deploy your layer:
Insert the USB stick and boot.
The system will boot, mount the USB in read-only mode, and overlay your custom layer to provide the additional functionality.
This example demonstrates how to extend Enapter Industrial Linux using custom layers. By leveraging the robustness of read-only filesystems and the flexibility of overlayfs, you can easily add new functionalities, such as systemd services and Docker containers, without modifying the core system files.
For any questions, feel free to reach out to us at developers@enapter.com or join our community on Discord.
| Back | FazBrowse Home | New Git URL |