</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>