Merge remote-tracking branch 'origin/github/pr/45'
[grml.org.git] / grml-live / setup.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"\r
2     "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">\r
3 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">\r
4 <head>\r
5 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />\r
6 <meta name="generator" content="AsciiDoc 8.2.2" />\r
7 <style type="text/css">\r
8 /* Debug borders */\r
9 p, li, dt, dd, div, pre, h1, h2, h3, h4, h5, h6 {\r
10 /*\r
11   border: 1px solid red;\r
12 */\r
13 }\r
14 \r
15 body {\r
16   margin: 1em 5% 1em 5%;\r
17 }\r
18 \r
19 a {\r
20   color: blue;\r
21   text-decoration: underline;\r
22 }\r
23 a:visited {\r
24   color: fuchsia;\r
25 }\r
26 \r
27 em {\r
28   font-style: italic;\r
29 }\r
30 \r
31 strong {\r
32   font-weight: bold;\r
33 }\r
34 \r
35 tt {\r
36   color: navy;\r
37 }\r
38 \r
39 h1, h2, h3, h4, h5, h6 {\r
40   color: #527bbd;\r
41   font-family: sans-serif;\r
42   margin-top: 1.2em;\r
43   margin-bottom: 0.5em;\r
44   line-height: 1.3;\r
45 }\r
46 \r
47 h1 {\r
48   border-bottom: 2px solid silver;\r
49 }\r
50 h2 {\r
51   border-bottom: 2px solid silver;\r
52   padding-top: 0.5em;\r
53 }\r
54 \r
55 div.sectionbody {\r
56   font-family: serif;\r
57   margin-left: 0;\r
58 }\r
59 \r
60 hr {\r
61   border: 1px solid silver;\r
62 }\r
63 \r
64 p {\r
65   margin-top: 0.5em;\r
66   margin-bottom: 0.5em;\r
67 }\r
68 \r
69 pre {\r
70   padding: 0;\r
71   margin: 0;\r
72 }\r
73 \r
74 span#author {\r
75   color: #527bbd;\r
76   font-family: sans-serif;\r
77   font-weight: bold;\r
78   font-size: 1.1em;\r
79 }\r
80 span#email {\r
81 }\r
82 span#revision {\r
83   font-family: sans-serif;\r
84 }\r
85 \r
86 div#footer {\r
87   font-family: sans-serif;\r
88   font-size: small;\r
89   border-top: 2px solid silver;\r
90   padding-top: 0.5em;\r
91   margin-top: 4.0em;\r
92 }\r
93 div#footer-text {\r
94   float: left;\r
95   padding-bottom: 0.5em;\r
96 }\r
97 div#footer-badges {\r
98   float: right;\r
99   padding-bottom: 0.5em;\r
100 }\r
101 \r
102 div#preamble,\r
103 div.tableblock, div.imageblock, div.exampleblock, div.verseblock,\r
104 div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,\r
105 div.admonitionblock {\r
106   margin-right: 10%;\r
107   margin-top: 1.5em;\r
108   margin-bottom: 1.5em;\r
109 }\r
110 div.admonitionblock {\r
111   margin-top: 2.5em;\r
112   margin-bottom: 2.5em;\r
113 }\r
114 \r
115 div.content { /* Block element content. */\r
116   padding: 0;\r
117 }\r
118 \r
119 /* Block element titles. */\r
120 div.title, caption.title {\r
121   font-family: sans-serif;\r
122   font-weight: bold;\r
123   text-align: left;\r
124   margin-top: 1.0em;\r
125   margin-bottom: 0.5em;\r
126 }\r
127 div.title + * {\r
128   margin-top: 0;\r
129 }\r
130 \r
131 td div.title:first-child {\r
132   margin-top: 0.0em;\r
133 }\r
134 div.content div.title:first-child {\r
135   margin-top: 0.0em;\r
136 }\r
137 div.content + div.title {\r
138   margin-top: 0.0em;\r
139 }\r
140 \r
141 div.sidebarblock > div.content {\r
142   background: #ffffee;\r
143   border: 1px solid silver;\r
144   padding: 0.5em;\r
145 }\r
146 \r
147 div.listingblock {\r
148   margin-right: 0%;\r
149 }\r
150 div.listingblock > div.content {\r
151   border: 1px solid silver;\r
152   background: #f4f4f4;\r
153   padding: 0.5em;\r
154 }\r
155 \r
156 div.quoteblock > div.content {\r
157   padding-left: 2.0em;\r
158 }\r
159 \r
160 div.attribution {\r
161   text-align: right;\r
162 }\r
163 div.verseblock + div.attribution {\r
164   text-align: left;\r
165 }\r
166 \r
167 div.admonitionblock .icon {\r
168   vertical-align: top;\r
169   font-size: 1.1em;\r
170   font-weight: bold;\r
171   text-decoration: underline;\r
172   color: #527bbd;\r
173   padding-right: 0.5em;\r
174 }\r
175 div.admonitionblock td.content {\r
176   padding-left: 0.5em;\r
177   border-left: 2px solid silver;\r
178 }\r
179 \r
180 div.exampleblock > div.content {\r
181   border-left: 2px solid silver;\r
182   padding: 0.5em;\r
183 }\r
184 \r
185 div.verseblock div.content {\r
186   white-space: pre;\r
187 }\r
188 \r
189 div.imageblock div.content { padding-left: 0; }\r
190 div.imageblock img { border: 1px solid silver; }\r
191 span.image img { border-style: none; }\r
192 \r
193 dl {\r
194   margin-top: 0.8em;\r
195   margin-bottom: 0.8em;\r
196 }\r
197 dt {\r
198   margin-top: 0.5em;\r
199   margin-bottom: 0;\r
200   font-style: italic;\r
201 }\r
202 dd > *:first-child {\r
203   margin-top: 0;\r
204 }\r
205 \r
206 ul, ol {\r
207     list-style-position: outside;\r
208 }\r
209 ol.olist2 {\r
210   list-style-type: lower-alpha;\r
211 }\r
212 \r
213 div.tableblock > table {\r
214   border: 3px solid #527bbd;\r
215 }\r
216 thead {\r
217   font-family: sans-serif;\r
218   font-weight: bold;\r
219 }\r
220 tfoot {\r
221   font-weight: bold;\r
222 }\r
223 \r
224 div.hlist {\r
225   margin-top: 0.8em;\r
226   margin-bottom: 0.8em;\r
227 }\r
228 div.hlist td {\r
229   padding-bottom: 5px;\r
230 }\r
231 td.hlist1 {\r
232   vertical-align: top;\r
233   font-style: italic;\r
234   padding-right: 0.8em;\r
235 }\r
236 td.hlist2 {\r
237   vertical-align: top;\r
238 }\r
239 \r
240 @media print {\r
241   div#footer-badges { display: none; }\r
242 }\r
243 \r
244 div#toctitle {\r
245   color: #527bbd;\r
246   font-family: sans-serif;\r
247   font-size: 1.1em;\r
248   font-weight: bold;\r
249   margin-top: 1.0em;\r
250   margin-bottom: 0.1em;\r
251 }\r
252 \r
253 div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {\r
254   margin-top: 0;\r
255   margin-bottom: 0;\r
256 }\r
257 div.toclevel2 {\r
258   margin-left: 2em;\r
259   font-size: 0.9em;\r
260 }\r
261 div.toclevel3 {\r
262   margin-left: 4em;\r
263   font-size: 0.9em;\r
264 }\r
265 div.toclevel4 {\r
266   margin-left: 6em;\r
267   font-size: 0.9em;\r
268 }\r
269 /* Workarounds for IE6's broken and incomplete CSS2. */\r
270 \r
271 div.sidebar-content {\r
272   background: #ffffee;\r
273   border: 1px solid silver;\r
274   padding: 0.5em;\r
275 }\r
276 div.sidebar-title, div.image-title {\r
277   font-family: sans-serif;\r
278   font-weight: bold;\r
279   margin-top: 0.0em;\r
280   margin-bottom: 0.5em;\r
281 }\r
282 \r
283 div.listingblock div.content {\r
284   border: 1px solid silver;\r
285   background: #f4f4f4;\r
286   padding: 0.5em;\r
287 }\r
288 \r
289 div.quoteblock-content {\r
290   padding-left: 2.0em;\r
291 }\r
292 \r
293 div.exampleblock-content {\r
294   border-left: 2px solid silver;\r
295   padding-left: 0.5em;\r
296 }\r
297 \r
298 /* IE6 sets dynamically generated links as visited. */\r
299 div#toc a:visited { color: blue; }\r
300 </style>\r
301 <title></title>\r
302 </head>\r
303 <body>\r
304 <div id="header">\r
305 </div>\r
306 <h2>Setup of grml-live build system</h2>\r
307 <div class="sectionbody">\r
308 <p>The build system is a Debian/etch system (inside VMware) installed via grml-debootstrap.</p>\r
309 <h3>Installation of software</h3>\r
310 <p>Add grml and FAI repository to Debian package list:</p>\r
311 <div class="literalblock">\r
312 <div class="content">\r
313 <pre><tt>cat &gt;&gt; /etc/apt/sources.list &lt;&lt; EOF\r
314 deb http://deb.grml.org/ grml-stable  main\r
315 deb http://deb.grml.org/ grml-testing main</tt></pre>\r
316 </div></div>\r
317 <div class="literalblock">\r
318 <div class="content">\r
319 <pre><tt>deb http://fai-project.org/download etch koeln\r
320 EOF</tt></pre>\r
321 </div></div>\r
322 <p>Pin down grml repository so only the packages manually chosen for installation\r
323 are taken from it:</p>\r
324 <div class="literalblock">\r
325 <div class="content">\r
326 <pre><tt>cat &gt;&gt; /etc/apt/preferences &lt;&lt; EOF\r
327 Package: *\r
328 Pin: origin deb.grml.org\r
329 Pin-Priority: 100\r
330 EOF</tt></pre>\r
331 </div></div>\r
332 <p>Install working squashfs-tools:</p>\r
333 <div class="literalblock">\r
334 <div class="content">\r
335 <pre><tt>apt-get update\r
336 apt-get install squashfs-lzma-tools</tt></pre>\r
337 </div></div>\r
338 <div class="admonitionblock">\r
339 <table><tr>\r
340 <td class="icon">\r
341 <div class="title">Note</div>\r
342 </td>\r
343 <td class="content">Depending on which grml version your are remastering make sure to use the right\r
344 squashfs tools, please make sure to check out\r
345 <a href="http://grml.org/grml-live/#current_state">http://grml.org/grml-live/#current_state</a>!</td>\r
346 </tr></table>\r
347 </div>\r
348 <p>Install grml-live and additional software for comfortable console work:</p>\r
349 <div class="literalblock">\r
350 <div class="content">\r
351 <pre><tt>apt-get install zsh grml-live mercurial gpm asciidoc</tt></pre>\r
352 </div></div>\r
353 <div class="literalblock">\r
354 <div class="content">\r
355 <pre><tt>mkdir ~/bin &amp;&amp; cd ~/bin\r
356 wget http://grml.org/scripts/grml-config.sh\r
357 chmod 775 grml-config.sh\r
358 cd &amp;&amp; ~/bin/grml-config.sh</tt></pre>\r
359 </div></div>\r
360 <h3>Configuration of custom ISO</h3>\r
361 <p>Copy grml-live templates:</p>\r
362 <div class="literalblock">\r
363 <div class="content">\r
364 <pre><tt>cp -a /usr/share/grml-live/templates ~/</tt></pre>\r
365 </div></div>\r
366 <p>Now we can adjust configuration\r
367 <a href="isolinux.cfg">templates/boot/isolinux/isolinux.cfg</a> according to our needs\r
368 (like get "forensic" and "lang=de" bootoptions by default).</p>\r
369 <p>Prepare local configuration (adjust it according to your personal needs):</p>\r
370 <div class="literalblock">\r
371 <div class="content">\r
372 <pre><tt>cat &gt; /etc/grml/grml-live.local &lt;&lt; EOF\r
373 # Main output directory\r
374 OUTPUT="/grml/grml-live"\r
375 #ZERO_LOGFILE='1'\r
376 #ZERO_FAI_LOGFILE='1'</tt></pre>\r
377 </div></div>\r
378 <div class="literalblock">\r
379 <div class="content">\r
380 <pre><tt>#GRML_LIVE_SOURCES="\r
381 #deb http://192.168.1.112/debian     lenny         main contrib non-free\r
382 #deb http://deb.grml.org/            grml-stable  main\r
383 #deb http://deb.grml.org/            grml-testing main\r
384 #deb http://ftp.de.debian.org/debian lenny         main contrib non-free\r
385 #"</tt></pre>\r
386 </div></div>\r
387 <div class="literalblock">\r
388 <div class="content">\r
389 <pre><tt># FAI_DEBOOTSTRAP="lenny http://ftp.de.debian.org/debian"\r
390 EOF</tt></pre>\r
391 </div></div>\r
392 <p>Create FORENSIC grml-live/FAI class with package list:</p>\r
393 <div class="literalblock">\r
394 <div class="content">\r
395 <pre><tt>cat &gt;&gt; /etc/grml/fai/config/package_config/FORENSIC &lt;&lt; EOF\r
396 PACKAGES aptitude</tt></pre>\r
397 </div></div>\r
398 <div class="literalblock">\r
399 <div class="content">\r
400 <pre><tt>afflib\r
401 autopsy\r
402 foremost\r
403 libewf\r
404 scalpel\r
405 sleuthkit\r
406 EOF</tt></pre>\r
407 </div></div>\r
408 <p>Create FORENSIC script for grml-live/FAI:</p>\r
409 <div class="literalblock">\r
410 <div class="content">\r
411 <pre><tt>mkdir /etc/grml/fai/config/scripts/FORENSIC</tt></pre>\r
412 </div></div>\r
413 <div class="literalblock">\r
414 <div class="content">\r
415 <pre><tt>cat &gt; /etc/grml/fai/config/scripts/FORENSIC/01-create-forensic-dir &lt;&lt; EOF\r
416 #!/bin/sh\r
417 # Filename:      /etc/grml/fai/config/scripts/FORENSIC/01-create-forensic-dir\r
418 # Purpose:       create directory "/forensic" in chroot\r
419 # Authors:       grml-team (grml.org), (c) Michael Prokop &lt;mika@grml.org&gt;\r
420 # Bug-Reports:   see http://grml.org/bugs/\r
421 # License:       This file is licensed under the GPL v2 or any later version.\r
422 # Latest change: Sat Mar 22 00:27:58 CET 2008\r
423 ################################################################################</tt></pre>\r
424 </div></div>\r
425 <div class="literalblock">\r
426 <div class="content">\r
427 <pre><tt>set -e</tt></pre>\r
428 </div></div>\r
429 <div class="literalblock">\r
430 <div class="content">\r
431 <pre><tt>[ -d "$target"/forensic ] || mkdir "$target"/forensic</tt></pre>\r
432 </div></div>\r
433 <div class="literalblock">\r
434 <div class="content">\r
435 <pre><tt>## END OF FILE #################################################################\r
436 # vim:ft=sh expandtab ai tw=80 tabstop=4 shiftwidth=3\r
437 EOF</tt></pre>\r
438 </div></div>\r
439 <div class="literalblock">\r
440 <div class="content">\r
441 <pre><tt>chmod 775 /etc/grml/fai/config/scripts/FORENSIC/01-create-forensic-dir</tt></pre>\r
442 </div></div>\r
443 <h3>Build ISO</h3>\r
444 <p>Execute grml-live as root to build ISO in /grml/grml-live/grml_isos:</p>\r
445 <div class="literalblock">\r
446 <div class="content">\r
447 <pre><tt>grml-live -s lenny -a i386 -c GRMLBASE,GRML_MEDIUM,FORENSIC,I386 -t ~/templates -V</tt></pre>\r
448 </div></div>\r
449 </div>\r
450 <div id="footer">\r
451 <div id="footer-text">\r
452 Last updated 13-Jan-2009 15:24:54 CEST\r
453 </div>\r
454 </div>\r
455 </body>\r
456 </html>\r