]> git.decadent.org.uk Git - i-t-talk.git/blob - index.html
How the kernel uses an initramfs
[i-t-talk.git] / index.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
2         "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3
4 <html xmlns="http://www.w3.org/1999/xhtml">
5
6 <head>
7 <title>initramfs-tools - mini-DebConf Cambridge 2014</title>
8 <!-- metadata -->
9 <meta name="generator" content="S5" />
10 <meta name="version" content="S5 1.1" />
11 <meta name="author" content="Ben Hutchings" />
12 <!-- configuration parameters -->
13 <meta name="defaultView" content="slideshow" />
14 <meta name="controlVis" content="hidden" />
15 <!-- style sheet links -->
16 <link rel="stylesheet" href="s5-blank/ui/default/slides.css" type="text/css" media="projection" id="slideProj" />
17 <link rel="stylesheet" href="s5-blank/ui/default/outline.css" type="text/css" media="screen" id="outlineStyle" />
18 <link rel="stylesheet" href="s5-blank/ui/default/print.css" type="text/css" media="print" id="slidePrint" />
19 <link rel="stylesheet" href="s5-blank/ui/default/opera.css" type="text/css" media="projection" id="operaFix" />
20 <style type="text/css">
21   .logo { position: absolute; right: 0; top: 0; height: 100% }
22   table { border-collapse: collapse }
23   th { border-bottom: 2pt solid black }
24   th, td { padding: 0 6pt }
25   .package { font-family: monospace }
26   var { font-family: sans }
27 </style>
28 <style type="text/css" media="print">
29   .slide { page-break-after: always }
30 </style>
31 <!-- S5 JS -->
32 <script src="s5-blank/ui/default/slides.js" type="text/javascript"></script>
33 </head>
34 <body>
35
36 <div class="layout">
37 <div id="controls"><!-- DO NOT EDIT --></div>
38 <div id="currentSlide"><!-- DO NOT EDIT --></div>
39 <div id="header">
40 </div>
41 <div id="footer">
42 <h1>mini-DebConf Cambridge 2014</h1>
43 <h2>initramfs-tools</h2>
44 </div>
45
46 </div>
47
48 <div class="presentation">
49
50 <div class="slide">
51 <h1>initramfs-tools</h1>
52 <object data="tux-debian.svg" width="35%" align="right"></object>
53 <h3>Ben&nbsp;Hutchings</h3>
54 </div>
55
56 <div class="slide">
57   <h1>What is the initramfs for?</h1>
58   <ul class="incremental">
59     <li>
60       Huge variety of disk drivers, net drivers and filesystems that
61       may be needed to mount root
62     </li>
63     <li>
64       Generic kernel shouldn't have all these built-in
65     </li>
66     <li>
67       Root might also need RAID, LVM, dm-crypt, which generally need
68       to be configured by userland
69     </li>
70     <li>
71       Kernel needs a way to load modules and run scripts but
72       it can't read them from the root filesystem
73     </li>
74     <li>
75       Solution: boot loader provides a bundle of files
76       (initramfs image) to the kernel
77     </li>
78   </ul>
79 </div>
80
81 <div class="slide">
82   <img src="yo-dawg.jpeg" width="90%" />
83 </div>
84
85 <div class="slide">
86   <h1>How the kernel uses an initramfs</h1>
87   <ul class="incremental">
88     <li>
89       Kernel <em>always</em> mounts an initial root filesystem using
90       either ramfs or tmpfs
91     </li>
92     <li>
93       If the boot loader provides an initramfs image, kernel
94       unpacks it into this filesystem, then runs <tt>/init</tt>
95     </li>
96     <li>
97       The initramfs init system is then responsible for mounting
98       the real root filesystem and running the real <tt>init</tt>
99       <ul class="incremental">
100         <li>
101           Although it is not <em>required</em> to hand over at all
102           - e.g. debian-installer
103         </li>
104       </ul>
105     </li>
106   </ul>
107 </div>
108
109 <div class="slide">
110   <h1>Questions?</h1>
111 </div>
112
113 <div class="slide">
114   <h1>Credits</h1>
115   <ul>
116     <li>
117       Linux 'Tux' logo &copy; Larry Ewing, Simon Budig.
118       <!--
119 Redistribution is free but has to include this notice.
120       -->
121       <ul>
122         <li>Modified by Ben to add Debian open-ND logo</li>
123       </ul>
124     </li>
125     <li>
126       Debian open-ND logo &copy; Software in the Public Interest, Inc.
127       <!--
128 Permission is hereby granted, free of charge, to any person obtaining
129 a copy of this software and associated documentation files (the
130 "Software"), to deal in the Software without restriction, including
131 without limitation the rights to use, copy, modify, merge, publish,
132 distribute, sublicense, and/or sell copies of the Software, and to
133 permit persons to whom the Software is furnished to do so, subject to
134 the following conditions:
135
136 The above copyright notice and this permission notice shall be
137 included in all copies or substantial portions of the Software.
138
139 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
140 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
141 MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
142 NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
143 LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
144 OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
145 WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
146       -->
147     </li>
148     <li>
149       Xzibit promotional photo &copy; Retna, used for purpose of parody
150     </li>
151   </ul>
152 </div>
153
154 </body>
155 </html>