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

Do not hard-code year in docs
author Pascal Bellard <pascal.bellard@slitaz.org>
date Sat Oct 07 23:54:04 2017 +0200 (2017-10-07)
parents d7d87b67adeb
children
line source
1 <!DOCTYPE html>
2 <html 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/successfully 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>
282 <h3 id="check-list">check-list</h3>
284 <p>Checks if the <tt>distro-packages.list</tt> is updated with the latest
285 package versions:</p>
287 <pre>
288 # tazlito check-list
289 </pre>
292 <h3 id="repack">repack</h3>
294 <p>Recompresses the rootfs with the best possible compression:</p>
296 <pre>
297 # tazlito repack <em>slitaz.iso</em>
298 </pre>
301 <h3 id="merge">merge</h3>
303 <p>Combines several flavors like nested Russian dolls. Each rootfs is a subset
304 of the previous. The first rootfs is extracted from the ISO image used in the
305 third argument. The flavor will then be chosen to launch at startup according
306 to the amount of RAM available:</p>
308 <pre>
309 # tazlito merge <em>160M slitaz-core.iso 96M rootfs-justx.gz 32M rootfs-base.gz</em>
310 </pre>
313 <h3 id="build-loram">build-loram</h3>
315 <p>Creates an ISO image flavor for low RAM systems from a SliTaz ISO image. You
316 can build a flavor with <tt>/</tt> always in RAM or where <tt>/</tt> resides on
317 the CD-ROM:</p>
319 <pre>
320 # tazlito build-loram <em>slitaz.iso loram.iso</em>
321 # tazlito build-loram <em>slitaz.iso loram-cdrom.iso</em> cdrom
322 </pre>
325 <h3 id="emu-iso">emu-iso</h3>
327 <p>The <code>emu-iso</code> command uses the Qemu emulator to start and run
328 SliTaz. Qemu is used to test the newly built ISO image without burning to a
329 CD-ROM or booting into frugal mode:</p>
331 <pre>
332 # tazlito emu-iso
333 # tazlito emu-iso path/to/image.iso
334 </pre>
337 <h3 id="burn-iso">burn-iso</h3>
339 <p><code>burn-iso</code> will guess the CD-ROM device and its speed, and wodim
340 (part of cdrkit) will begin to burn an ISO image. The default ISO image is the
341 one located in the current configuration file, but it's possible to specify
342 a different image via the command line:</p>
344 <pre>
345 # tazlito burn-iso
346 # tazlito burn-iso <em>slitaz-hacked.iso</em>
347 </pre>
350 <h2>FLAVORS</h2>
352 <p>A <tt>.flavor</tt> file contains just a few KB of information needed to
353 (re)manufacture a custom LiveCD of SliTaz.</p>
356 <h3 id="rebuild-flavor">Manufacture a flavor</h3>
358 <p>You can choose the flavor to (re)manufacture from among those available:</p>
360 <pre>
361 # tazlito list-flavors
363 List of flavors
364 ================================================================================
365 Name ISO Rootfs Description
366 ================================================================================
367 base 6.9M 13.1M Minimal set of packages to boot
368 core-3in1 31.5M 105.6M SliTaz core system with justX and base alternatives
369 core 31.5M 104.6M SliTaz core system
370 eeepc 31.2M 105.4M SliTaz eeepc system
371 justX 16.1M 51.2M SliTaz with a minimal X environment
372 </pre>
374 <p>We will start by remanufacturing the <em>eeepc</em> flavor which uses 105.4M
375 of RAM and has a CD-ROM size of 31.2M:</p>
377 <pre>
378 # tazlito clean-distro
379 # tazlito get-flavor <em>eeepc</em>
380 # tazlito gen-distro
381 </pre>
384 <h3 id="create-flavor">Create a flavor</h3>
386 <p>To create a flavor, you must:</p>
388 <ul>
389 <li>Either create an ISO image with <a href="#gen-distro"><code>tazlito
390 gen-distro</code></a> and then create a flavor file with
391 <a href="#gen-flavor"><code>tazlito gen-flavor</code></a></li>
392 <li>Either directly create the tree structure that defines the flavor
393 (see <a href="#extract-flavor"><code>tazlito extract-flavor</code></a>)
394 and then create the flavor with <a href="#pack-flavor"><code>tazlito
395 pack-flavor</code></a></li>
396 <li>Either use the <a href="http://pizza.slitaz.org/">online builder</a></li>
397 </ul>
400 <h3 id="publish-flavor">Post a flavor</h3>
402 <p>Because a <tt>.flavor</tt> file contains just a few KB, it can be easily sent
403 via the <a href="http://www.slitaz.org/en/mailing-list.php">mailing list</a>.</p>
405 <p>The results of <a href="#extract-flavor"><code>tazlito
406 extract-flavor</code></a> can also be put in
407 <a href="http://hg.slitaz.org/flavors">mercurial</a>. This method is
408 preferred because the tree will be directly visible with the
409 <a href="http://hg.slitaz.org/flavors/file/tip">mercurial web interface</a>.</p>
410 <p>This tree includes:</p>
412 <ul>
413 <li>A <b>receipt</b> file describing the flavor thanks to the variables:
414 <ul>
415 <li>FLAVOR: The flavor name.</li>
416 <li>SHORT_DESC: Short description.</li>
417 <li>VERSION: Free format.</li>
418 <li>MAINTAINER: Email address of maintainer.</li>
419 <li>FRUGAL_RAM: Minimum RAM required (optional).</li>
420 <li>ROOTFS_SIZE: Size of rootfs.gz decompressed into RAM
421 (optional).</li>
422 <li>INITRAMFS_SIZE: Size of rootfs.gz on the CD-ROM (optional).</li>
423 <li>ISO_SIZE: Size of CD-ROM (optional).</li>
424 <li>ROOTFS_SELECTION: Optional, see <a href="#meta-flavor">Meta
425 flavor</a> below.</li>
426 </ul>
427 </li>
428 <li>The file <b>packages.list</b> containing the list of packages without
429 specifying the version (tazlito uses the latest available). This file
430 is missing if ROOTFS_SELECTION exists in the receipt.</li>
431 <li>The optional <b>mirrors</b> file containing the list of unofficial
432 mirrors (undigest) to be added to include personal packages.</li>
433 <li>The optional directory <b>rootfs</b> containing the tree to add to the
434 root filesystem rootfs.gz (configuration files usually).</li>
435 <li>The optional directory <b>rootcd</b> containing the tree to add to the
436 root of the CD-ROM.</li>
437 </ul>
440 <h3 id="tune-flavor">Adapt a flavor</h3>
442 <p>It is often easier to modify an existing flavor than to create one from
443 scratch. To adapt the eeepc flavor for example:</p>
445 <pre>
446 # tazpkg get-install mercurial
447 # cd /home/slitaz
448 # hg clone http://hg.slitaz.org/flavors
449 # cd flavors
450 # cp -a <em>eeepc myslitaz</em>
451 </pre>
453 <p>Files in <tt>myslitaz</tt> can then be changed, and:</p>
455 <pre>
456 # tazlito pack-flavor <em>myslitaz</em>
457 </pre>
459 <p>Will simply create the new flavor.</p>
461 <p>Tip: you can skip mercurial installation by extracting a flavor. Using the
462 previous example:</p>
464 <pre>
465 # tazlito get-flavor <em>eeepc</em>
466 # tazlito extract-flavor <em>eeepc.flavor</em>
467 # cd /home/slitaz/flavors
468 # cp -a <em>eeepc myslitaz</em>
469 </pre>
472 <h3 id="meta-flavor">Meta flavor</h3>
474 <p>A meta flavor contains several flavors like nested Russian dolls. The flavor
475 will be launched at startup according to the amount of RAM available. The
476 ROOTFS_SELECTION variable defines the minimum RAM and corresponding flavor
477 parameters, <a
478 href="http://hg.slitaz.org/flavors/file/tip/core-4in1/receipt">example</a>:</p>
480 <pre>
481 ROOTFS_SELECTION="160M core 96M justX 32M base"
482 </pre>
484 <p>A meta flavor doesn't contain a list of packages (<tt>packages.list</tt>).
485 SliTaz kernels prior to 2.6.30 do not support meta flavors.</p>
488 <h2>MAINTAINER</h2>
490 <p>Christophe Lincoln &lt;pankso at slitaz.org&gt;<br />
491 Pascal Bellard &lt;pascal.bellard at slitaz.org&gt;</p>
493 <!-- End content -->
494 </div>
496 <footer>
497 Copyright &copy; <span class="year"></span> <a href="http://www.slitaz.org/">SliTaz GNU/Linux</a>
498 </footer>
500 </body>
501 </html>