Skip to content

Olf0/mount-sdcard

Repository files navigation

mount-sdcard

Enhanced mounting scripts for SD-cards for SailfishOS

This systemd unit file and the udev rules file are by-products of optimising the start-up timing, feature set and shut-down behaviour of crypto-sdcard.

They provide the following enhancements compared to SailfishOS' original versions:

  • Start mounting (partitions on) SD-card via udisks at the earliest sensible time: Right after udisks2.service has started.
  • Unmount before udisks2.service begins stopping, hence achieving a clean unmount.
  • Also do not use SailfishOS' udisksctl-user script for unmounting (because this cannot work at the time ExecStop is executed), which is installed and used by SailfishOS since its release 3.2.1, and was also used by mount-sdcard versions 1.1-1 to 1.3.0; see details here.
  • Ensure, that Alien Dalvik (specifically alien-service-manager.service) begins starting after mounting succeeded, to allow for android_storage on SD-card.
    Even more importantly (i.e., also relevant for devices without "android_storage on SD-card") this also ensures, that unmounting occurs only after Alien Dalvik has completely stopped.
    Nevertheless, these configuration files are also applicable to devices without Alien Dalvik installed.
  • Since v1.3.4, overhauled in v1.5.1: Use Systemd EnvironmentFiles, allowing administrators to easily set options.
  • Versions below 1.0-4, plus the 1.x.y-z.sfos220 versions: Inhibit stubbornly trying to mount block devices without a filesystem recognised by the kernel / udev.
    As Jolla resolved this in SailfishOS 3.0.1 (see commit and changelog), this workaround is omitted in mount-sdcard 1.0-4 (and later versions), but retained in the v1.x.y-z.sfos220 versions for SailfishOS 2.2.0, 2.2.1 and 3.0.0.
  • Versions below 1.0: Create / try to rectify the "compatibility symlink" in order to allow older apps seamlessly accessing (partitions on) SD-cards at their new (since SailfishOS 2.2.0) mount point.

Notes:

  • These configuration files do not alter, replace, move or delete any extant files.
  • Minimal SailfishOS version supported by mount-sdcard is 2.2.0.
  • For the 1.x.y-z.sfos301 versions (and mount-sdcard 1.0-4) at least SailfishOS 3.0.1 is required.
  • For the 1.x.y-z.sfos321 versions (and mount-sdcard 1.1-1 to 1.4.0) at least SailfishOS 3.2.1 is required.
  • Support of partitions and whole devices (as SailfishOS' original versions do).
  • Support for (µ)SD-cards and USB-attached storage (if supported by device hardware and Operating System).
  • An RPM built for SailfishOS is available at OpenRepos.