X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;ds=sidebyside;f=index.html;h=c0048c9b6b08d3fb77fbe0760c16512c606c0725;hb=6601e4c7bbfd2f703eb6b8ef8c2582c8029cb5f5;hp=11a89d14c9cab9c22c5f00fbbf85b6a8f0553fc0;hpb=b909ede4aceab0e41d063205f31ceb8c1d7f8c9a;p=i-t-talk.git
diff --git a/index.html b/index.html
index 11a89d1..c0048c9 100644
--- a/index.html
+++ b/index.html
@@ -53,6 +53,83 @@
Ben Hutchings
+
+
What is the initramfs for?
+
+ -
+ Huge variety of disk drivers, net drivers and filesystems that
+ may be needed to mount root
+
+ -
+ Generic kernel shouldn't have all these built-in
+
+ -
+ Root might also need RAID, LVM, dm-crypt, which generally need
+ to be configured by userland
+
+ -
+ Kernel needs a way to load modules and run scripts but
+ it can't read them from the root filesystem
+
+ -
+ Solution: boot loader provides a bundle of files
+ (initramfs image) to the kernel
+
+
+
+
+
+
+
+
+
+
How the kernel uses an initramfs
+
+ -
+ Kernel always mounts an initial root filesystem using
+ either ramfs or tmpfs
+
+ -
+ If the boot loader provides an initramfs image, kernel
+ unpacks it into this filesystem, then runs /init
+
+ -
+ The initramfs init system is then responsible for mounting
+ the real root filesystem and running the real init
+
+ -
+ Although it is not required to hand over at all
+ - e.g. debian-installer
+
+
+
+
+
+
+
+
Overview
+
+ -
+ Started in Ubuntu in 2005 and adopted in Debian later that year
+
+ -
+ mkinitramfs builds an initramfs image using the
+ included scripts, necessary kernel modules, udev, and utilities
+ from klibc-utils or busybox
+
+ -
+ Uses build-time and boot-time hook scripts for
+ extensibility
+
+ - Used by btrfs-tools, cryptsetup, lvm2, mdadm, etc.
+
+
+ -
+ Supports dependencies within each set of scripts
+
+
+
+
Questions?
@@ -92,6 +169,9 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-->
+
+ Xzibit promotional photo © Retna, used for purpose of parody
+