Introduction to Device Provisioning

Introduction

Additional customization options allow OEM-specific changes to our product core. The Provisioning settings can be added to boot partition before the first boot or to data partition after the first boot. Below you will find an introduction to the different Device Provisioning options and step-by-step tutorial on how to add them to the correct partition.

Note: The OEM-specific device configuration used to be downloaded automatically during the installation of emteria.OS with the official installer application, now they need to be manually applied to the correct partition. 

Note: The Device Provisioning is available in the Advance and Premium plan.

Watch our tutorial video for Device Provisioning on our YouTube channel.

How to set up Device Provisioning in the Device Hub

  1. Log in to your Device Hub.
  2. Navigate to Provisioning.
    provisioning
  3. Choose existing provisioning settings or create a new one.
  4. Go through different options, set you your Provisioning settings, click Save and Export.
  5. A .json file has been downloaded to your computer.

 

How to apply Provisioning settings before the first boot

Note: Before the first boot provisioning settings are added to the boot partition.

  1. Install emteria.OS on a SDcard.
  2. Insert it into your computer and mount it: 
    Right click on Start > right click on SDcard partition (usually BOOT (D:)) > Change Drive Letter and Paths > Add > Ok.
  3. Open File Explorer > This PC > BOOT (D:)
  4. Rename your downloaded .json file to oem.json and replace it with the one inside BOOT.
  5. Insert SD card into your device and boot it up. 

How to apply Provisioning settings after first boot

Note: After the first boot provisioning settings are added to the data partition.

  1. Rename downloaded .json file to config.json file on your computer and connect your device to a network.
  2. Use ADB to connect to your device with your computer. 
  3. After establishing connection write the following commands:
     adb push C:\Path\to\file\config.json /data/local/tmp/
    adb shell
  4. Now that you have an open shell on the device, write the following commands:
     sushell
    mv /data/local/tmp/config.json /data/oem/config.json
    chown system:system /data/oem/config.json
    am start com.emteria.setupwizard/.activities.ResetActivity
  5. After the last command, Setup Wizard will open for you to finish setting up your device. 
  6. After reboot, new settings will take affect.

Device Provisioning options

Device Registrartion
Screen settings
Product Branding
Product Administration
Disabled Components
Recovery Packages
Preinstalled Applications
Runtime Permissions
Private Repositories
Application Preferences
Authorized SSH Keys
Connectivity
System Settings
System Properties

Device Registration

With a Universal License present on your SD Card it will automatically reactivate devices which were already activated in the past, and it will also activate new devices automatically by assigning them unused licenses from the selected license group.

Universal licenses and License group had to be previosulsy set in Device Hub > Universal licenses. In provisioning you can only chose among those activation codes and it's group. device_registration-1

Note: For further information and explanation see Introduction to Universal Licenses.

 

During the initial device setup, you will see options for using these codes for automatic device activation.

UniversalLicensesProvisioning3

Screen settings

Set up your initial screen rotation.

screen_settings

Product Branding

You can set your own boot animation and the default wallpaper. 

product_branding

Note: For more information read our tutorial on how to change Boot Animation.

 

Product Administration

Here you can customize device administration and ownership settings. 

product_administartion

Disabled Components

You can disable individual applications or application components, if required. 

For example: com.android.smspush or com.android.mms.service.

disabled_components

Recovery Packages

Define additional third-party modules and drivers which should be automatically installed during the initial setup of the device.

recovery_packages

Preinstalled Applications

Define additional packages which should be automatically installed during the initial setup of the device.

Note: The user will have the possibility to ignore the recommended settings (disabled components or additional packages) during the setup wizard.

preinstall_app

Runtime Permissions

Here you can set runtime permissions for preinstalled applications.

runtime_permission

Private Repositories

Here you can add your private repositories to be included in the F-Droid store. privat_repo

For more information read our tutorial on how to add a Private Repository or private app store on emteria.OS.

 

Application Preferences

Here you can set custom preferences for standard system applications. 

app_preferences

 

Authorized SSH Keys

Here you can add Public Keys in OpenSSH format to the list of authorized keys

ssh

Note: When creating a new SSH key pair, make sure it has the RSA format.

E.g. ssh-rsa AAAAB...XYZ==

Additionally, Name and Comment have to be filled in.

Connectivity

You can also Enable or Disable built-it connectivity components.

connectivity

System Settings

Here you can set settings to overwrite system default values.

system_settings

Example:

Section Type Key Value Comment
Secure Int show_ime_with_hard_keyboard 1 Always show keyboard
Global Int stay_on_while_plugged_in 7 Keep awake

System Properties

Here you can set customized values for standard system properties.

Note: Modifying System Properties through Device Provisioning has advantages over e.g., altering the config.txt and cmdline.txt, as these changes are persistant over OTA updates.

system_properties

Examples:

Property name Value Comment
persist.rpi.connector.index 2  
persist.rpi.cmdline cmdline=video=HDMI-A-1:800x480M@60  
persist.rpi.mode.force 800x480@60  
persist.rpi.vc4.force fkms