#!/bin/sh

set -eu

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
export PATH

[ -e /proc/modules ] || exit 0

load_modules_from() {
  file=$1
  [ -r "${file}" ] || return 0

  while IFS= read -r line; do
    case "${line}" in
      ""|\#*) continue ;;
    esac

    set -- ${line}
    if ! modprobe "$@"; then
      echo "tuxenix-dinit: warning: could not load module request: ${line}" >&2
    fi
  done < "${file}"
}

load_modules_from /etc/modules

for file in /etc/modules-load.d/*.conf /usr/lib/modules-load.d/*.conf; do
  [ -e "${file}" ] || continue
  load_modules_from "${file}"
done
