You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

Work in progress





Usage of OCI Bundle Gen (1)

Rewrite these as User Stories

Used by operators 

used in STB

expected to be on Cloud

Extendable architecture

Requirements (2)

  • Read in OCI_Image
  • Read in template for a target STB (format TBC)
  • Output a minimal OCI bundle* suitable for execution on target STB
    • FS system
    • runtime Config.json
  • Apply operator restrictions based 




Summary

An overview of Bundle gen in context


STB Specific Template (3)

  • Where does this come from?
    • today its : /sys, /proc, /tmp, /lib, /bin, /sbin, /usr, /dev
    • PLUS an manually generated optional file list - a list of additional files/devices/groups... i.e. psudeo FS nodes that are available
    • PLUS an manually generated optional MAPPING file that maps any actual node from any of the above lists into the RDK-M namespace. i.e tells you what non standard nodes name are in RDK-M std terms. (e.g. XXx)
  • What format is it in?
    • tar of above directories
    • the lists is JSON list
    • the MAPPING is JSON tuple { expected path, actual path}
  • Define REference ones for :
    • RasbPi 
    • PC dev

Operator Rules (3)

  • What does it have:
    • Meory, cpu, networking, resolutions, RDK services upported, ....
  • What format:
    • JSON
  • Where:
    • ?
  • Who :
    • Operator

OCI Image Spec (3)

Standard OCI image 

plus RDK  extensions to define application requirements 

Overview processing steps  (4)

A summary of the processing steps (re-order if it helps)

  1. Get OCI_Image
  2. Parse the subset of OCI_Image_config to get the DAC subsection
  3. Filter by architecture (remove all libs and bins that aren't for our arch.
  4. Lib matching: lib is in template then remove lib and put in bind mount
  5. Config App storage. Write the plugin for storage to oci_bundle_config. (AppID is unique across RDK-M.)
  6. Write the plugin ram FS to bundle config if needed
  7. Add the devices and bindmount to that required to output config (inc. networking)
  8. Copy across the layer for architecture independent assets (images, configs, certificates)
  9. Copy across the executable compiles to the correct architecture
  10. Translate the the remaining parts of OCI_Image_Config to OCI_Bundle_Config

Library matching

Options:

  • https://en.wikipedia.org/wiki/Soname
  • Full Name matching
  • Base name matching, exclude version numbering
  • Hash of the lib
    • how to handle to handle compiler option diffs e.g. strip?
  • Are LD commands to get version number?

/Dev Matching











  • No labels