diff --git a/Makefile b/Makefile
index 7580ad5..88130e1 100644
--- a/Makefile
+++ b/Makefile
@@ -23,7 +23,6 @@ OBJS = \
   $K/sleeplock.o \
   $K/file.o \
   $K/pipe.o \
-  $K/ramdisk.o \
   $K/exec.o \
   $K/sysfile.o \
   $K/kernelvec.o \
@@ -163,7 +162,6 @@ ifndef CPUS
 CPUS := 3
 endif
 QEMUOPTS = -machine virt -kernel $K/kernel -m 3G -smp $(CPUS) -nographic
-QEMUOPTS += -initrd fs.img
 QEMUOPTS += -drive file=fs.img,if=none,format=raw,id=x0 -device virtio-blk-device,drive=x0,bus=virtio-mmio-bus.0
 
 qemu: $K/kernel fs.img
diff --git a/kernel/bio.c b/kernel/bio.c
index 07ea030..41e3d1f 100644
--- a/kernel/bio.c
+++ b/kernel/bio.c
@@ -101,7 +101,6 @@ bread(uint dev, uint blockno)
 
   b = bget(dev, blockno);
   if((b->flags & B_VALID) == 0) {
-    //ramdiskrw(b);
     virtio_disk_rw(b);
   }
   return b;
@@ -114,7 +113,6 @@ bwrite(struct buf *b)
   if(!holdingsleep(&b->lock))
     panic("bwrite");
   b->flags |= B_DIRTY;
-  //ramdiskrw(b);
   virtio_disk_rw(b);
 }
 
diff --git a/kernel/main.c b/kernel/main.c
index d44c82c..f3c5ea6 100644
--- a/kernel/main.c
+++ b/kernel/main.c
@@ -27,7 +27,6 @@ main()
     binit();         // buffer cache
     fileinit();      // file table
     virtio_disk_init(); // emulated hard disk
-    ramdiskinit();   // in-memory disk
     userinit();      // first user process
     started = 1;
   } else {
diff --git a/kernel/memlayout.h b/kernel/memlayout.h
index 6d86166..e8c9aab 100644
--- a/kernel/memlayout.h
+++ b/kernel/memlayout.h
@@ -22,6 +22,7 @@
 #define UART0 0x10000000L
 #define UART0_IRQ 10
 
+// virtio mmio interface
 #define VIRTIO 0x10001000
 #define VIRTIO_IRQ 1 // really the first of 8 units
 
diff --git a/kernel/vm.c b/kernel/vm.c
index 0d0a9d9..b6ca85b 100644
--- a/kernel/vm.c
+++ b/kernel/vm.c
@@ -30,7 +30,7 @@ kvminit()
   mappages(kernel_pagetable, UART0, PGSIZE,
            UART0, PTE_R | PTE_W);
 
-  // virtio disk interface
+  // virtio mmio disk interface
   mappages(kernel_pagetable, VIRTIO, PGSIZE,
            VIRTIO, PTE_R | PTE_W);
 
@@ -50,10 +50,6 @@ kvminit()
   mappages(kernel_pagetable, (uint64)etext, PHYSTOP-(uint64)etext,
            (uint64)etext, PTE_R | PTE_W);
 
-  // map the qemu -initrd fs.img ramdisk
-  mappages(kernel_pagetable, RAMDISK, FSSIZE * BSIZE,
-           RAMDISK, PTE_R | PTE_W);
-
   // map the trampoline for trap entry/exit to
   // the highest virtual address in the kernel.
   mappages(kernel_pagetable, TRAMPOLINE, PGSIZE,