From a111cd981debea91e5b7c7787e22609e01bc12c8 Mon Sep 17 00:00:00 2001
From: Ben Hutchings <ben@decadent.org.uk>
Date: Sun, 9 Nov 2014 15:15:24 +0000
Subject: [PATCH] Problems

---
 index.html | 73 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 73 insertions(+)

diff --git a/index.html b/index.html
index 460eddf..fcc5c0e 100644
--- a/index.html
+++ b/index.html
@@ -160,6 +160,79 @@
   </ul>
 </div>
 
+<div class="slide">
+  <h1>Problems (1)</h1>
+  <p>
+    Root filesystem is not enough.  Depenency-based boot means
+    there's no clean split between root and <tt>/usr</tt>.  So
+    initramfs should mount it (implemented in 0.117).  However:
+  </p>
+  <ul class="incremental">
+    <li>
+      initscripts and mountall won't remount it read-write if it's
+      already mounted read-only
+      <ul class="incremental">
+	<li>
+	  Current workaround: only do this for systemd
+	</li>
+      </ul>
+    </li>
+    <li>
+      fsck will refuse to operate on <tt>/usr</tt> if already
+      mounted
+      <ul class="incremental">
+	<li>
+	  So we need to fsck it from the initramfs
+	  <ul class="incremental">
+	    <li>
+	      But <tt>e2fsck</tt> complains if the superblock
+	      time is newer than system time, and system time
+	      may not be correct yet
+	      <ul class="incremental">
+		<li>
+		  So we need to fix the system time in the
+		  initramfs
+		</li>
+	      </ul>
+	    </li>
+	  </ul>
+	</li>
+      </ul>
+    </li>
+    <li>
+      Selecting the right fsck to install is harder than
+      it seemed
+    </li>
+  </ul>
+</div>
+
+<div class="slide">
+  <h1>Problems (2)</h1>
+  <p class="incremental">
+    Device discovery by kernel is asynchronous.  But that's
+    why we have udev, right?
+  </p>
+  <p class="incremental">
+    Unfortunately not everything needed for device setup is
+    or can be in udev hooks (e.g. cryptsetup requires interaction)
+  </p>
+  <p class="incremental">
+    Lots of hacks used (<tt>while ... do sleep... done</tt>,
+    <tt>udevadm settle</tt> in too many places), and they still
+    sometimes fail
+    (<a href="https://bugs.debian.org/616689">#616689</a> and merged
+    bugs)
+  </p>
+  <p class="incremental">
+    Ubuntu has a somewhat better approach but we still haven't merged
+    it back...
+  </p>
+  <p class="incremental">
+    ...in fact, Debian and Ubuntu branches have been diverging for
+    about 5 years
+  </p>
+</div>
+
 <div class="slide">
   <h1>Questions?</h1>
 </div>
-- 
2.39.5