diff -ruNp udev-084.orig/udev_utils_run.c udev-084/udev_utils_run.c
--- udev-084.orig/udev_utils_run.c	2006-01-30 08:51:38.000000000 +0100
+++ udev-084/udev_utils_run.c	2006-02-15 18:36:35.000000000 +0100
@@ -70,6 +70,22 @@ int pass_env_to_socket(const char *sockn
 	return retval;
 }
 
+static int initramfs_quiet(void)
+{
+	static int quiet = -1;
+	struct stat stats;
+
+	if (quiet >= 0)
+		return quiet;
+
+	if (stat("/dev/.initramfs", &stats) == 0)
+		quiet = 1;
+	else
+		quiet = 0;
+
+	return quiet;
+}
+
 int run_program(const char *command, const char *subsystem,
 		char *result, size_t ressize, size_t *reslen, int log)
 {
@@ -158,7 +174,10 @@ int run_program(const char *command, con
 		execv(argv[0], argv);
 
 		/* we should never reach this */
-		err("exec of program '%s' failed", argv[0]);
+		if (errno == ENOENT && initramfs_quiet())
+		    info("exec of program '%s' failed", argv[0]);
+		else
+		    err("exec of program '%s' failed", argv[0]);
 		_exit(1);
 	case -1:
 		err("fork of '%s' failed: %s", argv[0], strerror(errno));
