Deployment Platform/XO reference distribution: Difference between revisions
| Line 1: | Line 1: | ||
== Summary == | == Summary == | ||
This is [[Harmonic_Distribution/Deployment|one of possible]] reference implementations of [[Harmonic Distribution]] based solutions. The goal is creating Sugar based downstream distribution to run on OLPC XO laptops. | This is [[Harmonic_Distribution/Deployment|one of possible]] reference implementations of [[Harmonic Distribution]] based solutions. The goal is creating Sugar based downstream distribution to run on OLPC XO laptops by end-users. Created reference implementation is intended to be a template for final deployment distribution. | ||
== Overview == | |||
The task is creating XO image capable for further support. | |||
Image will be composed using [http://wiki.laptop.org/go/OSBuilder olpc-os-builder] utility and will be populated with the following content: | |||
'''System packages''' | |||
:Package will be installed from the following sources: | |||
:* stock Fedora repositories, | |||
:* [http://mock.laptop.org/cgit/ stable OLPC repositories], | |||
:* one of [[Template:Sweets_Distribution_Linkbar|Sweets Distribution]] repositories (for now, available only [[Platform_Team/Sweets_Distribution/Factory|Factory]]), | |||
:* [[#Deployment_repository|deployment repository]] to keep packages specific only to particular deployment. | |||
'''Initial Sugar Activities''' | |||
:[[Harmonic Distribution]] based solution are based on [[Sugar Network]] when all Sugar Activities are accessible from local school server or Internet located one. But, it is useful to have some first-time activities already included to the image. | |||
: Activities will be downloaded from the Sugar Network and placed to {{Code|~/Activities}} directory in the image. | |||
'''Deployment configuration''' | |||
:This is how final systems will be initially configured and supported afterwards. All deployment configuration is placed to [[#Deployment_package|meta package]] in [[#Deployment_repository|deployment repository]]. This meta package contains dependencies and configuration files for all other packages needed to be installed on final systems. Further, if there is a need to change configuration on already installed systems, meta package will be updated and spread among users. | |||
== Start new implementation == | |||
These are step-by-step instruction how to create new deployment distribution basing on this reference implementation. | |||
=== Deployment repository === | |||
Make sure you have Fedora repository accessible from building host and end-users. If you are looking for building and hosting environment, try [[Platform_Team/Open_Build_System|packages.sugarlabs.org]] which is an instance of [http://www.open-build-service.org/ Open Build Service]. | |||
If you are using [[Platform_Team/Open_Build_System|packages.sugarlabs.org]], create new project and add Fedora-14 repository from [[Sweets Distribution]] project your implementation is based on. For example, there is [https://packages.sugarlabs.org/project/show?project=SweetsDistribution%3AFactory%3AReferenceXO reference project] based on [https://packages.sugarlabs.org/project/show?project=SweetsDistribution%3AFactory SweetsDistribution:Factory] repositories. | |||
=== Deployment package === | |||
Use [http://git.sugarlabs.org/platform/reference-xo reference package] as a template. Copy its source and tune for local needs. Look for comments for better understanding. | |||
Structure of reference package is: | |||
* {{Code|etc/}}<br>These files will be copied as-is. Place here all configuration files you need to support afterwards. | |||
* {{Code|post/*.sh}}<br>These files will be executed right after installing package. Place here routines that can't be represent by configuration files. | |||
* {{Code|image/}}<br>olpc-os-builder files to [[#Create_images|create XO images]]. | |||
* {{Code|Makefile}}<br>Handy makefile to create sources tarball. | |||
* {{Code|deployment.spec}}<br>RPM spec file to create package. | |||
This is the only package that will be installed implicitly after including {{Code|sweets}} olpc-os-builder module. Thus, add to {{Code|deployment.spec}} all dependencies final systems require. Note that there is no need in installing Sugar Activities or its dependencies, these routines will be handled automatically after setting {{Code|offline_activities}} option in olpc-os-builder configuration file. | |||
Put sources to the new git project and commit them. | |||
To create package tarball, call the command: | |||
make dist | |||
If you are using [[Platform_Team/Open_Build_System|packages.sugarlabs.org]], call [http://en.opensuse.org/Build_Service/CLI osc] utility to upload newly create sources tarball and spec file to OBS. | |||
=== Create images === | |||
First of all, [[Sweets_Distribution#Add_repository|attach]] proper [[Sweets Distribution]] repository and install {{Code|olpc-os-builder}} package from there. This package is different from upstream, it contains additional modules (see {{Code|image/*.ini}} files for details). | |||
Then, go to {{Code|image/}} directory and call one the the following commands to create images: | |||
olpc-os-builder --additional-defaults common.ini xo-1.ini | |||
olpc-os-builder --additional-defaults common.ini xo-1.5.ini | |||
Consult olpc-os-builder's [http://wiki.laptop.org/go/OS_Builder home page] for more information. | |||
=== Post-install support === | |||
Post installation supporting is all about update packages in [[#Deployment_repository|deployment repository]], e.g., update configuration in [[#Deployment_package|deployment package]], then, using one of [[Harmonic_Distribution/Deployment#Scenarios|deployment scenarios]], spread package updates among users. | |||
== Try == | == Try == | ||