Customizing your SoaS
Note: As of June 23, this is only a draft, most certainly incomplete and still subject to changes.
Creating your own SoaS is not as hard as it probably sounds. Depending on whether you just want to adjust some settings or need to modify it for a deployment, you might want to look a bit deeper into the process of creating the images, even if the procedure itself is always the same.
Components of SoaS
First of all, it is important to understand from which components SoaS it is composed. It consists basically of the following parts:
- Fedora, as the base operating system, providing most of the packages we are using (this includes the Sugar Environment & Platform, as well as the basic Fructose Activities).
- Additional packages from a repository at download.sugarlabs.org to add our branding and some other features.
- Further activities, which are directly downloaded from activities.sugarlabs.org.
Development takes place in the SoaS GIT repo located here (http://git.sugarlabs.org/projects/soas), so it is recommended to check that out to your local drive.
You will also need a Fedora system to run the scripts to create the live media, preferably the most current version of it. Finally, you will need the tools used for composing, which you can grab by running yum install livecd-tools as root.
Now we will have a look at the config files themselves, which are used to create the builds. Starting with soas-base.ks, which provides the base system, you will notice some arguments at the top of the file: lang en_US.UTF-8 keyboard us timezone US/Eastern
You can easily adjust that to modify the default language settings. Fedora provides more information on the various options here (http://fedoraproject.org/wiki/Anaconda/Kickstart).
Next, we will focus on the soas-sugar.ks, which contains all the Sugar parts, as well as some customizations. The first part listed under # sugar! contains the activities, that have been packaged for Fedora, meaning that they are available as RPM files. You can run yum list 'sugar-*' on your build machine to find out what is available in the repos.