#!/bin/sh

msg='Starting udevd...'
run() {
	# Save the environment, to use it inside udev filters.
	showenv -q |
	while read l; do
		s="${l%%=*}"
		[ -z "${s##*[!A-Za-z0-9_]*}" ] ||
			printf '%s\n' "$l"
	done > /dev/.initramfs/env

	udevd --daemon --resolve-names=never

	udevadm control --log-priority=info
	[ -z "${DEBUG-}" ] || udevadm control --log-priority=debug

	udevadm control --property=STARTUP=1
	udevadm control --reload >/dev/null 2>&1 ||:

	udevadm trigger --type=subsystems --action=add >/dev/null 2>&1
	udevadm trigger --type=devices    --action=add >/dev/null 2>&1

	# Load user-defined modules
	load_modules postudev
}
