summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJianxun Zhang <jianxun.zhang@linux.intel.com>2017-01-06 00:15:35 (GMT)
committerCalifornia Sullivan <california.l.sullivan@intel.com>2017-01-09 20:53:33 (GMT)
commit368673eab1344fee79932e2dd96289fa6748d8be (patch)
treecb0a2830796ca8fc37e5e7fa104af2a0c6a8fae0
parent499b251ce6b52fbc81cfb97b4aee73329bcc1255 (diff)
downloadmeta-intel-368673eab1344fee79932e2dd96289fa6748d8be.tar.gz
rmc: Extend usages of RMC_BOARD_DATA_DIRS to specify board data
Use the variable RMC_BOARD_DATA_DIRS, to disable, append to, or override the default board data in meta-intel with boards' data provided by users. Ideally, users should get the updated database in the new built image after an incremental build. Examples of RMC database output (db): RMC_BOARD_DATA_DIRS = "" (disable db generation) RMC_BOARD_DATA_DIRS_append = " top_dir" (db of defaults & user's) RMC_BOARD_DATA_DIRS = "top_dir" (db for user's , no defaults) RMC_BOARD_DATA_DIRS = " " (same as "") Signed-off-by: Jianxun Zhang <jianxun.zhang@linux.intel.com> Signed-off-by: California Sullivan <california.l.sullivan@intel.com>
-rw-r--r--classes/rmc-boot.bbclass6
-rw-r--r--common/recipes-bsp/rmc/rmc-db.bb3
-rw-r--r--documentation/rmc/README41
3 files changed, 32 insertions, 18 deletions
diff --git a/classes/rmc-boot.bbclass b/classes/rmc-boot.bbclass
index a1f2093..37c3e30 100644
--- a/classes/rmc-boot.bbclass
+++ b/classes/rmc-boot.bbclass
@@ -9,5 +9,9 @@ inherit ${RMC_BOOTLOADER}
9do_bootimg[depends] += "${MLPREFIX}rmc-db:do_deploy" 9do_bootimg[depends] += "${MLPREFIX}rmc-db:do_deploy"
10 10
11efi_populate_append() { 11efi_populate_append() {
12 install -m 0400 ${DEPLOY_DIR_IMAGE}/rmc.db ${DEST}/rmc.db 12 if [ -f ${DEPLOY_DIR_IMAGE}/rmc.db ]; then
13 install -m 0400 ${DEPLOY_DIR_IMAGE}/rmc.db ${DEST}/rmc.db
14 else
15 rm -f ${DEST}/rmc.db
16 fi
13} 17}
diff --git a/common/recipes-bsp/rmc/rmc-db.bb b/common/recipes-bsp/rmc/rmc-db.bb
index 14553af..99565fd 100644
--- a/common/recipes-bsp/rmc/rmc-db.bb
+++ b/common/recipes-bsp/rmc/rmc-db.bb
@@ -14,7 +14,7 @@ S = "${WORKDIR}"
14 14
15inherit rmc-db 15inherit rmc-db
16 16
17RMC_BOARD_DATA_DIRS_append := " ${THISDIR}/boards/" 17RMC_BOARD_DATA_DIRS ?= "${THISDIR}/boards/"
18RMC_DB_DIR = "${WORKDIR}/db" 18RMC_DB_DIR = "${WORKDIR}/db"
19 19
20# Let sstate be aware of change in any added board directories 20# Let sstate be aware of change in any added board directories
@@ -41,6 +41,7 @@ do_deploy () {
41 if [ -f ${RMC_DB_DIR}/rmc.db ]; then 41 if [ -f ${RMC_DB_DIR}/rmc.db ]; then
42 install -m 0400 ${RMC_DB_DIR}/rmc.db ${DEPLOYDIR} 42 install -m 0400 ${RMC_DB_DIR}/rmc.db ${DEPLOYDIR}
43 else 43 else
44 rm -f ${DEPLOYDIR}/rmc.db
44 echo "Warning: no RMC central database found, skip deployment." 45 echo "Warning: no RMC central database found, skip deployment."
45 fi 46 fi
46} 47}
diff --git a/documentation/rmc/README b/documentation/rmc/README
index dbee6b6..eaa763e 100644
--- a/documentation/rmc/README
+++ b/documentation/rmc/README
@@ -82,15 +82,31 @@ following this example, so that RMC recipes can pick up them correctly in build.
82 |- ...more files 82 |- ...more files
83 83
84Note 0: 84Note 0:
85To add your boards into RMC feature, simply put this line in your 85Developers are expected to use variable RMC_BOARD_DATA_DIRS to specify data of
86rmc-db.bbappend: 86boards packed into RMC database file generated in a build. The default value of
87the variable in meta-intel specifies a group of boards. They work as examples
88and necessary quirks for these boards to function properly. Developers can
89override, append to the default boards with data of their own boards in the
90database file, or even disable the generation of the database file.
87 91
88RMC_BOARD_DATA_DIRS_append := " ${THISDIR}/my_top_dir" 92For example, in your local.conf file:
89 93
90RMC db recipe takes all top directories specified in RMC_BOARD_DATA_DIRS to 94This line adds your boards along with the default boards into RMC database file,
91construct and deploy a central RMC database inside image. The bbclass of the 95assuming you have a directory named "rmc" which has a subdirectory for each
92bare RMC project also provide function for other components to construct their 96board:
93own RMC database file. Please refer to rmc-db.bbclass for more information. 97
98RMC_BOARD_DATA_DIRS_append = " /path_of/rmc"
99
100This line directs RMC to pack data of your boards only, without data of the
101default boards in meta-intel:
102
103RMC_BOARD_DATA_DIRS = "/path_of/rmc"
104
105And this line disables database generation:
106
107RMC_BOARD_DATA_DIRS = ""
108
109Please also refer to the "Example 1" in this document.
94 110
95Subdirectory is not supported in a board's directory. 111Subdirectory is not supported in a board's directory.
96 112
@@ -175,15 +191,8 @@ bootloader please overwrite the RMC_BOOTLOADER variable in your local.conf
175 191
176Note: 192Note:
177Image could be still bootable if you only have either of two lines, but RMC 193Image could be still bootable if you only have either of two lines, but RMC
178feature won't be fully functional. 194feature could not be fully functional, depending on the availability of the
179 195database file, installer and the rmc tool.
180To install only the RMC client with the systemd-boot bootloader without
181including a default RMC database file, add the following lines to your
182local.conf:
183
184EFI_PROVIDER = "systemd-boot"
185IMAGE_INSTALL_append = " rmc"
186
187 196
188Examples 197Examples
189-------------------------------------------------------------------------------- 198--------------------------------------------------------------------------------