This article discusses System Studio, an open source application and framework for creating custom operating systems based on CentOS
and Red Hat Enterprise Linux. Using System Studio, IT Professionals can start with an operating system, add and remove software, modify default configuration, and generate a custom version.
System Studio gives IT Professionals greater control over system deployment. It allows software and configuration to be integrated
directly within the operating system, ensuring consistent results without requiring additional management systems. It also allows unwanted or conflicting software to be permanently removed- preventing accidental installation and subsequent issues.
Installing System Studio
System Studio is available for download from www.systemstudio.org. It requires a system installed with CentOS or RHEL 6 x86_64. A machine capable of KVM virtualization is recommended.
Complete installation instructions are available from the web site.
In addition to installing System Studio, the standard installation configures web and virtualization services. The latter two assist
with a number of System Studio features - more on this in future articles.
System Studio is a command line application. It can be used to create custom versions of CentOS and RHEL, versions 5 and 6.
Defining a Custom Operating System
System Studio works by reading a user-provided definition, and creating the specified operating system.
Definitions are in XML format. The format is well documented - a complete reference manual is available from wthe website in both HTML and PDF formats. In addition, System Studio includes a number of templates to assist with the definition creation process.
A basic definition looks as follows. This definition specifies the name, version, and architecture for the operating system. It also specifies the base operating system, and software packages to be include from the base.
<fullname>Example Custom Operating System</fullname>
<xi:include xpointer="xpointer(/*/repo[@id='base'])" href="repos.xml"/>
<xi:include xpointer="xpointer(/*/repo[@id='updates'])" href="repos.xml"/>
Building an Operating System
This definition will create a simple custom operating system based on CentOS version 6.
To create the custom operating system, you execute the following command. Note that you must execute System Studio as the root user.
The first time you create an operating system, it can take a few minutes. Files from the original operating system must be downloaded and cached. Thereafter, the process is much quicker typically a just a few seconds.
When the operating system is complete, you can find it in a folder located at /var/www/html/repos/system.
System Studio creates the custom version in the same format as the original, complete with installation images and a package repository. As a result, you can install it just as you would install the original operating system. And you can update installed clients using YUM.
Doing more with System Studio
The previous example showed creating a basic operating system. System Studio can also be used to -
Add software from external package repositories.
Create new software packages.
Test the new operating system using virtual
Each of these is described in detail in the System Studio User Manual. They will also be described in future articles.