Strict Standards: Declaration of Doku_Renderer_metadata::table_open() should be compatible with Doku_Renderer::table_open($maxcols = NULL, $numrows = NULL, $pos = NULL) in /home/tinycore/ on line 24

Strict Standards: Declaration of Doku_Renderer_metadata::table_close() should be compatible with Doku_Renderer::table_close($pos = NULL) in /home/tinycore/ on line 24

Warning: Cannot modify header information - headers already sent by (output started at /home/tinycore/ in /home/tinycore/ on line 180
wiki:creating_meta-extensions - Tiny Core Linux Wiki

Welcome to the Tiny Core Linux Wiki at!

A Meta-extension is a kind of extension that is useful when a set of related utilities or applications that usually work together (like a development chain), are needed to be installed altogether in one time. This will simplify the installation process.

It is based on the idea that the meta-extension itself is sufficient to be a squashed empty file, and only the needed extensions (.tcz) are listed as dependencies in its '.dep' file. As a reminder, a submitted extension requires other than those '.tcz' and '.dep' files, the files '.list', '.md5.txt' and '.info' as well.

#- Create the '.tcz' file


  • –(latest)—

Use an existing meta-extension such as compiletc.tcz. Or create an empty squashfs archive.

  • –(before 3.3)—
  • create an empty directory structure
  • mkdir -p myext/usr/local/share/myext
  • populate it (by creating/adding useful files):
  • *readme file
  • *
    echo "This is a meta extension" > myext/usr/local/share/myext/readme
  • *startup script that is run just after the extension is loaded. (the script name must be the same as the extension name)
  • Put your commands in * *<code> 'myext/usr/local/tce.installed/myext' </code> * then adjust permissions of both 'tce.installed' directory and 'tce.installed script' to 775 and ownership to root.staff:
  • *
    sudo chmod -R 775 myext/usr/local/tce.installed
    sudo chown -R root.staff myext/usr/local/tce.installed
  • create the extension (by squashing 'myext' directory )
  • mksquashfs myext myext.tcz


#- Create '.dep' file

  • add to dep list whatever you want
  • echo "dep1.tcz" >> myext.tcz.dep
    echo "dep2.tcz" >> myext.tcz.dep

#- Create '.list', '.md5.txt' and '.info' files (needed only to submit to the official repository)

  • cd myext
    find usr -not -type d > ../myext.tcz.list
    md5sum myext.tcz > myext.tcz.md5.txt
  • and you need to prepare an info file (

take one sample from