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

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