RFC for OEM package
    Jamie Strandboge 
    jamie at canonical.com
       
    Wed Mar  4 20:12:53 UTC 2015
    
    
  
On 03/04/2015 02:02 PM, Jamie Strandboge wrote:
> On 03/04/2015 07:42 AM, Sergio Schvezov wrote:
>> Here is a first draft of the oem package capabilities we would want to have
>> https://github.com/ubuntu-snappy/rfc/blob/master/rfc-oem.md
>>
>> Any comments welcome.
>>
> 
> "Snappy package configuration"
> 
> For some reason, I found this section confusing since 'part' can have subtly
> different meanings-- ie, do you mean a discrete 'snappy part' (eg, 'OEM part',
> 'ubuntu-core/rootfs' part, etc) or something more general like 'part of'
> something bigger. Perhaps you should define what a 'part' is and make sure when
> referring to 'part' in the document you only use this definition? Does the oem
> snap deliver the OEM part or does it only configure it or something else? It
> might be worthwhile to define that at the very beginning.
> 
> 
> Attached is a diff against rfc-oem.md to make various other corrections and
> clarifications.
> 
Sorry, there were a couple of mistakes in the last one. Here is an updated diff.
-- 
Jamie Strandboge                 http://www.ubuntu.com/
-------------- next part --------------
--- rfc-oem.md.orig	2015-03-04 13:44:39.873147494 -0600
+++ rfc-oem.md	2015-03-04 14:12:08.478966181 -0600
@@ -9,6 +9,9 @@
 There can only be *one* snappy package of `type` `oem` and it can only be
 installed during image provision.
 
+TODO: define that the oem snap may setup snappy `parts` and define what a
+`part` is.
+
 ## Customization entry points
 
 ### Default packages
@@ -26,60 +29,64 @@
 
 ### Snappy package configuration
 
-Each snappy part can be configured per package or feeding a full configuration
-with all the parts and types.
+Each snappy part can be configured per package or by feeding a full
+configuration with all the parts and types.
 
-The `oem` package, in it’s initial version shall support providing a
-`config.yaml` describing each part that is to be configured.
+The `oem` package shall initially support providing a `config.yaml` describing
+each part that is to be configured.
 
-On first boot of the system, this configuration file will be processed to apply
-such configuration. Take notice that a factory reset creates a first boot scenario.
+On first boot of the system, this `config.yaml` file will be processed and the
+described configuration will be applied. Note: factory resetting the system
+will create a first boot scenario and therefore `config.yaml` will be
+processed.
 
-Where possible and relevant, and specifically the `ubuntu-core` configuration
+FIXME (confusing): Where possible and relevant, and specifically the `ubuntu-core` configuration
 part will feed into `cloud-init`.
 
 ### Store ID
 
-If a different sore is required, it can be set with the `store-id` entry,
-`snappy` will use the store id set to reach the appropriate store.
+If a non-default store is required, one may use the the `store-id` entry and
+`snappy` will use it to reach the appropriate store.
 
 ### Branding
 
-Branding can be set in the form of a slogan and an image, `snappy` and it’s
+Branding can be set in the form of a slogan and an image. `snappy` and it’s
 `webdm` counterpart will use this information to brand the system accordingly.
 
 ### Hardware
 
 #### dtb
 
-The default dtb can be overridden by a key entry point in the `package.yaml`
+The default dtb (device tree blob) can be overridden by a key entry point in the `package.yaml`
 for the `oem`.
 
-During provisioning if a dtb is specified, it will be selected as the dtb to
-use for the system. When an update for the `oem` package arrives and in the
-case of an AB partition layout, if the `dtb` is updated, the update will be
-installed to the *other* partition and request a reboot.
+If a dtb is specified during provisioning, it will be selected as the dtb to
+use for the system. If using an AB partition layout, when an update for the
+`oem` package is installed which updates the `dtb`, the update will be
+installed to the *other* partition and a reboot will be requested.
 
 An upgrade path must be calculated by `snappy` to determine the priority and
-ordering for an `ubuntu-core` update and an `oem` one.
+ordering for an `ubuntu-core` update and an `oem` snap update.
 
 #### Bootloaders
 
-Each system boots differently, assets that are currenly provided in
-`flashassets` in the device part can be provided here, this is important if the
-system desires to use the default `device` part which is the fully supported
-Ubuntu kernel and initrds.
-
-Examples of assets provided here are `MLO`, `u-boot`, `UEnv.txt` `script.bin`
-or anything external to the system that allows for a system to boot.
-
-These assets are meant to be used during provisioning, but can also be used against
-a running system, updating these assets on a running system can lead to a broken
-system as there may not be redundancy or fallback here (unless provided by the OEM).
+Since each system boots differently, assets that are currently provided in
+`flashassets` of the device part can be provided in the `oem` snap instead.
+This is useful for systems that use the default `device` part (ie, one which
+uses the officially supported Ubuntu kernel and initrd).
+
+Examples of assets that may be provided via the `oem` snap are `MLO`, `u-boot`,
+`UEnv.txt` `script.bin` or anything external to the system that allows for a
+system to boot.
+
+While these assets are typically used during provisioning, they may also be
+used against a running system. Caution: updating these assets on a running
+system may lead to a broken system unless redundancy or fallback machanisms
+aren provided by the OEM.
 
 #### Description
 
-This is basically what is currently provided in the `hardware.yaml` from the
+FIXME (do not use 'basically' here): This is basically what is currently provided in the `hardware.yaml` from the
 current device part sans init and kernel setup.
 
 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: OpenPGP digital signature
URL: <https://lists.ubuntu.com/archives/snappy-app-devel/attachments/20150304/4ce2971e/attachment.pgp>
    
    
More information about the snappy-app-devel
mailing list