static void seed_rng(void)
 {
-       int fd;
-       struct {
-               int entropy_count;
-               int buffer_size;
-               unsigned char buffer[256];
-       } entropy = {
-               .entropy_count = sizeof(entropy.buffer) * 8,
-               .buffer_size = sizeof(entropy.buffer),
-               .buffer = "Adding real entropy is not actually important for these tests. Don't try this at home, kids!"
-       };
+       int bits = 256, fd;
 
-       if (mknod("/dev/urandom", S_IFCHR | 0644, makedev(1, 9)))
-               panic("mknod(/dev/urandom)");
-       fd = open("/dev/urandom", O_WRONLY);
+       pretty_message("[+] Fake seeding RNG...");
+       fd = open("/dev/random", O_WRONLY);
        if (fd < 0)
-               panic("open(urandom)");
-       for (int i = 0; i < 256; ++i) {
-               if (ioctl(fd, RNDADDENTROPY, &entropy) < 0)
-                       panic("ioctl(urandom)");
-       }
+               panic("open(random)");
+       if (ioctl(fd, RNDADDTOENTCNT, &bits) < 0)
+               panic("ioctl(RNDADDTOENTCNT)");
        close(fd);
 }
 
 
 int main(int argc, char *argv[])
 {
-       seed_rng();
        ensure_console();
        print_banner();
        mount_filesystems();
+       seed_rng();
        kmod_selftests();
        enable_logging();
        clear_leaks();