/sbin/overlay-init – An init script that adds OverlayFS support for Slackware, enabling both ephemeral (RAM) and persistent (disk) root overlays.

slackware overlayfs#

An init script that adds OverlayFS support for Slackware, enabling both ephemeral (RAM) and persistent (disk) root overlays.

#!/bin/sh

set -eu

mount -o ro /dev/vda /rom

if [ "$overlay_root" = ram ] ||
           [ -z "$overlay_root" ]; then
  mount -t tmpfs tmpfs /overlay
else
  mount "/dev/$overlay_root" /overlay
fi

mkdir -p /overlay/{upper,work}
mount -t overlay overlay -o lowerdir=/rom,upperdir=/overlay/upper,workdir=/overlay/work /newroot
exec switch_root /newroot /sbin/init

Usage#

Add the following boot args:

  • Persistent:
init=/sbin/overlay-init overlay_root=vdb
  • Ephemeral:
init=/sbin/overlay-init overlay_root=ram