tazlito view doc/tazlito.en.html @ rev 239
update VERSION
author | Eric Joseph-Alexandre <erjo@slitaz.org> |
---|---|
date | Sun Feb 19 09:54:36 2012 +0100 (2012-02-19) |
parents | b7493ef28221 |
children | dc371fa292f4 |
line source
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4 <head>
5 <title>Tazlito Manual - SliTaz Live Tool</title>
6 <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
7 <meta name="description" content="" />
8 <meta name="expires" content="never" />
9 <meta name="modified" content="2011-02-24 13:30:00" />
10 <style type="text/css"><!--
11 body { font: 90% sans-serif, vernada, arial; margin: 0;
12 border-top: 34px solid #f1f1f1; }
13 #header { background: #351a0a; color: black; height: 50px;
14 border-top: 1px solid black; border-bottom: 1px solid black; }
15 #content { margin: 0px 50px 26px 50px; }
16 h1 { margin: 14px 0px 0px 16px; color: #fff; margin: 10px; }
17 h3 { font-weight: bold; color: #666666; }
18 li { line-height: 1.4em; }
19 pre { padding: 5px; color: black; background: #e1e0b0;
20 border-radius: 4px; -moz-border-radius: 4px; -webkit-border-radius: 4px; }
21 code { font-size: 100%; color: #669900; background: transparent; }
22 hr { color: white; background: white; height: 1px; border: 0; }
23 --></style>
24 </head>
25 <body bgcolor="#ffffff">
26 <div id="header">
27 <h1>Tazlito Manual</h1>
28 </div>
29 <hr />
30 <!-- Start content -->
31 <div id="content">
33 <h2>NAME</h2>
34 <p>
35 Tazlito - SliTaz Live Tool.
36 </p>
38 <h2>SYNTAX</h2>
39 <pre>
40 tazlito [command] [list|iso|flavor] [dir]
41 </pre>
43 <h2>DESCRIPTION</h2>
44 <p>
45 Tazlito is a small utility to extract a LiveCD, rebuild the
46 ISO image and regenerate the root filesystem of the LiveCD.
47 Tazlito can also generate a distribution from a list of packages
48 previously downloaded. To run, Tazlito uses the configuration file
49 /etc/tazlito/tazlito.conf or an easily generated tazlito.conf
50 found in the current directory.
51 It specifies the name of the ISO, volume, maintainer and
52 the paths of the packages to distribute and the generated ISO.
53 Tazlito can also set up a directory containing additional files
54 which will be copied to the LiveCD when generating the distribution.
55 </p>
56 <p>
57 Tazlito is distributed under the free GNU licence GPL V3,
58 installed by default on SliTaz and installed/sucessfully tested
59 on Debian GNU/Linux. You will find additional information
60 about creating a LiveCD in the Handbook.
61 </p>
63 <h2>COMMANDS</h2>
65 <a name="usage"></a>
66 <h3>usage</h3>
67 <p>
68 The 'usage' command displays a summary of available commands
69 with a short description:
70 </p>
71 <pre>
72 # tazlito usage
73 </pre>
75 <a name="stats"></a>
76 <h3>stats</h3>
77 <p>
78 Stats displays the configuration variables, the paths to the
79 various files and directories, and information on the ISO image:
80 </p>
81 <pre>
82 # tazlito stats
83 </pre>
85 <a name="gen-config"></a>
86 <h3>gen-config</h3>
87 <p>
88 The 'gen-config' command allows you to generate a configuration
89 file ready to be edited. By default the file is created in
90 the current directory, but can be in another directory
91 if specified via the command line:
92 </p>
93 <pre>
94 # tazlito gen-config
95 # tazlito gen-config /path/to/distro
96 </pre>
98 <a name="configure"></a>
99 <h3>configure</h3>
100 <p>
101 This command configures the system configuration
102 file or one found in the current directory:
103 </p>
104 <pre>
105 # tazlito configure
106 </pre>
108 <a name="gen-iso"></a>
109 <h3>gen-iso</h3>
110 <p>
111 The 'gen-iso' command can generate a
112 new LiveCD image following modifications and additions to the
113 root filesystem of the cdrom. To function, this command needs
114 a directory containing the distro-tree of the Live system.
115 This tree can easily be built with the 'extract-distro' command,
116 modified and rebuilt via:
117 </p>
118 <pre>
119 # tazlito gen-iso
120 </pre>
122 <a name="gen-initiso"></a>
123 <h3>gen-initiso</h3>
124 <p>
125 The 'gen'initso' command will do the same work as 'gen-iso',
126 but it rebuilds the initramfs compressed system prior.
127 The initramfs contains the root filesystem and
128 must be rebuilt if modified:
129 </p>
130 <pre>
131 # tazlito gen-initiso
132 </pre>
134 <a name="list-flavors"></a>
135 <h3>list-flavors</h3>
136 <p>
137 The 'list-flavors' command downloads (if necessary) and displays
138 a list of the different flavors available. You can force the
139 download with the --recharge option:
140 </p>
141 <pre>
142 # tazlito list-flavors
143 # tazlito list-flavors --recharge
144 </pre>
146 <a name="get-flavors"></a>
147 <h3>get-flavor</h3>
148 <p>
149 The 'get-flavor' command downloads (if necessary) and prepares the
150 files for 'gen-distro' to generate a flavor:
151 </p>
152 <pre>
153 # tazlito get-flavor particular-flavor
154 </pre>
156 <a name="show-flavors"></a>
157 <h3>show-flavor</h3>
158 <p>
159 The 'show-flavor' command displays the description of the
160 flavor and its size after regeneration. The options
161 --brief and --noheader reduce the output displayed:
162 </p>
163 <pre>
164 # tazlito show-flavor particular-flavor
165 # tazlito show-flavor particular-flavor --brief
166 # tazlito show-flavor particular-flavor --brief --noheader
167 </pre>
169 <a name="gen-flavor"></a>
170 <h3>gen-flavor</h3>
171 <p>
172 The 'gen-flavor' command creates a description file of a new
173 flavor from the results of generating a distro (gen-distro).
174 The .flavor file can then be sent to slitaz.org:
175 </p>
176 <pre>
177 # tazlito gen-flavor new-flavor
178 </pre>
180 <a name="gen-liveflavor"></a>
181 <h3>gen-liveflavor</h3>
182 <p>
183 The 'gen-liveflavor' command creates a description file of a new
184 flavor from the results of generating a distro based on the
185 current system. The --help option provides more information:
186 </p>
187 <pre> # tazlito gen-liveflavor
188 # tazlito gen-liveflavor --help
189 </pre>
191 <a name="upgrade-flavor"></a>
192 <h3>upgrade-flavor</h3>
193 <p>
194 The `upgrade-flavor' command refreshes a flavor file by updating the
195 list of packages with the latest versions available:
196 </p>
197 <pre>
198 # tazlito upgrade-flavor this-flavor
199 </pre>
201 <a name="extract-flavor"></a>
202 <h3>extract-flavor</h3>
203 <p>
204 The 'extract-flavor' command converts a flavor into an easily modifiable
205 tree structure in /home/slitaz/VERSION/flavors which can be managed with
206 mercurial:
207 <a href="http://hg.slitaz.org/flavors">http://hg.slitaz.org/flavors</a>.
208 For example on cooking you will have the work directory in /home/slitaz/cooking.
209 </p>
210 <pre>
211 # tazlito extract-flavor this-flavor
212 </pre>
214 <a name="pack-flavor"></a>
215 <h3>pack-flavor</h3>
216 <p>
217 The 'pack-flavor' command converts a tree structure in /home/slitaz/VERSION/flavors
218 into a flavor file (.flavor). It is inverse of 'tazlito extract-flavor':
219 </p>
220 <pre>
221 # tazlito pack-flavor this-flavor
222 </pre>
224 <a name="extract-distro"></a>
225 <h3>extract-distro</h3>
226 <p>
227 The 'extract-distro' command is used to extract an ISO image
228 from the LiveCD to rebuild the structure of the root cdrom
229 and system. It is then possible to make the desired changes
230 or additions and rebuild the ISO image via 'gen-iso' or
231 'gen-initiso'. Example of use:
232 </p>
233 <pre>
234 # tazlito extract-distro slitaz-cooking.iso
235 </pre>
237 <a name="gen-distro"></a>
238 <h3>gen-distro</h3>
239 <p>
240 The <em>Generate Distribution</em> command can generate the
241 distro-tree and an ISO image via a list of packages. To function,
242 this command needs a list of packages, a directory containing
243 all the (.tazpkg) packages on the list, and a directory to
244 generate the distribution. The list of packages can be extracted
245 from a flavor with the 'get-flavor' command. If one uses the
246 LiveCD, the options --cdrom and --iso= permit the regeneration
247 of packages that place files in /boot without being obliged
248 to download them and recovers the additional files of the
249 LiveCD. The path to the various directories are configured
250 in the configuration file and packages can be downloaded
251 from the SliTaz mirrors or generated by Tazwok. To generate
252 a distribution:
253 </p>
254 <pre>
255 # tazlito gen-distro
256 # tazlito gen-distro --cdrom
257 # tazlito gen-distro --iso=slitaz.iso
258 # tazlito gen-distro package-list
259 </pre>
261 <a name="clean-distro"></a>
262 <h3>clean-distro</h3>
263 <p>
264 Removes all files generated or extracts of the structure
265 of the LiveCD:
266 </p>
267 <pre>
268 # tazlito clean-distro
269 </pre>
271 <a name="check-distro"></a>
272 <h3>check-distro</h3>
273 <p>
274 This command simply verifies if files installed
275 by the packages are present on the system:
276 </p>
277 <pre>
278 # tazlito check-distro
279 </pre>
281 <a name="writeiso"></a>
282 <h3>writeiso</h3>
283 <p>
284 This command will write the current filesystem to a cpio archive
285 (rootfs.gz) and then generate a bootable ISO image. Writeiso can
286 be used in a HD install or in live mode and will also archive your
287 current /home directory. This command lets you easily remaster and
288 build your own LiveCD image, just boot, modify any files, and then:
290 </p>
291 <pre>
292 # tazlito writeiso [gzip|lzma|none]
293 # tazlito writeiso gzip
294 # tazlito writeiso gzip image-name
295 </pre>
297 <a name="frugal-install"></a>
298 <h3>frugal-install</h3>
299 <p>
300 Perfom a frugal installation into /boot/frugal and add a GRUB entry
301 if needed. Frugal mode will make SliTaz work completely in memory
302 (RAM) - useful to test a distro without burning an ISO or to have a
303 rescue system ready to use when the computer powers on. To install
304 all needed files from a distro tree or an ISO image:
305 </p>
306 <pre>
307 # tazlito frugal-install
308 # tazlito -fi slitaz.iso
309 </pre>
311 <a name="check-list"></a>
312 <h3>check-list</h3>
313 <p>
314 Checks if the distro-packages.list is updated with the latest package
315 versions:
316 </p>
317 <pre>
318 # tazlito check-list
319 </pre>
321 <a name="repack"></a>
322 <h3>repack</h3>
323 <p>
324 Recompresses the rootfs with the best possible compression:
325 </p>
326 <pre>
327 # tazlito repack slitaz.iso
328 </pre>
330 <a name="merge"></a>
331 <h3>merge</h3>
332 <p>
333 Combines several flavors like nested Russian dolls. Each rootfs is a
334 subset of the previous. The first rootfs is extracted from the ISO image
335 used in the third argument. The flavor will then be chosen to launch at
336 startup according to the amount of RAM available:
337 </p>
338 <pre>
339 # tazlito merge 160M slitaz-core.iso 96M rootfs-justx.gz 32M rootfs-base.gz
340 </pre>
342 <a name="build-loram"></a>
343 <h3>build-loram</h3>
344 <p>
345 Creates an ISO image flavor for low ram systems from a SliTaz ISO image.
346 You can build a flavor with / always in ram or where / resides on the cdrom:
347 </p>
348 <pre>
349 # tazlito build-loram slitaz.iso loram.iso
350 # tazlito build-loram slitaz.iso loram-cdrom.iso cdrom
351 </pre>
353 <a name="emu-iso"></a>
354 <h3>emu-iso</h3>
355 <p>
356 The emu-iso command uses the Qemu emulator to start and run SliTaz.
357 Qemu is used to test the newly built ISO image without burning to a
358 cdrom or booting into frugal mode:
359 </p>
360 <pre>
361 # tazlito emu-iso
362 # tazlito emu-iso path/to/image.iso
363 </pre>
365 <a name="burn-iso"></a>
366 <h3>burn-iso</h3>
367 <p>
368 Burn-iso will guess the cdrom device and its speed, and wodim
369 (part of cdrkit) will begin to burn an ISO image. The default
370 ISO image is the one located in the current configuration file,
371 but it's possible to specify a different image via the
372 command line:
373 </p>
374 <pre>
375 # tazlito burn-iso
376 # tazlito burn-iso slitaz-hacked.iso
377 </pre>
379 <h2>FLAVORS</h2>
380 <p>
381 A <i>.flavor</i> file contains just a few KB of information needed to
382 (re)manufacture a custom LiveCD of SliTaz.
383 </p>
385 <a name="rebuild-flavor"></a>
386 <h3>Manufacture a flavor</h3>
387 <p>
388 You can choose the flavor to (re)manufacture from among those available:
389 </p>
390 <pre>
391 # tazlito list-flavors
393 List of flavors
394 ================================================================================
395 Name ISO Rootfs Description
396 ================================================================================
397 base 6.9M 13.1M Minimal set of packages to boot
398 core-3in1 31.5M 105.6M SliTaz core system with justX and base alternatives
399 core 31.5M 104.6M SliTaz core system
400 eeepc 31.2M 105.4M SliTaz eeepc system
401 justX 16.1M 51.2M SliTaz with a minimal X environment
402 </pre>
403 <p>
404 We will start by remanufacturing the <i>eeepc</i> flavor which uses 105.4M of RAM
405 and has a CD-ROM size of 31.2M:
406 </p>
407 <pre>
408 # tazlito clean-distro
409 # tazlito get-flavor eeepc
410 # tazlito gen-distro
411 </pre>
413 <a name="create-flavor"></a>
414 <h3>Create a flavor</h3>
415 <p>
416 To create a flavor, you must:
417 </p>
418 <ul>
419 <li>Either create an ISO image with <b>tazlito gen-distro</b> and then create
420 a flavor file with <b>tazlito gen-flavor</b></li>
421 <li>Either directly create the tree structure that defines the flavor
422 (see <b>tazlito extract-flavor</b>) and then create the flavor with
423 <b>tazlito pack-flavor</b></li>
424 <li>Either use the
425 <a href="http://pizza.slitaz.org/">online builder</a></li>
426 </ul>
428 <a name="publish-flavor"></a>
429 <h3>Post a flavor</h3>
430 <p>
431 Because a .flavor file contains just a few KB; it can be easily sent via the
432 mailing list.
433 </p>
434 <p>
435 The results of <b>tazlito extract flavor</b> can also be put in mercurial
436 (http://repos.slitaz.org/flavors). This method is preferred because the
437 tree will be directly visible with the
438 <a href="http://hg.slitaz.org/flavors/file/tip">mercurial web interface</a>.
439 </p>
440 <p>
441 This tree includes:
442 </p>
443 <ul>
444 <li>
445 A <b>receipt</b> file describing the flavor thanks to the variables:
446 <ul>
447 <li>
448 FLAVOR: The flavor name.
449 </li>
450 <li>
451 SHORT_DESC: Short description.
452 </li>
453 <li>
454 VERSION: Free format.
455 </li>
456 <li>
457 MAINTAINER: Email address of maintainer.
458 </li>
459 <li>
460 FRUGAL_RAM: Minimum RAM required (optional).
461 </li>
462 <li>
463 ROOTFS_SIZE: Size of rootfs.gz decompressed into RAM (optional).
464 </li>
465 <li>
466 INITRAMFS_SIZE: Size of rootfs.gz on the CD-ROM (optional).
467 </li>
468 <li>
469 ISO_SIZE: Size of CD-ROM (optional).
470 </li>
471 <li>
472 ROOTFS_SELECTION: Optional, see <i>Meta flavor</i> below.
473 </li>
474 </ul>
475 </li>
476 <li>
477 The file <b>packages.list</b> containing the list of packages without
478 specifying the version (tazlito uses the latest available).
479 This file is missing if ROOTFS_SELECTION exists in the receipt.
480 </li>
481 <li>
482 The optional <b>mirrors</b> file containing the list of unofficial mirrors
483 (undigest) to be added to include personal packages.
484 </li>
485 <li>
486 The optional directory <b>rootfs</b> containing the tree to add to the
487 root filesystem rootfs.gz (configuration files usually).
488 </li>
489 <li>
490 The optional directory <b>rootcd</b> containing the tree to add to the
491 root of the CD-ROM.
492 </li>
493 </ul>
495 <a name="tune-flavor"></a>
496 <h3>Adapt a flavor</h3>
497 <p>
498 It is often easier to modify an existing flavor than to create one from
499 scratch. To adapt the eeepc flavor for example:
500 </p>
501 <pre>
502 # tazpkg get-install mercurial
503 # cd /home/slitaz
504 # hg clone http://hg.slitaz.org/flavors
505 # cd flavors
506 # cp -a eeepc myslitaz
507 </pre>
508 <p>
509 Files in my-slitaz can then be changed, and:
510 </p>
511 <pre>
512 # tazlito pack-flavor myslitaz
513 </pre>
514 <p>
515 Will simply create the new flavor.
516 </p>
517 <p>
518 Tip: you can skip mercurial installation by extracting a flavor.
519 Using the previous example:
520 </p>
521 <pre>
522 # tazlito get-flavor eeepc
523 # tazlito extract-flavor eeepc.flavor
524 # cd /home/slitaz/flavors
525 # cp -a eeepc myslitaz
526 </pre>
528 <a name="meta-flavor"></a>
529 <h3>Meta flavor</h3>
530 <p>
531 A meta flavor contains several flavors like nested Russian dolls. The flavor
532 will be launched at startup according to the amount of RAM available.
533 The ROOTFS_SELECTION variable defines the minimim RAM and corresponding
534 flavor parameters, <a href="http://hg.slitaz.org/flavors/file/tip/core-3in1/receipt">
535 example</a>:
536 </p>
537 <pre>
538 ROOTFS_SELECTION="160M core 96M justX 32M base"
539 </pre>
540 <p>
541 A meta flavor doesn't contain a list of packages (packages.list). SliTaz
542 kernels prior to 2.6.30 do not support meta flavors.
543 </p>
545 <h2>MAINTAINER</h2>
546 <p>
547 Christophe Lincoln <pankso at slitaz.org>
548 </p>
550 <!-- End content -->
551 </div>
552 </body>
553 </html>