Device Variant Using Multiple Keyspace Files

This topic describes the use of multiple keyspace files on multiple ROFS layers to create a device variant.

Introduction

The central respository consists of keyspaces used to store application settings. The device variant creators need to modify these settings for every variant of the device.

In the older method the variant engineer has to branch out the exisiting keyspace files , modify the settings and reflash the device with the new keyspace files. The disadvantage of the older method is that the variant engineer has to maintain multiple keyspace files. The modified keyspace must have the same files name as the existing one.

Multiple ROFS layers

The central repository now supports keyspace that is composed of multiple files. A new keyspace file is created for a new ROFS layer. This enables the variant engineers to modify a specific setting in the keyspace in one layer and merge the repository with the new settings. The new feature to modify specific settings of a keyspace reduces the time to create different variants.

Merge the settings

The figure below shows how a specific setting is modified in the new meachnism. In the example below the keyspace d is modified in the new ROFS layer to create a variant. The central repository reads the keyspace files and merges the modified settings of keyspace d. The settings in the higher ROFS layer get the priority of the settings. The higher ROFS layers cannot modify the global properties of the keyspaces like metadata, owner information and the access control information.

Figure 1. Central repository - Modify a setting

The figure below shows how a new setting is added to the central repository keyspace.

Figure 2. Central repository - Add a new setting

Advantages

The advantages of using multiple ROFS layer to create device variant are:

  • variant engineers can modify selective settings in a keyspace

  • no need to branch and maintain multiple keyspace files for each variant created

  • central repository can detect the multiple keyspace files at run time and merge the settings as one keyspace

Guidelines

The following are some guidelines to use the multiple ROFS layers to create device variant:

  • Use the binary files (CRE) or text files to initialise the keyspaces

  • Do not use the combination of text and binary files for a keyspace. Use one format of the initialisation files.

  • The keyspace files in higher ROFS layers must not modify the global properties such as metadata, owner information and access control information.

Errors

The following table shows the possible errors that may occur in use of multiple ROFS layers for device variant creation:

Error Reason for the error

CENREPCLI: Panic 8

The binary files (CRE) must be converted with the new central repository conversion tool.

CENREPCLI: Panic 9

The keyspace files in the higher layer is trying to modify a global property

CENREPCLI: Panic 10

Higher layer keyspace file is trying to modify a type of a setting in the lower layer

CENREPCLI: Panic 11

The default ROFS layer file is associated with exattrib=u attribute