diff --git a/doc/filesystem.rst b/doc/filesystem.rst
index fc8a025..df5373e 100644
--- a/doc/filesystem.rst
+++ b/doc/filesystem.rst
@@ -3,15 +3,15 @@
 
 Filesystem drivers are still a work in progress. To test a file system you will
 want to create and mount a virtual block device. The makefile in ``src/kernel``
-will generate an ``hd0.img`` EXT2 disk image for you automatically. The default
-size is 32 megabytes, but you can create your own of any size if you want. Once
-the image has been created it will be loaded by QEMU automatically.
+will generate an ``hd0_ext2.img`` EXT2 disk image for you automatically. The
+default size is 32 megabytes, but you can create your own of any size if you
+want. Once the image has been created it will be loaded by QEMU automatically.
 
 In order to write to the virtual hard disk from your host operating system you
 should mount it. The ``make mount`` command in ``src/kernel`` mount the image to
-``$(BLUEJAY_ROOT)/mnt``. It will automatically give read and write permissions
-to the current user. This operation uses ``sudo`` internally, you will be
-prompted for your password.
+``$(BLUEJAY_ROOT)/mnt``. If you are using an EXT2 filesystem you should probably
+change the owner of that directory once it is mounted so that you can write to
+it.
 
 Virtual Filesystem
 ------------------
diff --git a/doc/lisp-std.rst b/doc/lisp-std.rst
new file mode 100644
index 0000000..b0a33f8
--- /dev/null
+++ b/doc/lisp-std.rst
@@ -0,0 +1,54 @@
+Lisp Standard Library
+=====================
+
+This provides documentation for every built-in function in the Lisp standard
+library. It is not auto-generated, please update this documentation if you
+change the API in any way.
+
+In general every user-facing API in the standard library should be documented
+here.
+
+Built-in "functions"
+--------------------
+
+.. function:: (if condition true-condition [false-condition])
+
+	Evaluates ``condition``, if it is truthy (non-``nil``) ``true-condition`` is
+	evaluated. Otherwise ``false-condition`` is evaluated. If
+	``false-condition`` is not provided, ``if`` will evaluate to ``nil``.
+
+.. function:: (let1 (variable binding) & body)
+
+	Evaluates ``binding`` and binds it to ``variable``, then evaluates ``body``.
+	After ``body`` is evaluated ``variable`` is unbound.
+
+	.. code-block:: lisp
+
+		(let1 (greeting (greet "John"))
+		  (do-something greeting)
+		  (print greeting))
+		; greeting is no longer bound
+
+.. function:: (gc)
+
+	Force the garbage collector (GC) to run.
+
+Functions
+---------
+
+.. function:: (car pair)
+
+	Return the first item in ``pair``.
+
+.. function:: (cdr pair)
+
+	Return the second (last) item in ``pair``.
+
+.. function:: (cons a b)
+
+	Return a cons-pair containing ``a`` and ``b``.
+
+.. function:: (print val)
+
+	Print out ``val`` to standard output. This will not be formatted as an
+	s-expression, but in a manner more similar to the internal representation.
\ No newline at end of file
