tazlito view doc/tazlito.en.html @ rev 314

Apply common stylesheet for docs; reformatting of html code.
author Aleksej Bobylev <al.bobylev@gmail.com>
date Sat May 04 22:59:48 2013 +0000 (2013-05-04)
parents df6381a368a2
children b3041f9d49ab
line source
1 <!DOCTYPE html>
2 <html xmlns="http://www.w3.org/1999/xhtml" lang="en">
3 <head>
4 <meta charset="utf-8" />
5 <title>TazLito Manual—SliTaz Live Tool</title>
6 <link rel="shortcut icon" href="favicon.ico" />
7 <link rel="stylesheet" type="text/css" href="../slitaz-doc.css" />
8 <script type="text/javascript" src="../slitaz-doc.js"></script>
9 </head>
10 <body>
12 <header>
13 <h1>Tazlito Manual</h1>
14 </header>
16 <!-- Start content -->
17 <div id="content">
19 <h2>NAME</h2>
21 <p>Tazlito—SliTaz Live Tool.</p>
24 <h2>SYNTAX</h2>
26 <pre>
27 tazlito [command] [list|iso|flavor] [dir]
28 </pre>
31 <h2>DESCRIPTION</h2>
33 <p>Tazlito is a small utility to extract a LiveCD, rebuild the ISO image and
34 regenerate the root filesystem of the LiveCD. Tazlito can also generate
35 a distribution from a list of packages previously downloaded. To run, Tazlito
36 uses the configuration file <tt>/etc/tazlito/tazlito.conf</tt> or an easily
37 generated <tt>tazlito.conf</tt> found in the current directory. It specifies
38 the name of the ISO, volume, maintainer and the paths of the packages
39 to distribute and the generated ISO. Tazlito can also set up a directory
40 containing additional files which will be copied to the LiveCD when generating
41 the distribution.</p>
42 <p>Tazlito is distributed under the free GNU licence GPL v.3, installed
43 by default on SliTaz and installed/sucessfully tested on Debian GNU/Linux. You
44 will find additional information about creating a LiveCD in the Handbook.</p>
47 <h2>COMMANDS</h2>
50 <h3 id="usage">usage</h3>
52 <p>The <code>usage</code> command displays a summary of available commands with
53 a short description:</p>
55 <pre>
56 # tazlito usage
57 </pre>
60 <h3 id="stats">stats</h3>
62 <p><code>stats</code> displays the configuration variables, the paths to the
63 various files and directories, and information on the ISO image:</p>
65 <pre>
66 # tazlito stats
67 </pre>
70 <h3 id="gen-config">gen-config</h3>
72 <p>The <code>gen-config</code> command allows you to generate a configuration
73 file ready to be edited. By default the file is created in the current
74 directory, but can be in another directory if specified via the command line:</p>
76 <pre>
77 # tazlito gen-config
78 # tazlito gen-config <em>/path/to/distro</em>
79 </pre>
82 <h3 id="configure">configure</h3>
84 <p>This command configures the system configuration file or one found in the
85 current directory:</p>
87 <pre>
88 # tazlito configure
89 </pre>
92 <h3 id="gen-iso">gen-iso</h3>
94 <p>The <code>gen-iso</code> command can generate a new LiveCD image following
95 modifications and additions to the root filesystem of the CD-ROM. To function,
96 this command needs a directory containing the distro-tree of the Live system.
97 This tree can easily be built with the
98 <a href="#extract-distro"><code>extract-distro</code></a> command, modified and
99 rebuilt via:</p>
101 <pre>
102 # tazlito gen-iso
103 </pre>
106 <h3 id="gen-initiso">gen-initiso</h3>
108 <p>The <code>gen-initiso</code> command will do the same work as
109 <code>gen-iso</code>, but it rebuilds the initramfs compressed system prior.
110 The initramfs contains the root filesystem and must be rebuilt if modified:</p>
112 <pre>
113 # tazlito gen-initiso
114 </pre>
117 <h3 id="list-flavors">list-flavors</h3>
119 <p>The <code>list-flavors</code> command downloads (if necessary) and displays
120 a list of the different flavors available. You can force the download with the
121 <code>--recharge</code> option:</p>
123 <pre>
124 # tazlito list-flavors
125 # tazlito list-flavors --recharge
126 </pre>
129 <h3 id="get-flavor">get-flavor</h3>
131 <p>The <code>get-flavor</code> command downloads (if necessary) and prepares the
132 files for <a href="#gen-distro"><code>gen-distro</code></a> to generate
133 a flavor:</p>
135 <pre>
136 # tazlito get-flavor <em>particular-flavor</em>
137 </pre>
140 <h3 id="show-flavors">show-flavor</h3>
142 <p>The <code>show-flavor</code> command displays the description of the flavor
143 and its size after regeneration. The options <code>--brief</code> and
144 <code>--noheader</code> reduce the output displayed:</p>
146 <pre>
147 # tazlito show-flavor <em>particular-flavor</em>
148 # tazlito show-flavor <em>particular-flavor</em> --brief
149 # tazlito show-flavor <em>particular-flavor</em> --brief --noheader
150 </pre>
153 <h3 id="gen-flavor">gen-flavor</h3>
155 <p>The <code>gen-flavor</code> command creates a description file of a new
156 flavor from the results of generating a distro
157 (<a href="#gen-distro"><code>gen-distro</code></a>). The <tt>.flavor</tt> file
158 can then be sent to slitaz.org:</p>
160 <pre>
161 # tazlito gen-flavor <em>new-flavor</em>
162 </pre>
165 <h3 id="gen-liveflavor">gen-liveflavor</h3>
167 <p>The <code>gen-liveflavor</code> command creates a description file of a new
168 flavor from the results of generating a distro based on the current system. The
169 <code>--help</code> option provides more information:</p>
171 <pre>
172 # tazlito gen-liveflavor
173 # tazlito gen-liveflavor --help
174 </pre>
177 <h3 id="upgrade-flavor">upgrade-flavor</h3>
179 <p>The <code>upgrade-flavor</code> command refreshes a flavor file by updating
180 the list of packages with the latest versions available:</p>
182 <pre>
183 # tazlito upgrade-flavor <em>this-flavor</em>
184 </pre>
187 <h3 id="extract-flavor">extract-flavor</h3>
189 <p>The <code>extract-flavor</code> command converts a flavor into an easily
190 modifiable tree structure in <tt>/home/slitaz/VERSION/flavors</tt> which can be
191 managed with mercurial:
192 <a href="http://hg.slitaz.org/flavors">http://hg.slitaz.org/flavors</a>. For
193 example on cooking you will have the work directory in
194 <tt>/home/slitaz/cooking</tt>.</p>
196 <pre>
197 # tazlito extract-flavor <em>this-flavor</em>
198 </pre>
201 <h3 id="pack-flavor">pack-flavor</h3>
203 <p>The <code>pack-flavor</code> command converts a tree structure in
204 <tt>/home/slitaz/VERSION/flavors</tt> into a flavor file (<tt>.flavor</tt>).
205 It is inverse of
206 <a href="#extract-flavor"><code>tazlito extract-flavor</code></a>:</p>
208 <pre>
209 # tazlito pack-flavor <em>this-flavor</em>
210 </pre>
213 <h3 id="extract-distro">extract-distro</h3>
215 <p>The <code>extract-distro</code> command is used to extract an ISO image from
216 the LiveCD to rebuild the structure of the root CD-ROM and system. It is then
217 possible to make the desired changes or additions and rebuild the ISO image via
218 <a href="#gen-iso"><code>gen-iso</code></a> or
219 <a href="#gen-initiso"><code>gen-initiso</code></a>. Example of use:</p>
221 <pre>
222 # tazlito extract-distro <em>slitaz-cooking.iso</em>
223 </pre>
226 <h3 id="gen-distro">gen-distro</h3>
228 <p>The <em>Generate Distribution</em> command can generate the distro-tree and
229 an ISO image via a list of packages. To function, this command needs a list of
230 packages, a directory containing all the (<tt>.tazpkg</tt>) packages on the
231 list, and a directory to generate the distribution. The list of packages can be
232 extracted from a flavor with the
233 <a href="#get-flavor"><code>get-flavor</code></a> command. If one uses the
234 LiveCD, the options <code>--cdrom</code> and <code>--iso=</code> permit the
235 regeneration of packages that place files in <tt>/boot</tt> without being
236 obliged to download them and recovers the additional files of the LiveCD. The
237 path to the various directories are configured in the configuration file and
238 packages can be downloaded from the SliTaz mirrors or generated by Cookutils.
239 To generate a distribution:</p>
241 <pre>
242 # tazlito gen-distro
243 # tazlito gen-distro --cdrom
244 # tazlito gen-distro --iso=<em>slitaz.iso</em>
245 # tazlito gen-distro <em>package-list</em>
246 </pre>
249 <h3 id="clean-distro">clean-distro</h3>
251 <p>Removes all files generated or extracts of the structure of the LiveCD:</p>
253 <pre>
254 # tazlito clean-distro
255 </pre>
258 <h3 id="check-distro">check-distro</h3>
260 <p>This command simply verifies if files installed by the packages are present
261 on the system:</p>
263 <pre>
264 # tazlito check-distro
265 </pre>
268 <h3 id="writeiso">writeiso</h3>
270 <p>This command will write the current filesystem to a cpio archive
271 (<tt>rootfs.gz</tt>) and then generate a bootable ISO image. Writeiso can be
272 used in a HD install or in live mode and will also archive your current
273 <tt>/home</tt> directory. This command lets you easily remaster and build your
274 own LiveCD image, just boot, modify any files, and then:</p>
276 <pre>
277 # tazlito writeiso [gzip|lzma|none]
278 # tazlito writeiso gzip
279 # tazlito writeiso gzip <em>image-name</em>
280 </pre>
283 <h3 id="frugal-install">frugal-install</h3>
285 <p>Perfom a frugal installation into <tt>/boot/frugal</tt> and add a GRUB entry
286 if needed. Frugal mode will make SliTaz work completely in memory (RAM)—useful
287 to test a distro without burning an ISO or to have a rescue system ready to use
288 when the computer powers on. To install all needed files from a distro tree or
289 an ISO image:</p>
291 <pre>
292 # tazlito frugal-install
293 # tazlito -fi <em>slitaz.iso</em>
294 </pre>
297 <h3 id="check-list">check-list</h3>
299 <p>Checks if the <tt>distro-packages.list</tt> is updated with the latest
300 package versions:</p>
302 <pre>
303 # tazlito check-list
304 </pre>
307 <h3 id="repack">repack</h3>
309 <p>Recompresses the rootfs with the best possible compression:</p>
311 <pre>
312 # tazlito repack <em>slitaz.iso</em>
313 </pre>
316 <h3 id="merge">merge</h3>
318 <p>Combines several flavors like nested Russian dolls. Each rootfs is a subset
319 of the previous. The first rootfs is extracted from the ISO image used in the
320 third argument. The flavor will then be chosen to launch at startup according
321 to the amount of RAM available:</p>
323 <pre>
324 # tazlito merge <em>160M slitaz-core.iso 96M rootfs-justx.gz 32M rootfs-base.gz</em>
325 </pre>
328 <h3 id="build-loram">build-loram</h3>
330 <p>Creates an ISO image flavor for low RAM systems from a SliTaz ISO image. You
331 can build a flavor with <tt>/</tt> always in RAM or where <tt>/</tt> resides on
332 the CD-ROM:</p>
334 <pre>
335 # tazlito build-loram <em>slitaz.iso loram.iso</em>
336 # tazlito build-loram <em>slitaz.iso loram-cdrom.iso</em> cdrom
337 </pre>
340 <h3 id="emu-iso">emu-iso</h3>
342 <p>The <code>emu-iso</code> command uses the Qemu emulator to start and run
343 SliTaz. Qemu is used to test the newly built ISO image without burning to a
344 CD-ROM or booting into frugal mode:</p>
346 <pre>
347 # tazlito emu-iso
348 # tazlito emu-iso path/to/image.iso
349 </pre>
352 <h3 id="burn-iso">burn-iso</h3>
354 <p><code>burn-iso</code> will guess the CD-ROM device and its speed, and wodim
355 (part of cdrkit) will begin to burn an ISO image. The default ISO image is the
356 one located in the current configuration file, but it's possible to specify
357 a different image via the command line:</p>
359 <pre>
360 # tazlito burn-iso
361 # tazlito burn-iso <em>slitaz-hacked.iso</em>
362 </pre>
365 <h2>FLAVORS</h2>
367 <p>A <tt>.flavor</tt> file contains just a few KB of information needed to
368 (re)manufacture a custom LiveCD of SliTaz.</p>
371 <h3 id="rebuild-flavor">Manufacture a flavor</h3>
373 <p>You can choose the flavor to (re)manufacture from among those available:</p>
375 <pre>
376 # tazlito list-flavors
378 List of flavors
379 ================================================================================
380 Name ISO Rootfs Description
381 ================================================================================
382 base 6.9M 13.1M Minimal set of packages to boot
383 core-3in1 31.5M 105.6M SliTaz core system with justX and base alternatives
384 core 31.5M 104.6M SliTaz core system
385 eeepc 31.2M 105.4M SliTaz eeepc system
386 justX 16.1M 51.2M SliTaz with a minimal X environment
387 </pre>
389 <p>We will start by remanufacturing the <em>eeepc</em> flavor which uses 105.4M
390 of RAM and has a CD-ROM size of 31.2M:</p>
392 <pre>
393 # tazlito clean-distro
394 # tazlito get-flavor <em>eeepc</em>
395 # tazlito gen-distro
396 </pre>
399 <h3 id="create-flavor">Create a flavor</h3>
401 <p>To create a flavor, you must:</p>
403 <ul>
404 <li>Either create an ISO image with <a href="#gen-distro"><code>tazlito
405 gen-distro</code></a> and then create a flavor file with
406 <a href="#gen-flavor"><code>tazlito gen-flavor</code></a></li>
407 <li>Either directly create the tree structure that defines the flavor
408 (see <a href="#extract-flavor"><code>tazlito extract-flavor</code></a>)
409 and then create the flavor with <a href="#pack-flavor"><code>tazlito
410 pack-flavor</code></a></li>
411 <li>Either use the <a href="http://pizza.slitaz.org/">online builder</a></li>
412 </ul>
415 <h3 id="publish-flavor">Post a flavor</h3>
417 <p>Because a <tt>.flavor</tt> file contains just a few KB, it can be easily sent
418 via the <a href="http://www.slitaz.org/en/mailing-list.php">mailing list</a>.</p>
420 <p>The results of <a href="#extract-flavor"><code>tazlito
421 extract-flavor</code></a> can also be put in
422 <a href="http://hg.slitaz.org/flavors">mercurial</a>. This method is
423 preferred because the tree will be directly visible with the
424 <a href="http://hg.slitaz.org/flavors/file/tip">mercurial web interface</a>.</p>
425 <p>This tree includes:</p>
427 <ul>
428 <li>A <b>receipt</b> file describing the flavor thanks to the variables:
429 <ul>
430 <li>FLAVOR: The flavor name.</li>
431 <li>SHORT_DESC: Short description.</li>
432 <li>VERSION: Free format.</li>
433 <li>MAINTAINER: Email address of maintainer.</li>
434 <li>FRUGAL_RAM: Minimum RAM required (optional).</li>
435 <li>ROOTFS_SIZE: Size of rootfs.gz decompressed into RAM
436 (optional).</li>
437 <li>INITRAMFS_SIZE: Size of rootfs.gz on the CD-ROM (optional).</li>
438 <li>ISO_SIZE: Size of CD-ROM (optional).</li>
439 <li>ROOTFS_SELECTION: Optional, see <a href="#meta-flavor">Meta
440 flavor</a> below.</li>
441 </ul>
442 </li>
443 <li>The file <b>packages.list</b> containing the list of packages without
444 specifying the version (tazlito uses the latest available). This file
445 is missing if ROOTFS_SELECTION exists in the receipt.</li>
446 <li>The optional <b>mirrors</b> file containing the list of unofficial
447 mirrors (undigest) to be added to include personal packages.</li>
448 <li>The optional directory <b>rootfs</b> containing the tree to add to the
449 root filesystem rootfs.gz (configuration files usually).</li>
450 <li>The optional directory <b>rootcd</b> containing the tree to add to the
451 root of the CD-ROM.</li>
452 </ul>
455 <h3 id="tune-flavor">Adapt a flavor</h3>
457 <p>It is often easier to modify an existing flavor than to create one from
458 scratch. To adapt the eeepc flavor for example:</p>
460 <pre>
461 # tazpkg get-install mercurial
462 # cd /home/slitaz
463 # hg clone http://hg.slitaz.org/flavors
464 # cd flavors
465 # cp -a <em>eeepc myslitaz</em>
466 </pre>
468 <p>Files in <tt>myslitaz</tt> can then be changed, and:</p>
470 <pre>
471 # tazlito pack-flavor <em>myslitaz</em>
472 </pre>
474 <p>Will simply create the new flavor.</p>
476 <p>Tip: you can skip mercurial installation by extracting a flavor. Using the
477 previous example:</p>
479 <pre>
480 # tazlito get-flavor <em>eeepc</em>
481 # tazlito extract-flavor <em>eeepc.flavor</em>
482 # cd /home/slitaz/flavors
483 # cp -a <em>eeepc myslitaz</em>
484 </pre>
487 <h3 id="meta-flavor">Meta flavor</h3>
489 <p>A meta flavor contains several flavors like nested Russian dolls. The flavor
490 will be launched at startup according to the amount of RAM available. The
491 ROOTFS_SELECTION variable defines the minimim RAM and corresponding flavor
492 parameters, <a
493 href="http://hg.slitaz.org/flavors/file/tip/core-4in1/receipt">example</a>:</p>
495 <pre>
496 ROOTFS_SELECTION="160M core 96M justX 32M base"
497 </pre>
499 <p>A meta flavor doesn't contain a list of packages (<tt>packages.list</tt>).
500 SliTaz kernels prior to 2.6.30 do not support meta flavors.</p>
503 <h2>MAINTAINER</h2>
505 <p>Christophe Lincoln &lt;pankso at slitaz.org&gt;<br />
506 Pascal Bellard &lt;pascal.bellard at slitaz.org&gt;</p>
508 <!-- End content -->
509 </div>
511 <footer>
512 Copyright © 2013 <a href="http://www.slitaz.org/">SliTaz GNU/Linux</a>
513 </footer>
515 </body>
516 </html>