
Dev/Derivative-Maker
< Dev
Current Derivative-Maker Features
Essential Derivative-Maker Features
- does not use non-deterministic binary base boxes (VM images) (which if compromised would compromise the resulting Kicksecure image)
- does not download anything that does not get gpg verified (apt, tb-updater do gpg verify everything)
- prospective support to create deterministic images (once this is generally possible, Derivative-Maker can also learn this)
- supports using APT Cache to speed up builds
- exit code checking everywhere
- APT unreliable exit code checking workaround
- --target virtualbox build VirtualBox ova images
- custom virtualbox VM settings (VBoxManage modifyvm "$VMNAME" --synthcpu on... etc.)
- --target qcow2 build KVM images
- xz archive creation
- adding whonix-libvirt xml files to the xz
- build Kicksecure
- build Kicksecure
- install Tor Browser by default inside Kicksecure
- default login user account creation, user "user" / password "changeme"
Non-Essential Derivative-Maker Features
- step based, build steps case be run manually to speed up development
- injection of custom build steps
- building Kicksecure images that do not come with a desktop environment
- building Kicksecure images that do not come with Kicksecure default applications
Undecided Priority Derivative-Maker Features
- easy to implement creating other image types (raw images etc.)
- creation of hash sum verification and gpg signatures
- automatically installs all required build dependencies on the host system
- cleanup command removing temporary files and/or images
- --arch parameter support (--arch amd64 or --arch i386)
- --kernel and --headers parameter support (--kernel linux-image-amd64 --headers linux-headers-amd64)
- build from local apt repository rather than from deterministic remote repository
- install Kicksecure packages from own custom remote repository
- interactive error handler to repeat commands, open a shell or ignore them
- optional build step skipping feature
- --target root (for physical isolation)
- --target raw build raw images
- custom VM settings during build (these can of course be manually changed by the user anyhow), supported parameters with examples:
- --vmram 128
- --vram 12
- --vmsize 200G
- build image that never had Kicksecure repository enabled
- build and install all Kicksecure packages during Kicksecure image build
- protection from bad build surprises
- break or do not break when uncommitted changes are found
- break or do not break from non-tag
- --confdir /path/to/config/dir
- --tb none|closed|open
- none: Do not install Tor Browser.
- closed: Fail closed if Tor Browser cannot be installed.
- open: Fail open if Tor Browser cannot and installed.
- use onion apt sources for building
- install different packages for virtualbox (virtualbox-guest-x11) and kvm (spice...)
- Separate VirtualBox / KVM builds [1] using
--target virtualbox
or--target qcow2
.