Deployment Platform/XO reference distribution: Difference between revisions
No edit summary |
|||
| (19 intermediate revisions by 2 users not shown) | |||
| Line 1: | Line 1: | ||
== Summary == | == Summary == | ||
This is [[ | This is [[Deployment_Platform/Deployment|one of the possible]] reference implementations of [[Deployment Platform]] based solutions. The goal is creating a Sugar based downstream distribution to run on OLPC XO laptops by end-users. The created reference implementation is intended to be a template for final deployment distributions. | ||
== | == Overview == | ||
To try reference implementation on an XO laptop, download one of prebuilt images and proceed below | The task is to create an XO image capable of further support. | ||
The image will be composed using the [http://wiki.laptop.org/go/OSBuilder olpc-os-builder] utility and will be populated with the following content: | |||
'''System packages''' | |||
:Packages will be installed from the following sources: | |||
:* stock Fedora repositories, | |||
:* [http://mock.laptop.org/cgit/ stable OLPC repositories], | |||
:* one of the [[Template:Sweets_Distribution_Linkbar|Sweets Distribution]] repositories (for now, only the [[Platform_Team/Sweets_Distribution/Factory|Factory]] repository is available), | |||
:* the [[#Deployment_repository|deployment repository]] to keep packages specific to a particular deployment. | |||
'''Initial Sugar Activities''' | |||
:[[Deployment Platform]] based solutions are based on [[Sugar Network]], which makes all Sugar Activities accessible from a local school server or an Internet located one. Nonetheless, it is useful to have some first-time activities already included with the image. | |||
: Activities will be downloaded from the Sugar Network and placed in the {{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 in a [[#Deployment_package|meta package]] in the [[#Deployment_repository|deployment repository]]. This meta package contains dependencies and configuration files for all other packages needing to be installed on final systems. Further, if there is a need to change the configuration on already installed systems, the meta package will be updated and spread among users. | |||
== Start new implementation == | |||
These are step-by-step instructions on how to create a new deployment distribution based on this reference implementation. | |||
=== Deployment repository === | |||
Make sure that the Fedora repository is accessible from the building host and end-users. If you are looking for a building and hosting environment, try [[Platform_Team/Open_Build_Service|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_Service|packages.sugarlabs.org]], create a new project, and add the Fedora 14 repository from the [[Sweets Distribution]] project your implementation is based on. For example, there is {{OBS/project|SweetsDistribution:Factory:ReferenceXO|reference project}} based on {{OBS/project|SweetsDistribution:Factory|SweetsDistribution:Factory}} repositories. | |||
=== Deployment package === | |||
Use the [http://git.sugarlabs.org/platform/reference-xo reference package] as a template. Copy its source and tune it for local needs. Look for comments to gain a better understanding. | |||
The reference package is structured as follows: | |||
* {{Code|etc/}}<br>These files will be copied as-is. Place here all configuration files you need to support afterwards. | |||
* {{Code|post.d/*.sh}}<br>These files will be executed right after installing package. Place here routines that can't be represented 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 the {{Code|sweets}} olpc-os-builder module. Thus, add to the {{Code|deployment.spec}} all dependencies that final systems will require. Note that there is no need in installing Sugar Activities or their dependencies; these routines will be handled automatically after setting the {{Code|offline_activities}} option in the olpc-os-builder configuration file. | |||
Put sources in the new git project and commit them. | |||
To create a package tarball, call the command | |||
make dist | |||
If you are using [[Platform_Team/Open_Build_Service|packages.sugarlabs.org]], call the [http://en.opensuse.org/Build_Service/CLI osc] utility to upload newly created sources tarball and spec file to OBS. | |||
=== Create images === | |||
First of all, [[Sweets_Distribution#Add_repository|attach]] the proper [[Sweets Distribution]] repository, and install the {{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 the {{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 support is all about updating packages in the [[#Deployment_repository|deployment repository]], e.g., update the configuration in the [[#Deployment_package|deployment package]]. Then, using one of the [[Deployment_Platform/Deployment#Scenarios|deployment scenarios]], distribute the package updates among users. | |||
{{Anchor|Try reference implementation}} | |||
== Try a reference implementation == | |||
To try a reference implementation on an XO laptop, download one of the prebuilt images and proceed with the instructions below to flash it. Note that images were built using a recent development version of the software. So, images might be used to easily test recent changes. | |||
Reference XO images might not be up-to-date (since there are not intended to be used as-is by deployments), so, run full system update right after flashing to make sure that system is recent: | |||
sudo yum update | |||
=== XO-1 === | === XO-1 === | ||
* First, ensure that your laptop is [http://wiki.laptop.org/go/Activation_and_developer_keys unlocked]. | * First, ensure that your laptop is [http://wiki.laptop.org/go/Activation_and_developer_keys unlocked]. | ||
* Download [http://download.sugarlabs.org/ | * Download [http://download.sugarlabs.org/images/reference-xo/xo1/os.img os.img] and [http://download.sugarlabs.org/images/reference-xo/xo1/os.crc os.crc] files to the root directory of a USB stick or SD card. | ||
* Drop to the "'''ok'''" prompt by pressing [[File:Esc.svg|24px]] (Esc) repeatedly during boot. | * Drop to the Open Firmware [[OLPC:Ok|"'''ok'''"]] prompt by pressing [[File:Esc.svg|24px]] (Esc) repeatedly during boot. | ||
* Type the command: <code>'''copy-nand u:\ | * Type the command: <code>'''copy-nand u:\os.img'''</code> for a USB stick or <code>'''copy-nand sd:\os.img'''</code> for a SD card followed by [[File:Key_enter.jpg|50px]] (enter). | ||
* Wait for the display to fill in with color and the "'''ok'''" prompt to return | * Wait for the display to fill in with color and the "'''ok'''" prompt to return | ||
* Type the command <code>'''reboot'''</code> followed by [[File:Key_enter.jpg|50px]] (enter) | * Type the command <code>'''reboot'''</code> followed by [[File:Key_enter.jpg|50px]] (enter) | ||
* The XO will reboot, finish writing, reboot itself, and take you to the naming and color choice process | * The XO will reboot, finish writing, reboot itself, and take you to the naming and color choice process | ||
* During the reboots, keep the charger connected to allow | * During the reboots, keep the charger connected to allow Open Firmware to self-update. | ||
=== XO-1.5 === | === XO-1.5 === | ||
* First, ensure that your laptop is [http://wiki.laptop.org/go/Activation_and_developer_keys unlocked]. | * First, ensure that your laptop is [http://wiki.laptop.org/go/Activation_and_developer_keys unlocked]. | ||
* Download [http://download.sugarlabs.org/platform/ | * Download [http://download.sugarlabs.org/platform/reference-xo/xo1.5/os.zd os.zd] to the root directory of a USB stick | ||
* Drop to the "'''ok'''" prompt by pressing [[File:Esc.svg|24px]] (Esc) repeatedly during boot | * Drop to the Open Firmware [[OLPC:Ok|"'''ok'''"]] prompt by pressing [[File:Esc.svg|24px]] (Esc) repeatedly during boot | ||
* Type the command: <code>'''fs-update u:\ | * Type the command: <code>'''fs-update u:\os.zd'''</code> followed by [[File:Key_enter.jpg|50px]] (enter) | ||
* Wait for the display to fill in with color and the "'''ok'''" prompt to return | * Wait for the display to fill in with color and the "'''ok'''" prompt to return | ||
* Type the command <code>'''reboot'''</code> followed by [[File:Key_enter.jpg|50px]] (enter) | * Type the command <code>'''reboot'''</code> followed by [[File:Key_enter.jpg|50px]] (enter) | ||
* The XO will reboot and take you to the naming and color choice process | * The XO will reboot and take you to the naming and color choice process. | ||
== Downstreams == | == Downstreams == | ||
Here is a list of solutions based on this reference implementation: | |||
* [http://pe.sugarlabs.org/go/Proyecto_Piloto_Hexoquinasa Hexokinase]. | * [http://pe.sugarlabs.org/go/Proyecto_Piloto_Hexoquinasa Hexokinase]. | ||
== Resources == | |||
* Sources for deployment package [http://git.sugarlabs.org/platform/reference-xo reference implementation]. | |||
* Sources for olpc-os-builder [http://git.sugarlabs.org/platform/olpc-os-builder additional modules]. | |||
* {{OBS/project|SweetsDistribution:Factory:ReferenceXO|OBS project}} for reference deployment repository. | |||
* {{OBS/package|SweetsDistribution:Factory:ReferenceXO|deployment|OBS package}} for reference deployment package. | |||
* [http://download.sugarlabs.org/packages/SweetsDistribution:/Factory:/ReferenceXO/ Binary packages] for reference deployment repository. | |||
* Prebuilt [http://download.sugarlabs.org/platform/reference-xo/ XO images]. | |||
* [[Sweets Distribution]] this reference implementation is based on. | |||