Line 24: |
Line 24: |
| '''Deployment configuration''' | | '''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 configuration on already installed systems, the meta package will be updated and spread among users. | + | :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 == | | == Start new implementation == |
| | | |
− | These are step-by-step instruction on how to create a new deployment distribution based on this reference implementation. | + | These are step-by-step instructions on how to create a new deployment distribution based on this reference implementation. |
| | | |
| === Deployment repository === | | === Deployment repository === |
| | | |
− | Make sure you have the Fedora repository accessible from building host and end-users. If you are looking for a 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]. | + | 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_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 a new project and add the Fedora 14 repository from the [[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. | + | If you are using [[Platform_Team/Open_Build_System|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 the [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 === | | === 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. | + | 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. |
| | | |
− | Structure of reference package is:
| + | 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|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 represent by configuration files. | + | * {{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|image/}}<br>olpc-os-builder files to [[#Create_images|create XO images]]. |
| * {{Code|Makefile}}<br>Handy makefile to create sources tarball. | | * {{Code|Makefile}}<br>Handy makefile to create sources tarball. |
| * {{Code|deployment.spec}}<br>RPM spec file to create package. | | * {{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. | + | 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 to the new git project and commit them. | + | Put sources in the new git project and commit them. |
| | | |
− | To create package tarball, call the command: | + | To create a package tarball, call the command |
| | | |
| make dist | | 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. | + | If you are using [[Platform_Team/Open_Build_System|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 === | | === 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). | + | 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 {{Code|image/}} directory and call one the the following commands to create images: | + | 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.ini |
Line 71: |
Line 71: |
| === Post-install support === | | === 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. | + | 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 [[Harmonic_Distribution/Deployment#Scenarios|deployment scenarios]], distribute the package updates among users. |
| | | |
− | == Try reference implementation == | + | == Try a reference implementation == |
| | | |
− | To try reference implementation on an XO laptop, download one of prebuilt images and proceed below instructions to flash it. Note that images were built using recent development version of software. So, images might be used to easily test recent changes. | + | 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. |
| | | |
| === XO-1 === | | === XO-1 === |
Line 81: |
Line 81: |
| * 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/reference-xo/xo1/os.img os.img] and [http://download.sugarlabs.org/platform/reference-xo/xo1/os.crc os.crc] files to the root directory of a USB stick or SD card. | | * Download [http://download.sugarlabs.org/platform/reference-xo/xo1/os.img os.img] and [http://download.sugarlabs.org/platform/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 [[OLPC:Open Firmware|Open Firmware]] "'''ok'''" prompt by pressing [[File:Esc.svg|24px]] (Esc) repeatedly during boot. |
| * Type the command: <code>'''copy-nand u:\xo.img'''</code> for a USB stick or <code>'''copy-nand sd:\xo.img'''</code> for a SD card followed by [[File:Key_enter.jpg|50px]] (enter). | | * Type the command: <code>'''copy-nand u:\xo.img'''</code> for a USB stick or <code>'''copy-nand sd:\xo.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 OFW to self-update | + | * During the reboots, keep the charger connected to allow Open Firmware to self-update. |
| | | |
| === XO-1.5 === | | === XO-1.5 === |
Line 92: |
Line 92: |
| * 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/reference-xo/xo1.5/os.zd os.zd] to the root directory of a USB stick | | * 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 [[OLPC:Open Firmware|Open Firmware]] "'''ok'''" prompt by pressing [[File:Esc.svg|24px]] (Esc) repeatedly during boot |
| * Type the command: <code>'''fs-update u:\xo.zd'''</code> followed by [[File:Key_enter.jpg|50px]] (enter) | | * Type the command: <code>'''fs-update u:\xo.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 == |
| | | |
− | The list of solutions based on this reference implementation:
| + | 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]. |