Skip to content
Version 0.4 - 2023/03/11 Alec Bloss <abloss@libranext.com>
================================================================
- New utility: fssync : Synchronizes file system changes to disk

- halt, poweroff, reboot were all re-written in C (previously written in Bash)

- New feature: SSM now builds using Meson and Ninja. This replaces the previous crude shell script
  and makes it easier to port to a different distribution or other *nix operating system.
  
- New feature: In case anyone wants to use SSM on a Debian-based distribution, the DEBIAN package
  control file now supports using either the glibc (Libranext) dependency or libc6 (Debian and 
  derivatives) dependency.
  
- New feature: SSM should now accept `single` or `rescue` as kernel command-line options, allowing
  you to boot into a rescue shell. It will ask for you to enter your root password and start a
  login shell.
  
- Bug fix: Resolves #2, *Fail gracefully when tasks_enabled is empty or malformed*. SSM does
  some basic sanity checks on tasks_enabled, and drops to a rescue shell if it's not suitable
  for booting from.
  
- The shutdown compatability script has been moved from /usr/sbin to /sbin, although this change 
  is relatively meaningless on Libranext systems as /sbin and /usr/sbin are symlinked, and this
  really intended for portability to other systems that still use a separate /sbin and /usr/sbin.
  
- New feature: SSM should now accept `ssmdebug` as a kernel command-line option. This enables
  extra-verbose messages for easier debugging of the boot/shutdown process.
  
- Bug fix: Ensures that filesystem tasks are handled in the correct order when stopping the system.
  filesystems/others should come before filesystems/root when shutting down.

- Bug fix: Wait for tasks to stop, then kill all other processes before filesystem actions during 
  system shutdown.

- Bug fix: Fix multiple problems during shutdown sequence that would cause some filesystems to not 
  unmount, and the task to fail. This was caused by an unanticipated consequence of running on a
  slower system - some processes/daemons wouldn't stop fast enough and SSM wouldn't catch it
  before running the task stopscripts for filesystems. This would cause mount/umount to return
  with an exit code >0 and say 'device busy'. I don't believe filesystem corruption would have
  been caused, but this ensures that filesystems are cleanly unmounted before poweroff/reboot.