Home Community Forum IRC Shop Bugs Hg Cook
SliTaz GNU/Linux official and community documentation wiki.

Create many-in-1 flavors

Slitaz LiveCDs run fully in RAM. The feature set depends on the available RAM size. You can build an auto adaptive LiveCD to ensure that the right feature set is launched according to the detected RAM size. You need to:

  • define a flavor list (or an ISO list) where each flavor is nested in the previous one (like russian dolls),
  • define the minimum RAM quantity necessary for each flavor.

The many-in-1 ISO may be a little bit larger than the largest flavor. Sometimes the sizes are identical.

We will build the official slitaz-3in1 flavor which boots:

  • the core flavor with 160MB or more
  • the justx flavor with 96MB to 160MB
  • the base flavor with 32MB to 96MB
  • and displays an error message with less than 32MB…

The ISO images slitaz-3.0-3in1.iso and the largest flavor slitaz-3.0.iso share the same size : 31457280 bytes. (caused by the 1MB padding, it should be 123351 bytes larger otherwise).

The best way: create a flavor

A flavor holds all the necessary information to build a LiveCD. The build bot will automagically keep the flavor file (.flavor) up to date and this tiny file will also be used by tazlito to (re)generate the ISO image.

flavors are like software sources for the flavor file: the build bot is a make tool and tazlito pack-flavor the compiler. Providing flavors is like providing source files and providing ISOs is like providing executables only.

A meta flavor has no rootfs, rootcd or packages.list. The ROOTFS_SELECTION in the receipt (see http://hg.slitaz.org/flavors/file/324757d594ef/core-3in1) gives the nested flavors with the according ram sizes from the largest to the smallest.

ROOTFS_SELECTION="160M core 96M justx 32M base"

The rootfs and the rootcd are taken from the largest flavor.

The easy way: using tazlitobox

Launch tazlitobox, select tab meta. Enter the ISO file in ISO input and add the according necessary RAM size in RAM needed for each flavor with the + button. Fill the ISO output name and click Build ISO.

The cmdline way: using tazlito

Usage: tazlito merge size1 iso size2 rootfs2 [sizeN rootfsN]…

The largest flavor is given as an ISO file to get the additional rootcd files and will get the resulting ISO.

tazlito merge 160M slitaz-core.iso 96M rootfs-justx.gz 32M rootfs-base.gz
en/guides/manyinone.txt · Last modified: 2010/11/02 15:46 by linea