LinuxCommandLibrary

steamos-readonly

Enable or disable SteamOS read-only filesystem

TLDR

Set the filesystem to be mutable

$ sudo steamos-readonly disable
copy

Set the filesystem to be read only
$ sudo steamos-readonly enable
copy

SYNOPSIS

steamos-readonly command
steamos-readonly enable
steamos-readonly disable
steamos-readonly status

PARAMETERS

enable
    Re-enables the read-only state of the root filesystem. This is the default and recommended state for system stability and integrity.

disable
    Disables the read-only state, making the root filesystem writable. This is necessary for installing packages, modifying system files, or performing advanced system configurations.

status
    Displays the current read-only status of the root filesystem, indicating whether it's currently writable or read-only.

DESCRIPTION

SteamOS, particularly on devices like the Steam Deck, uses a read-only root filesystem (`/`) by default to enhance system stability, prevent accidental corruption, and ensure reliable system updates. The steamos-readonly command is a utility designed to manage this read-only state. It allows users to temporarily disable the read-only mode, making the root filesystem writable for system modifications, software installations, or troubleshooting. Once modifications are complete, the command can be used to re-enable the read-only state, restoring the system's default robust configuration. This mechanism helps protect core system files while allowing user-specific data and configurations to be stored on separate, writable partitions. It's a crucial tool for advanced users needing to customize their SteamOS experience beyond the standard graphical interface.

CAVEATS

Modifying the root filesystem while it's writable carries risks. Incorrect changes can lead to system instability, boot issues, or data corruption. Changes made while the filesystem is writable might be reverted or cause conflicts after a system update, especially if updates re-image core components. It's highly recommended to re-enable read-only mode (steamos-readonly enable) after making necessary system modifications to restore system integrity and stability. This command typically requires root privileges (i.e., must be run with sudo).

PURPOSE OF READ-ONLY FILESYSTEM

The read-only root filesystem paradigm on SteamOS aims to protect the operating system's core integrity. This makes the system more resilient to user errors, malware, and unexpected shutdowns, as critical system files remain untouched. It also simplifies system updates, as Valve can deliver complete, consistent images without worrying about user modifications conflicting with the update process.

USAGE ON STEAM DECK

On the Steam Deck, accessing the shell (e.g., via Konsole in Desktop Mode or SSH) and using steamos-readonly disable is a common first step for users wishing to install custom software (e.g., using pacman for Arch Linux packages, since SteamOS on Steam Deck is Arch-based) or modify system configurations not exposed through the graphical user interface. Remember to re-enable it afterwards for system stability.

HISTORY

steamos-readonly was introduced as part of the SteamOS ecosystem, notably gaining prominence with the release of the Steam Deck, which utilizes an immutable/read-only root filesystem by default to enhance robustness and simplify updates. This design choice mirrors practices in other appliance-like Linux distributions and embedded systems, where system integrity is prioritized. Its development focuses on providing a user-friendly interface for managing this specific aspect of the SteamOS architecture, allowing advanced users to 'break out' of the read-only constraint when necessary for customization or development purposes.

SEE ALSO

mount(8), overlayfs(7), chattr(1)

Copied to clipboard