- Jelina overview
- JelinaOS
- Core concepts
Development and production modes
JelinaOS is designed for production devices that can recover themselves in the field. Understanding the difference between development and production avoids a common misunderstanding: directly changing files on a running system changes only the writable layer. Those changes are not included in the next image build and disappear after a factory reset.
Key differences between development and production
Section titled “Key differences between development and production”| Scenario | Recommended approach | Reason |
|---|---|---|
| Development / fixes | Integrate changes into the system build framework and rebuild an image for validation | Changes become part of the image, making them reproducible and deliverable |
| Production / operations | Deliver changes through update packages and target state | Preserves rollback and state recovery |
- Direct changes to running files, such as replacing programs or editing configuration, exist only in the device’s writable layer.
- These changes are not protected by the A/B and overlay rollback mechanisms and are lost after device recovery or upgrades.
- Use update channels for production device changes to retain rollback capability.
Mode configuration
Section titled “Mode configuration”The system provides persistent operating-mode settings stored in the system configuration directory:
| Setting | Default | Description |
|---|---|---|
| Production mode | Off | When enabled, devices communicate with the cloud only through secure channels |
| GUI master switch | On | Controls whether the user interface system is enabled |
| Storage monitoring mode | Prompt | Action on storage alerts: alert only / prompt for restart / force restart |
When production mode is enabled, all device management and access use secure channels. See security and data isolation.
Development and debugging considerations
Section titled “Development and debugging considerations”- Prefer temporary directories for short-term diagnostic tools; verify their source and checksum before use and remove them afterward.
- Prefer update packages or test environments for deploying changes rather than directly replacing installed programs on devices.
- If direct replacement is necessary on a development device, record the original file information, retain a rollback copy, and submit the validated fix back to the build framework.
- Do not directly replace files on production devices. Without a change plan, directly replaced artifacts are not protected by rollback mechanisms.
Desktop variants
Section titled “Desktop variants”JelinaOS offers two system variants, selected at build time:
| Variant | Boot target | Display manager | Description |
|---|---|---|---|
| Desktop | Graphical interface | LightDM | Includes the XFCE4 desktop environment |
| Command line | Multi-user command line | None | Command line only, with minimal resource usage |
The desktop variant includes XFCE4 with the xfwm4 window manager, a default user (jelina), audio (PulseAudio), network management (NetworkManager), and a built-in interface system consisting of a GUI renderer and control CLI. The interface system provides first-boot welcome screens, update progress, storage alerts, and other interactions.
Related documentation
Section titled “Related documentation”- System architecture — Read-only system and writable layer principles
- Graphics and desktop — Desktop variants and interface system
- Storage and data partition — Writable layer and storage management