Table of contents
Reference material useful that should be useful to developers, or anyone else that likes to peek under the hood. We're just getting started here so show the wiki your love and add your notes!
Boot options
Boot options are used to configure and influence the systems initialization. TurnKey appliances are based very closely on Ubuntu, so the please refer to the Ubuntu Boot Options documentation for detailed information.
TurnKey appliances do however have some custom boot options whichi configure how the system loads from Live CD:
| di-live | Start the installer automatically |
| toram=XXX | Load the system into memory if XXX (reserved RAM size in MB) is available |
| noautologin | Don't arrange shells on virtual consoles (rather login prompts) |
| noconfconsole | Don't launch configuration console when system starts |
Custom packages
Any package that isn't taken straight from Ubuntu's repositories can be found at our mini-repository at archive.turnkeylinux.org, and the corresponding source can be found at code.turnkeylinux.org. New packages have READMEs in them. For example:
http://code.turnkeylinux.org/di-live/docs/README
Modified packages are labeled in the package management system (e.g., casper is versioned 1.131-turnkey+15+g0374506).
Modified packages
- casper: We had to modify casper because Ubuntu's casper hardwires various behaviors that don't need to happen in a server Live CD type scenario (e.g., X configuration).
Ubuntu's developers did that because currently only Ubuntu runs the desktop versions (Ubuntu/Kubuntu/Xubuntu) "live".
Ubuntu server can't run live and doesn't use casper, but TurnKey Linux appliances are mostly
built for server tasks so we had to change that.
- busybox-initramfs: The patches to busybox-initramfs change the built busybox configuration slightly to better serve TurnKey's different usage scenario (compared to Ubuntu).
- webmin: repackaged webmin in order to...
- eliminate clutter: webmin modules that aren't being used aren't included and don't clutter up the interface
- ease of package maintenance: updating webmin is as easy as updating the tarballs that make up the source of the package
- improve look and feel: we've integrated the most visually appealing webmin theme as our default (Mac OS X theme)
New packages
- turnkey-keyring: this contains the keyring for our package archive, to allow for cryptographic authentication that improves the security of package updates.
- Joomla15: we had to package joomla ourselves because nobody else from Ubuntu or Debian would touch it due to frequent security issues.
- di-live: We wrote di-live as glue code that would allow debian-installer to run from a live CD usage scenario without a GUI (which Ubiquity needs)
- confconsole: ncurses-based configuration console, which we wrote from scratch in Python
- provides usage information (urls and network addresses to the appliance's interfaces)
- menu for basic operations such as network configuration, installation, reboot and shutdown
Developing Live CDs
Background
We encourage the open source community to get involved and contribute at every level to TurnKey Linux. The more the everybody pitches in the faster we can progress.
On the other hand we recognize that not everyone is a technical expert with a lot of free time on their hands and that besides development there are many other ways to make a valuable contribution to an open source project!
Most users will find it easiest to get involved via testing, bug reporting, and participating in discussions on the forums.
We've also developed TKLPatch - a simple applicance customization mechanism.
Creating a Live CD appliance from scratch
The development process for creating a Live CD from scratch is a bit complicated and that can raise the bar for involvement quite high. There is nothing secret about it though, it is pretty well documented:
https://help.ubuntu.com/community/LiveCDCustomizationFromScratch
And If you're looking for a more automated approach:
http://www.gnewsense.org/Builder/HowToCreateYourOwnGNULinuxDistribution
Other tools for hacking a Live CD
Hacking an existing appliance is much easier than building one from scratch and besides TKLPatch there are many tools available to help you do that that should be fully compatible with TurnKey Linux:
Retrieved from "http://wiki.turnkeylinux.org/Reference"

Comments