diff --git a/doc/Makefile b/doc/Makefile
index 6f05775..869b207 100644
--- a/doc/Makefile
+++ b/doc/Makefile
@@ -17,11 +17,6 @@
 watch:
 	sphinx-autobuild "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
 
-dox: doxygen
-doxygen:
-	doxygen lisp.doxyfile
-	doxygen kernel.doxyfile
-
 # Catch-all target: route all unknown targets to Sphinx using the new
 # "make mode" option.  $(O) is meant as a shortcut for $(SPHINXOPTS).
 %: Makefile
diff --git a/doc/architecture.rst b/doc/architecture.rst
index b946a54..5cdc414 100644
--- a/doc/architecture.rst
+++ b/doc/architecture.rst
@@ -42,11 +42,8 @@
 ~~~~~~~~~~~~~~~~~~
 
 PCI device drivers must register a ``struct pci_device_driver`` in order to
-interface with a certain device (or class of devices). The relevant fields of
-``struct pci_device_driver`` are shown here:
-
-.. doxygenstruct:: pci_device_driver
-    :project: Kernel
+interface with a certain device (or class of devices). See
+``include/kernel/dri/pci/pci.h`` for details.
 
 A PCI device driver must pass an instance of this structure to
 ``pci_register_device_driver`` (in ``include/kernel/dri/pci/pci.h``. If
diff --git a/doc/build.rst b/doc/build.rst
index 3826238..3150dc7 100644
--- a/doc/build.rst
+++ b/doc/build.rst
@@ -37,3 +37,18 @@
 
 There are some additional dependencies for building a GRUB ISO but I don't
 remember them at the time of writing.
+
+Common Issues
+-------------
+
+If when launching Bluejay in QEMU with ``make qemu`` you see the message ::
+
+    [ DEBUG ] mb.mods_addr = <whatever>, 0x<whatever>
+
+Followed by a page fault (``#PF``), your QEMU is out of date. You can either run
+the GRUB ISO (with ``make qemu-iso``), which is slower, or upgrade your QEMU to
+at least version 6.0.
+
+This is because prior to 6.0 QEMU's integrated bootloader did not support
+multiboot modules. This message is caused by the kernel attempting to read a
+module that was loaded incorrectly.
diff --git a/doc/conf.py b/doc/conf.py
index 39e52ea..0a41b0a 100644
--- a/doc/conf.py
+++ b/doc/conf.py
@@ -16,11 +16,6 @@
 	'breathe'
 ]
 
-breathe_projects = {
-	'Kernel': '_dox_kernel/xml',
-	'Lisp': '_dox_lisp/xml'
-}
-
 breathe_default_project = 'Kernel'
 
 templates_path = ['_templates']
@@ -30,6 +25,3 @@
 html_theme = 'sphinx_rtd_theme'
 
 html_static_path = ['_static']
-
-def setup(app):
-	app.add_stylesheet('custom.css')
diff --git a/doc/filesystem.rst b/doc/filesystem.rst
index df5373e..3632c6f 100644
--- a/doc/filesystem.rst
+++ b/doc/filesystem.rst
@@ -21,3 +21,30 @@
 very low-level API for dealing with files -- including the usual read(),
 write(), readdir(), etc -- but this should not be used for much longer. A high
 level API utilizing file descriptors will be implemented to make this simpler.
+
+Filesystem Drivers
+------------------
+
+The current filesystem driver(s) available in Bluejay are:
+
+- ``ext2``
+    - Read-only support, write support is in progress
+
+Creating a Virtual Drive in QEMU
+--------------------------------
+
+By default ``make qemu`` will load ``hd0_$(FS).img`` as the virtual hard drive
+for Bluejay. ``FS`` defaults to ``ext2`` but can be set in your ``Jmk.options``
+to any value. If this file does not exist it will be created using
+``mkfs.$(FS)``, ie ``mkfs.ext2`` by default. The default size of the file system
+is 35 megabytes, although you can create one of any size manually if you want.
+35 megabytes is plenty for testing though.
+
+The ``make mount`` command will mount the current virtual hard drive in
+``$(ROOT)/mnt`` (where ``$(ROOT)`` is the root directory of the Bluejay sources,
+not ``/``). This command requires superuser privileges. If you want to give your
+(host) user account write permissions use ``chown -R user:group /path/to/mnt``
+where ``user`` and ``group`` are the user and group you want to own the files.
+
+Currently Bluejay ignores file permissions so it doesn't matter who you set the
+owner to.
diff --git a/doc/index.rst b/doc/index.rst
index ca3da7b..90900ce 100644
--- a/doc/index.rst
+++ b/doc/index.rst
@@ -14,9 +14,7 @@
    architecture
    filesystem
    lisp-std
-   lisp-api
    logging
-   kernel-api
 
 Bluejay is an operating system inspired by UNIX and early Lisp machines.
 Currently it only targets x86. There are no plans to port to other platforms.
diff --git a/doc/kernel-api.rst b/doc/kernel-api.rst
deleted file mode 100644
index e609259..0000000
--- a/doc/kernel-api.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-Kernel API Docs
-===============
-
-.. doxygenindex::
-	:project: Kernel
diff --git a/doc/lisp-api.rst b/doc/lisp-api.rst
deleted file mode 100644
index d9c9abf..0000000
--- a/doc/lisp-api.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-Lisp C API Docs
-===============
-
-.. doxygenindex::
-	:project: Lisp
-
diff --git a/doc/make.bat b/doc/make.bat
deleted file mode 100644
index 2119f51..0000000
--- a/doc/make.bat
+++ /dev/null
@@ -1,35 +0,0 @@
-@ECHO OFF
-
-pushd %~dp0
-
-REM Command file for Sphinx documentation
-
-if "%SPHINXBUILD%" == "" (
-	set SPHINXBUILD=sphinx-build
-)
-set SOURCEDIR=.
-set BUILDDIR=_build
-
-if "%1" == "" goto help
-
-%SPHINXBUILD% >NUL 2>NUL
-if errorlevel 9009 (
-	echo.
-	echo.The 'sphinx-build' command was not found. Make sure you have Sphinx
-	echo.installed, then set the SPHINXBUILD environment variable to point
-	echo.to the full path of the 'sphinx-build' executable. Alternatively you
-	echo.may add the Sphinx directory to PATH.
-	echo.
-	echo.If you don't have Sphinx installed, grab it from
-	echo.http://sphinx-doc.org/
-	exit /b 1
-)
-
-%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%
-goto end
-
-:help
-%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%
-
-:end
-popd
diff --git a/include/kernel/vfs.h b/include/kernel/vfs.h
index 40a8e87..e7cf8d9 100644
--- a/include/kernel/vfs.h
+++ b/include/kernel/vfs.h
@@ -31,7 +31,8 @@
 
 struct fs_dirent
 {
-	char name[128];
+	// EXT2 supports up to 256 byte file names, so we will do the same
+	char name[256];
 	uint inode;
 };
 
diff --git a/src/kernel/Jmk b/src/kernel/Jmk
index 0b1eac6..93af5fc 100644
--- a/src/kernel/Jmk
+++ b/src/kernel/Jmk
@@ -77,6 +77,9 @@
 	@dd bs=4M count=8 if=/dev/zero of=$@
 	@$(patsubst hd0_%.img,mkfs.%,$@) $@
 
+fs-info: hd0_$(FS).img
+	tune2fs -l $< | grep -i inode
+
 qemu: kernel.elf hd0_$(FS).img
 	qemu-system-i386 $(QEMUFLAGS) -d cpu_reset -monitor stdio -kernel kernel.elf -no-reboot
 
diff --git a/src/kernel/dri/fs/ext2/ext2.c b/src/kernel/dri/fs/ext2/ext2.c
index ad416be..78dd24e 100644
--- a/src/kernel/dri/fs/ext2/ext2.c
+++ b/src/kernel/dri/fs/ext2/ext2.c
@@ -288,10 +288,10 @@
 {
 	const uint block_size = ext2_block_size(sb);
 
-	while (index > block_size)
+	while (*index > block_size)
 	{
-		index -= block_size;
-		bitmap_block += 1;
+		*index -= block_size;
+		*bitmap_block += 1;
 	}
 
 	return block_size;
@@ -357,7 +357,7 @@
 				kprintf(DEBUG "buffer[i] = 0x%x, i = %d, index = %d\n",
 						buffer[i], i, index);
 
-				// __builtin_ffs gives us the index of the least-significant 1
+				// __builtin_ffs gives us 1+the index of the least-significant 1
 				// bit. Since we take the bitwise inverse this is actuall the
 				// least significant 0 bit. This is a GCC intrinsic. This works
 				// particularly well on little-endian systems where the least
@@ -369,7 +369,7 @@
 				//                            | this is the MSB
 				//
 				// This means that the LSB is also the first bit in the bitset.
-				uint trailing = __builtin_ffs(~buffer[i]);
+				uint trailing = __builtin_ffs(~buffer[i]) - 1;
 
 				kprintf(DEBUG "Trailing = %d, 0x%x\n", trailing, trailing);
 
