- Digi Accelerated Linux
- Why Use a Resource Constrained Device?
- Read-only root filesystem.
- User is unable ot modify the OS.
- Inexpensive.
- Optimised for the task at hand.
- What is a container?
- Runs binaries in a protected space.
- Run as unprivileged user to protect the host.
- Give access to hardware, peripherals.
- Runs under current host kernel.
- Many years ago
chroot and cgroups were used.
- Why run containers on a resource constrained device?
- Extensibility
- Add new functionality not included in the firmware image.
- Ability to run your own applications.
- Firmware updated for connected devices.
- Communications
- Light processing on the network boundary possible.
- Removing the need for another device.
- What resources are required?
- Storage
- Utilities - starting / stopping the container.
- Managing the container.
- Libraries
- Required by the utilities
- Container filesystem
- RAM
- CPU
- Advantages for running Docker.
- Disadvantages
- Sise 275MB usage.
- Too many libraries.
- Advantages for LXC
- Advantages
- Small 85MB on a PC.
- High configurable
- Performance
- Fewer dependencies
- Disadvantages
- Most LXC containers are OS images.
- LXC
- There is a difference between
start and execute. start will start the system and execute will run the applications.
- LXC traditionally runs OS images.
- Can use the host system.
- LXC can mount host directories.
- The container can appear just like the host.
- User processes are run inside the container.
- Persistent vs Volatile
- Volatile containers run entirely in RAM.
- Everytime container starts, it will be clean.
- Limits writes to flash.
- Persistent containers run from flash.
- What about the linker?
- Can use the linker to show dependencies, just like ldd
- Set
LD_LIBRARY_PATH to use different libraries to the host.