diff -Naur systemd-209/src/libudev/libudev-hwdb.c systemd-209.patch/src/libudev/libudev-hwdb.c
--- systemd-209/src/libudev/libudev-hwdb.c	2014-02-13 03:42:33.000000000 +0100
+++ systemd-209.patch/src/libudev/libudev-hwdb.c	2014-02-20 13:53:24.578683125 +0100
@@ -275,30 +275,30 @@
         hwdb->refcount = 1;
         udev_list_init(udev, &hwdb->properties_list, true);
 
-        hwdb->f = fopen("/etc/udev/hwdb.bin", "re");
+        hwdb->f = fopen("/run/hwdb.bin", "re");
         if (!hwdb->f) {
-                udev_dbg(udev, "error reading /etc/udev/hwdb.bin: %m");
+                udev_dbg(udev, "error reading /run/hwdb.bin: %m");
                 udev_hwdb_unref(hwdb);
                 return NULL;
         }
 
         if (fstat(fileno(hwdb->f), &hwdb->st) < 0 ||
             (size_t)hwdb->st.st_size < offsetof(struct trie_header_f, strings_len) + 8) {
-                udev_dbg(udev, "error reading /etc/udev/hwdb.bin: %m");
+                udev_dbg(udev, "error reading /run/hwdb.bin: %m");
                 udev_hwdb_unref(hwdb);
                 return NULL;
         }
 
         hwdb->map = mmap(0, hwdb->st.st_size, PROT_READ, MAP_SHARED, fileno(hwdb->f), 0);
         if (hwdb->map == MAP_FAILED) {
-                udev_dbg(udev, "error mapping /etc/udev/hwdb.bin: %m");
+                udev_dbg(udev, "error mapping /run/hwdb.bin: %m");
                 udev_hwdb_unref(hwdb);
                 return NULL;
         }
 
         if (memcmp(hwdb->map, sig, sizeof(hwdb->head->signature)) != 0 ||
             (size_t)hwdb->st.st_size != le64toh(hwdb->head->file_size)) {
-                udev_dbg(udev, "error recognizing the format of /etc/udev/hwdb.bin");
+                udev_dbg(udev, "error recognizing the format of /run/hwdb.bin");
                 udev_hwdb_unref(hwdb);
                 return NULL;
         }
@@ -358,7 +358,7 @@
                 return false;
         if (!hwdb->f)
                 return false;
-        if (stat("/etc/udev/hwdb.bin", &st) < 0)
+        if (stat("/run/hwdb.bin", &st) < 0)
                 return true;
         if (timespec_load(&hwdb->st.st_mtim) != timespec_load(&st.st_mtim))
                 return true;
diff -Naur systemd-209/src/udev/udevadm-hwdb.c systemd-209.patch/src/udev/udevadm-hwdb.c
--- systemd-209/src/udev/udevadm-hwdb.c	2014-02-19 17:53:50.000000000 +0100
+++ systemd-209.patch/src/udev/udevadm-hwdb.c	2014-02-20 13:50:53.827568058 +0100
@@ -624,7 +624,7 @@
                 log_debug("strings dedup'ed: %8zu bytes (%8zu)",
                           trie->strings->dedup_len, trie->strings->dedup_count);
 
-                if (asprintf(&hwdb_bin, "%s/etc/udev/hwdb.bin", root) < 0) {
+                if (asprintf(&hwdb_bin, "%s/run/hwdb.bin", root) < 0) {
                         rc = EXIT_FAILURE;
                         goto out;
                 }
