Index: testsuites/libtests/block08/bdbuf_tests.c
===================================================================
--- testsuites/libtests/block08/bdbuf_tests.c	(revision bde8be291e614d3dfbca1adb2ee722c23cb51c39)
+++ testsuites/libtests/block08/bdbuf_tests.c	(revision 117f7b1f670ab88ab256e596dd289743678b3bb7)
@@ -14,15 +14,18 @@
 #endif
 
+#include <sys/stat.h>
 #include <stdio.h>
 #include <string.h>
 #include <errno.h>
+#include <fcntl.h>
+#include <unistd.h>
 
 #include <rtems.h>
 #include <rtems/io.h>
-#include <rtems/diskdevs.h>
 #include <rtems/bdbuf.h>
 #include <rtems/inttypes.h>
 #include "bdbuf_tests.h"
 
+#include <tmacros.h>
 
 struct bdbuf_test_descr {
@@ -106,15 +109,8 @@
 run_bdbuf_tests()
 {
-    rtems_disk_device  *disk;
-    rtems_status_code   sc;
-    dev_t               dev = -1;
-    dev_t               test_dev;
-    unsigned int        i;
-
-    rtems_device_major_number  major;
-    rtems_driver_address_table testdisk = {
-        test_disk_initialize,
-        RTEMS_GENERIC_BLOCK_DEVICE_DRIVER_ENTRIES
-    };
+    rtems_status_code sc;
+    unsigned int      i;
+    int               fd;
+    int               rv;
 
     /* Create a message queue to get events from disk driver. */
@@ -131,38 +127,15 @@
     }
 
-    /* Register a disk device that is used in tests */
-    sc = rtems_io_register_driver(0, &testdisk, &major);
-    if (sc != RTEMS_SUCCESSFUL)
-    {
-        printf("Failed to register TEST DEVICE: %d\n", sc);
-        return;
-    }
-
-    test_dev = -1;
-    while ((disk = rtems_disk_next(dev)) != NULL)
-    {
-        printf(
-          "DEV: %s [%" PRIdrtems_blkdev_bnum "]\n",
-         disk->name,
-          disk->size
-        );
-        dev = disk->dev;
-        if (strcmp(disk->name, TEST_DISK_NAME) == 0)
-            test_dev = dev;
-        rtems_disk_release(disk);
-    }
-
-    if (test_dev == (dev_t)-1)
-    {
-        printf("Failed to find %s disk\n", TEST_DISK_NAME);
-        return;
-    }
-
-    test_dd = rtems_disk_obtain(test_dev);
-    if (test_dd == NULL)
-    {
-        printf("Failed to obtain %s disk\n", TEST_DISK_NAME);
-        return;
-    }
+    sc = test_disk_initialize();
+    rtems_test_assert(sc == RTEMS_SUCCESSFUL);
+
+    fd = open(TEST_DISK_NAME, O_RDWR);
+    rtems_test_assert(fd >= 0);
+
+    rv = rtems_disk_fd_get_disk_device(fd, &test_dd);
+    rtems_test_assert(rv == 0);
+
+    rv = close(fd);
+    rtems_test_assert(rv == 0);
 
     /*
Index: testsuites/libtests/block08/bdbuf_tests.h
===================================================================
--- testsuites/libtests/block08/bdbuf_tests.h	(revision bde8be291e614d3dfbca1adb2ee722c23cb51c39)
+++ testsuites/libtests/block08/bdbuf_tests.h	(revision 117f7b1f670ab88ab256e596dd289743678b3bb7)
@@ -18,5 +18,4 @@
 #include <errno.h>
 #include <rtems/bspIo.h>
-#include <rtems/diskdevs.h>
 #include <rtems/bdbuf.h>
 
@@ -47,9 +46,5 @@
 extern void bdbuf_test4_3_main(void);
 
-extern rtems_device_driver
-test_disk_initialize(
-    rtems_device_major_number major,
-    rtems_device_minor_number minor,
-    void *arg);
+extern rtems_status_code test_disk_initialize(void);
 
 #define ARRAY_NUM(a_) (sizeof(a_) / sizeof(a_[0]))
Index: testsuites/libtests/block08/system.h
===================================================================
--- testsuites/libtests/block08/system.h	(revision bde8be291e614d3dfbca1adb2ee722c23cb51c39)
+++ testsuites/libtests/block08/system.h	(revision 117f7b1f670ab88ab256e596dd289743678b3bb7)
@@ -25,4 +25,6 @@
 #define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
 
+#define CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS 4
+
 #define CONFIGURE_MAXIMUM_TASKS               28
 #define CONFIGURE_MAXIMUM_TIMERS              10
@@ -41,11 +43,4 @@
 #define CONFIGURE_BDBUF_BUFFER_MAX_SIZE     (512)
 
-/* 
- * Define it here in order to be able to register
- * test driver after RTEMS initialization phase
- * (on test start-up).
- */
-#define CONFIGURE_MAXIMUM_DRIVERS 5
-
 #define CONFIGURE_INITIAL_EXTENSIONS RTEMS_TEST_INITIAL_EXTENSION
 
Index: testsuites/libtests/block08/test_disk.c
===================================================================
--- testsuites/libtests/block08/test_disk.c	(revision bde8be291e614d3dfbca1adb2ee722c23cb51c39)
+++ testsuites/libtests/block08/test_disk.c	(revision 117f7b1f670ab88ab256e596dd289743678b3bb7)
@@ -22,6 +22,5 @@
 #include <inttypes.h>
 
-#include "rtems/blkdev.h"
-#include "rtems/diskdevs.h"
+#include <rtems/blkdev.h>
 
 #include "bdbuf_tests.h"
@@ -59,7 +58,5 @@
 
         default:
-            printf("%s() Unexpected request comes %" PRIu32 "\n",
-                   __FUNCTION__, req);
-            return -1;
+            return rtems_blkdev_ioctl (dd, req, argp);
     }
 
@@ -108,23 +105,13 @@
 }
 
-rtems_device_driver
-test_disk_initialize(
-    rtems_device_major_number major,
-    rtems_device_minor_number minor,
-    void *arg)
+rtems_status_code
+test_disk_initialize(void)
 {
     rtems_status_code rc;
-    dev_t             dev;
 
-    rc = rtems_disk_io_initialize();
-    if (rc != RTEMS_SUCCESSFUL)
-        return rc;
-
-    dev = rtems_filesystem_make_dev_t(major, minor);
-    rc = rtems_disk_create_phys(dev,
-                                TEST_DISK_BLOCK_SIZE, TEST_DISK_BLOCK_NUM,
-                                test_disk_ioctl,
-                                NULL,
-                                TEST_DISK_NAME);
+    rc = rtems_blkdev_create(TEST_DISK_NAME,
+                             TEST_DISK_BLOCK_SIZE, TEST_DISK_BLOCK_NUM,
+                             test_disk_ioctl,
+                             NULL);
     if (rc != RTEMS_SUCCESSFUL)
     {
