Flipper OS
flipper os is a linux based operating system we are developing for the flipper one this page outlines the core concept behind flipper os and explains how we aim to solve common challenges users face when using a linux computer as an all in one multitool common approach issues when you try to use any linux based sbc as a universal โon the goโ tool and keep changing its purpose over time, for example using it as a media server, a wi fi router, or a desktop, you eventually end up with a messy system you install so many packages and modify so many system configuration files that, at some point, reconfiguring the system becomes harder than reinstalling the os and rebuilding the entire setup from scratch one workaround is to use separate sd cards for different preconfigured setups, but this is inconvenient and does not scale well a typical scenario with the common approach issues with the common approach cannot restore configuration to default the only way to revert to default settings is to reinstall the operating system single configuration state, no profiles or snapshots the system has only one current configuration once you modify config files or install packages, the previous state is lost you cannot easily switch between setups, save working versions, or roll back after breaking something easy to break the system small changes, incorrect packages, or edits to config files can easily make the system unstable or cause it to stop working correctly no atomic updates if an update fails midway, the system can end up in a partially updated or broken state updates may also conflict with modified system config files, and newer packages can conflict with your customized environment flipper os architecture in flipper os, the concept of operating system profiles is introduced, which are architecturally separated from the base system thus, the operating system consists of two distinct parts flipper os base system โ a clean, unmodified debian based system it consists of linux kernel , rootfs , and mcu firmware the base system is distributed through official updates this part of the operating system remains unchanged during user customization and configuration os profiles โ an overlay on top of the base system that contains all user customizations, including installed packages, containers, and modifications to the rootfs including config files edits by applying an os profile to the flipper os base system, you get a fully configured system tailored for a specific use case official built in os profiles are distributed as part of the operating system, for example minimal system , wi fi router , tv media box , network sniffer , and desktop computer user os profiles contain user modified packages and rootfs changes users configure the system in the usual way by editing configs and installing packages using package manager the process remains fully transparent to the user, while all changes are automatically stored inside the active profile in addition to os profiles, users can separately store personal files such as media files, documents, and other data not related to the operating system user os profiles can be stored on removable media, allowing users to select and boot a profile from the boot menu, for example from an sd card flipper os architecture os profile selection at boot an operating system profile can be selected directly from the boot menu without connecting an external monitor or keyboard the menu also allows users to clone profiles and restore them to their original preconfigured state boot menu with os profile selection official built in os profiles cannot be deleted, but they can be cloned and used as a base for creating user profiles at any time, a profile can be quickly reset to the default state of the original official built in os profile managing os profiles on running system on a running system, the user can view the current os profile info, including the profile name, size, creation date, modification date, and other details clone the built in os profile or rename the user os profile delete the user os profile or reset a built in os profile to its default state managing os profiles on running system ui system update flipper os includes an update agent that notifies the user about available system updates from any active os profile both the base system and the official built in profiles are updated system update ui we are currently exploring mechanisms for reliable atomic updates of both the operating system and os profiles we invite the community to help develop the best solutions
Have a question?
Our support team and an awesome community will get you an answer in a flash. Please leave your questions in English.
To ask a question or participate in discussions, you'll need to authenticate first.