CTKArchLive 0.7 add-ons’ specification
In short
CTKArch addons are squashfs archives created with mksquashfs, to put in the “addons” folder of the partition with the CTKhome label or of the ISO image.
Addons creation can be done using the script included in the live: /addons/mkaddon
Complete description
Any file included in an add-on replaces the genuine one in the base live system.
Keep this in mind, and avoid including useless or empty files!
An add-on can modify absolutely everything in the live system.
It can also delete files by containing an empty file named “.wh.filename”.
Example: /etc/.wh.rc.conf (though I don’t recommend this!)
Note that if you make an add-on including files in /home, they won’t be visible if you use a persistent home.
You can include a script in the add-on to copy files to the home folder.
If you want to run scripts during boot, here are your options:
(do not replace initscripts: addons may conflict on that)
- To load kernel modules or specify module options, include a /etc/modprobe.d/something.conf file.
- To execute a script at any moment in the boot (using initscripts’ hooks), include it in a file named like /etc/rc.d/functions.d/something (for advanced system modifications)
- To execute a script after the daemons are started (before Xorg is launched, that is to say in rc.local), include it as /addons/rc/something: to perform modifs, run daemons…
- To automatically start something at the graphical session (as user arch), include a /addons/xsession/something.sh script.
The add-on’s name must follow this syntax for it to be detected at bootup:
addon(optional number)-(ask or noask)-(addon’s name)-(installable or nothing).sqfs
Details:
Addons will be mounted in the alphabetical order of their filenames, the optional number allows to force this order. It is only interesting in case of concurrent files in addons: which one must be taken?
ask or noask: do we want to be asked if the addon must be used (mounted) at bootup?
addon’s name: should only contain letters, figures and some other characters (a-Z 0-9 _ -), even if theoretically almost anything else should work.
installable: adding “installable” at the end of the addon’s
name will cause the installer to ask if it must be installed. Don’t do this with an add-on
designed to run in live only.
The installable addons can include a /addons/install/something executable that will be run in ctkinstall after extracting them.
Examples:
addon-noask-cups_drivers-all-installable.sqfs:
This addon just adds files to the system (the content of packages).
It is installable because copying its contents is like installing packages.
addon01-ask-scriptsperso.sqfs:
This addon is mounted first, because it contains files no other addon must overlay.
Contributing
Upload your add-ons that can be useful to other people and share them on the ctkarch.org forums!