Skip to content
Tarek edited this page Jun 10, 2015 · 7 revisions
$ incept bootstrap -h
usage: bootstrap [-h] -b BASE -v VARIANT [--learn-settings] [--learn-props]
                 [--learn-partitions] [--learn-imgs] [-f]

Bootstrap a variant config, based on an existing base config, or based on
another variant config

optional arguments:
  -h, --help            show this help message and exit

Required args:
  -b BASE, --base BASE  base config code to use, in the format A.B
  -v VARIANT, --variant VARIANT
                        variant config code to use, in the format A.B.C

Optional args:
  --learn-settings      Learn settings from a connected device, and set in the
                        bootstrapped config file
  --learn-props         Learn update.property from a connected device, and set
                        in the bootstrapped config file
  --learn-partitions    Learn information about partitions on device, and set
                        in the bootstrapped config file
  --learn-imgs          Pull recovery and boot img from the device, and set in
                        the bootstrapped config file
  -f, --force           Overwrite an existing variant bootstrap directory if
                        exists

bootstrap action is your entry point to using inception. You start by bootstrapping a configuration -referred to as "variant" - that is based on another configuration, called "base". A variant inherits all properties of its base, and its base inherits all from its own base, and so on. A variant can also bootstrap using another variant as its base. This allows you place common config in 1 parent, and bootstrap several variants based on it.

#Base

A base name is always in the format A.B, for example:

  • inception.core
  • inception.device
  • samsung.degaswifi
  • samsung.galaxytab

#Variant

A variant name is always in the format A.B.C:

  • samsung.degaswifi.home_config
  • samsung.degaswifi.work_config
  • samsung.galaxytab.mygalaxytab

Once you bootstrap a variant the following happens:

  • inception downloads the whole config tree and places them by default in "~/.inception/base" folder.
  • creates a variant configuration you will find in "~/.inception/variants/A/B/C/C.json"

You then edit the JSON configuration file and jump to "incept make"