Skip to content

[Bug] /var/lib/systemd/timesync/clock is a 0644 directory on fresh Trixie Lite install (Breaks offline time retention) #921

Description

@zsonglorman

Describe the bug

On a fresh, unmodified installation of the 2025-10-01 Trixie Lite 32-bit image, the system fails to retain its last known time across offline reboots.

This occurs because /var/lib/systemd/timesync/clock is mistakenly initialized as a directory with broken 0644 permissions, rather than a standard file. systemd-timesyncd expects a file and cannot properly read this directory's modification time on boot, causing the system to fallback to the September 2025 systemd build epoch.

Steps to reproduce

  1. Flash 2025-10-01-raspios-trixie-armhf-lite.img.xz using Raspberry Pi Imager.
  2. Boot the Pi, connect to WiFi, and allow NTP to sync.
  3. Power cycle the Pi without network access.
  4. Run date. It will report Sept 2025 instead of the last known time.
  5. Run stat /var/lib/systemd/timesync/clock.

Expected behaviour

/var/lib/systemd/timesync/clock should be a standard -rw-r--r-- file. systemd-timesyncd should read its mtime on boot to set the baseline clock.

Actual behaviour

The path is created as a directory with file permissions (0644), breaking functionality.

stat /var/lib/systemd/timesync/clock
  File: /var/lib/systemd/timesync/clock
  Size: 4096            Blocks: 8          IO Block: 4096   directory
Device: 179,2   Inode: 33912       Links: 2
Access: (0644/drw-r--r--)  Uid: (  991/systemd-timesync)   Gid: (  991/systemd-timesync)
Access: 2026-06-02 22:58:59.744735940 +0100
Modify: 2026-06-02 22:58:59.744735940 +0100
Change: 2026-06-02 22:58:59.744735940 +0100
 Birth: 2025-10-01 01:16:14.068517602 +0100

System Info:

  • Hardware: Raspberry Pi Zero 2W
  • OS: Raspbian GNU/Linux 13 (trixie) 32-bit (2025-10-01), exact image: 2025-10-01-raspios-trixie-armhf-lite.img.xz
  • Kernel: 6.12.47+rpt-rpi-v7
  • systemd: 257 (257.8-1~deb13u2+rpi1-g094e686)

Questions:

  1. Can anyone else reproduce this on the Trixie Lite image? Is it actually a bug?
  2. Does anyone know which build script or package rule mistakenly created this path as a directory during the image creation?
  3. To work around this safely, should I simply rm -rf the directory and touch it as a standard 0644 file?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions