#!/bin/sh # rfs mount modules flist over /lib/modules/$(uname -r) (plain S3 route embedded in the .fl) # Looks for modules-$(uname -r).fl in known locations; can be overridden via MODULES_FLIST env. set -eu log() { echo "[rfs-modules] $*"; } RFS_BIN="${RFS_BIN:-rfs}" KVER="$(uname -r)" TARGET="/lib/modules/${KVER}" # Allow override via env if [ -n "${MODULES_FLIST:-}" ] && [ -f "${MODULES_FLIST}" ]; then FL="${MODULES_FLIST}" else # Candidate paths for the flist manifest for p in \ "/etc/rfs/modules-${KVER}.fl" \ "/var/lib/rfs/modules-${KVER}.fl" \ "/root/modules-${KVER}.fl" \ "/modules-${KVER}.fl" \ ; do if [ -f "$p" ]; then FL="$p" break fi done fi if [ -z "${FL:-}" ]; then log "modules-${KVER}.fl not found in known paths; skipping mount" exit 0 fi # Ensure target directory exists mkdir -p "$TARGET" # Skip if already mounted if mountpoint -q "$TARGET" 2>/dev/null; then log "already mounted: $TARGET" exit 0 fi # Perform the mount log "mounting ${FL} -> ${TARGET}" exec "$RFS_BIN" mount -m "$FL" "$TARGET"