TazLiTo flavor
Updated: 17.02.2016
Index Return to Main Contents
NAME
Tazlito flavor file (.flavor).SYNOPSIS
name.flavorDESCRIPTION
A .flavor is a small file contains information needed to (re)manufacture a custom LiveCD of SliTaz.flavor.flavor file is a cpio.gzip archive that contains next files inside:
- flavor.receipt
-
File describing the flavor using the variables:
- FLAVOR: the flavor name
- SHORT_DESC: short description
- VERSION: free format
- MAINTAINER: e-mail address of the flavor maintainer
- FRUGAL_RAM: minimum RAM required (optional)
- ROOTFS_SIZE: size of rootfs.gz decompressed into RAM (optional)
- INITRAMFS_SIZE: size of rootfs.gz on the CD-ROM (optional)
- ISO_SIZE: size of CD-ROM (optional)
- ROOTFS_SELECTION: optional, see Meta flavor below.
Receipt may contain function custom_rules() executed after installing all packages, adding custom rootfs files, and executing distro.sh script.
- flavor.desc
- File describing the flavor (the most of the information is taken from the receipt): flavor name, description, version, maintainer e-mail, Live CD RAM size, build date, number of the packages, rootFS size, initRAMFS size, ISO image size.
- flavor.pkglist
- List of packages without specifying the version (tazlito uses the latest available). This file is missing if ROOTFS_SELECTION exists in the receipt.
- flavor.nonfree
- Optional list of non-free packages.
- flavor-distro.sh
- Optional script executed after installing all packages and adding custom rootfs files to perform tasks in the rootfs before compression. Script executed with argument $DISTRO defined in the tazlito.conf(5).
- flavor.mirrors
- Optional file containing the list of undigest (unofficial) mirrors to be added to include personal packages.
- flavor.rootfs
- Optional cpio.gzip archive containing the root filesystem tree (so it should contain all the necessary top-level directories such as bin, etc, usr...). Files contained in this archive will be directly extracted to the root filesystem of the prepared flavor (configuration files usually).
- flavor.rootcd
- Optional cpio.gzip archive that files and folders will be directly extracted to the root of the CD-ROM.
WORKING WITH FLAVORS
Manufacture a flavor
You can choose the flavor to (re)manufacture from among those available:$ tazlito list-flavorsList of flavors
Name | ISO | Rootfs | Description |
base | 12.0M | 21.0M | Minimal set of packages to boot |
core-4in1 | 42.0M | 152.4M | SliTaz core system with justX and base alternatives |
core | 31.5M | 104.6M | SliTaz core system |
eeepc | 31.2M | 105.4M | SliTaz eeepc system |
justX | 16.1M | 51.2M | SliTaz with a minimal X environment |
We will start by remanufacturing the eeepc flavor which uses 105.4M of RAM and has a CD-ROM size of 31.2M:
# tazlito clean-distro # tazlito get-flavor eeepc # tazlito gen-distro
Create a flavor
To create a flavor, you must:- Either create an ISO image with tazlito gen-distro and then create a flavor file with tazlito gen-flavor
- Either directly create the tree structure that defines the flavor (see tazlito extract-flavor) and then create the flavor with tazlito pack-flavor
- Either use the online builder http://pizza.slitaz.org/
Post a flavor
Because a .flavor file contains just a few KB, it can be easily sent via the mailing list (http://www.slitaz.org/en/mailing-list.php).The results of tazlito extract-flavor can also be put in mercurial (http://hg.slitaz.org/flavors). This method is preferred because the tree will be directly visible with the mercurial web interface (http://hg.slitaz.org/flavors/file/tip).
This tree includes:
-
A receipt file describing the flavor thanks to the variables:
- FLAVOR: The flavor name.
- SHORT_DESC: Short description.
- VERSION: Free format.
- MAINTAINER: Email address of maintainer.
- FRUGAL_RAM: Minimum RAM required (optional).
- ROOTFS_SIZE: Size of rootfs.gz decompressed into RAM (optional).
- INITRAMFS_SIZE: Size of rootfs.gz on the CD-ROM (optional).
- ISO_SIZE: Size of CD-ROM (optional).
- ROOTFS_SELECTION: Optional, see Meta flavor below.
- The file packages.list containing the list of packages without specifying the version (tazlito uses the latest available). This file is missing if ROOTFS_SELECTION exists in the receipt.
- The optional mirrors file containing the list of unofficial mirrors (undigest) to be added to include personal packages.
- The optional directory rootfs containing the tree to add to the root filesystem rootfs.gz (configuration files usually).
- The optional directory rootcd containing the tree to add to the root of the CD-ROM.
Adapt a flavor
It is often easier to modify an existing flavor than to create one from scratch. To adapt the eeepc flavor for example:# tazpkg get-install mercurial # cd /home/slitaz # hg clone http://hg.slitaz.org/flavors # cd flavors # cp -a eeepc myslitazFiles in myslitaz can then be changed, and:
# tazlito pack-flavor myslitazWill simply create the new flavor.
Tip: you can skip mercurial installation by extracting a flavor. Using the previous example:
# tazlito get-flavor eeepc # tazlito extract-flavor eeepc.flavor # cd /home/slitaz/flavors # cp -a eeepc myslitaz
Meta flavor
A meta flavor contains several flavors like nested Russian dolls. The flavor will be launched at startup according to the amount of RAM available. The ROOTFS_SELECTION variable defines the minimum RAM and corresponding flavor parameters, example (http://hg.slitaz.org/flavors/file/tip/core-4in1/receipt):ROOTFS_SELECTION="160M core 96M justX 32M base"A meta flavor doesn't contain a list of packages (packages.list). SliTaz kernels prior to 2.6.30 do not support meta flavors.
SEE ALSO
tazlito(1), tazlito.conf(5).
Index
- NAME
- SYNOPSIS
- DESCRIPTION
- WORKING WITH FLAVORS
-
- Manufacture a flavor
- Create a flavor
- Post a flavor
- Adapt a flavor
- Meta flavor
- SEE ALSO