#!/bin/sh

msg="Running init ($INIT)..."
run() {
	local var newroot prog

	newroot="$rootmnt"
	prog="$INIT"

	# Clean environment
	showenv > /dev/.initramfs/env

	while read var; do
		unset "${var%%=*}"
	done < /dev/.initramfs/env

	/bin/rm -rf /dev/.initramfs

	if [ -d "$newroot/dev" ]; then
		/bin/mount --move /dev "$newroot/dev"
	else
		/bin/umount /dev
	fi

	# Restore kernel environment
	while read var; do
		export "$var"
	done < /dev/.initramfs/kern

	# Chain to real filesystem
	exec /bin/run-init "$newroot" "$prog" "$@" </dev/console >/dev/console 2>&1
}
