summaryrefslogtreecommitdiffstats
path: root/documentation/bsp-guide
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/bsp-guide')
-rw-r--r--documentation/bsp-guide/bsp.xml236
1 files changed, 112 insertions, 124 deletions
diff --git a/documentation/bsp-guide/bsp.xml b/documentation/bsp-guide/bsp.xml
index 3cb65c21e7..61714c8814 100644
--- a/documentation/bsp-guide/bsp.xml
+++ b/documentation/bsp-guide/bsp.xml
@@ -56,6 +56,7 @@
56 BBLAYERS = " \ 56 BBLAYERS = " \
57 /usr/local/src/yocto/meta \ 57 /usr/local/src/yocto/meta \
58 /usr/local/src/yocto/meta-yocto \ 58 /usr/local/src/yocto/meta-yocto \
59 /usr/local/src/yocto/meta-yocto-bsp \
59 /usr/local/src/yocto/meta-<bsp_name> \ 60 /usr/local/src/yocto/meta-<bsp_name> \
60 " 61 "
61 </literallayout> 62 </literallayout>
@@ -1017,7 +1018,7 @@
1017 1018
1018 <para> 1019 <para>
1019 The following sections describe the common location and help features as well 1020 The following sections describe the common location and help features as well
1020 as provides details for the 1021 as provide details for the
1021 <filename>yocto-bsp</filename> and <filename>yocto-kernel</filename> tools. 1022 <filename>yocto-bsp</filename> and <filename>yocto-kernel</filename> tools.
1022 </para> 1023 </para>
1023 1024
@@ -1049,30 +1050,27 @@
1049 The most immediately useful function is to get help on both tools. 1050 The most immediately useful function is to get help on both tools.
1050 The built-in help system makes it easy to drill down at 1051 The built-in help system makes it easy to drill down at
1051 any time and view the syntax required for any specific command. 1052 any time and view the syntax required for any specific command.
1052 Simply enter the name of the command, or the command along with 1053 Simply enter the name of the command with the <filename>help</filename>
1053 <filename>help</filename> to display a list of the available sub-commands. 1054 switch:
1054 Here is an example:
1055 <literallayout class='monospaced'> 1055 <literallayout class='monospaced'>
1056 $ yocto-bsp
1057 $ yocto-bsp help 1056 $ yocto-bsp help
1057 Usage:
1058 1058
1059 Usage: 1059 Create a customized Yocto BSP layer.
1060
1061 Create a customized Yocto BSP layer.
1062 1060
1063 usage: yocto-bsp [--version] [--help] COMMAND [ARGS] 1061 usage: yocto-bsp [--version] [--help] COMMAND [ARGS]
1064 1062
1065 The most commonly used 'yocto-bsp' commands are: 1063 Current 'yocto-bsp' commands are:
1066 create Create a new Yocto BSP 1064 create Create a new Yocto BSP
1067 list List available values for options and BSP properties 1065 list List available values for options and BSP properties
1068 1066
1069 See 'yocto-bsp help COMMAND' for more information on a specific command. 1067 See 'yocto-bsp help COMMAND' for more information on a specific command.
1070 1068
1071 1069
1072 Options: 1070 Options:
1073 --version show program's version number and exit 1071 --version show program's version number and exit
1074 -h, --help show this help message and exit 1072 -h, --help show this help message and exit
1075 -D, --debug output debug information 1073 -D, --debug output debug information
1076 </literallayout> 1074 </literallayout>
1077 </para> 1075 </para>
1078 1076
@@ -1082,19 +1080,20 @@
1082 <literallayout class='monospaced'> 1080 <literallayout class='monospaced'>
1083 $ yocto-bsp create 1081 $ yocto-bsp create
1084 1082
1085 Usage: 1083 Usage:
1084
1085 Create a new Yocto BSP
1086 1086
1087 Create a new Yocto BSP 1087 usage: yocto-bsp create &lt;bsp-name&gt; &lt;karch&gt; [-o &lt;DIRNAME&gt; | --outdir &lt;DIRNAME&gt;]
1088 usage: yocto-bsp create &lt;bsp-name&gt; &lt;karch&gt; [-o &lt;DIRNAME&gt; | --outdir &lt;DIRNAME&gt;]
1089 [-i &lt;JSON PROPERTY FILE&gt; | --infile &lt;JSON PROPERTY_FILE&gt;] 1088 [-i &lt;JSON PROPERTY FILE&gt; | --infile &lt;JSON PROPERTY_FILE&gt;]
1090 1089
1091 This command creates a Yocto BSP based on the specified parameters. 1090 This command creates a Yocto BSP based on the specified parameters.
1092 The new BSP will be a new BSP layer contained by default within 1091 The new BSP will be a new Yocto BSP layer contained by default within
1093 the top-level directory specified as 'meta-bsp-name'. The -o option 1092 the top-level directory specified as 'meta-bsp-name'. The -o option
1094 can be used to place the BSP layer in a directory with a different 1093 can be used to place the BSP layer in a directory with a different
1095 name and location. 1094 name and location.
1096 1095
1097 ... 1096 ...
1098 </literallayout> 1097 </literallayout>
1099 </para> 1098 </para>
1100 1099
@@ -1105,33 +1104,26 @@
1105 $ yocto-bsp help create 1104 $ yocto-bsp help create
1106 1105
1107 NAME 1106 NAME
1108 yocto-bsp create - Create a new Yocto BSP 1107 yocto-bsp create - Create a new Yocto BSP
1109 1108
1110 SYNOPSIS 1109 SYNOPSIS
1111 yocto-bsp create &lt;bsp-name&gt; &lt;karch&gt; [-o &lt;DIRNAME&gt; | --outdir &lt;DIRNAME&gt;] 1110 yocto-bsp create &lt;bsp-name&gt; &lt;karch&gt; [-o &lt;DIRNAME&gt; | --outdir &lt;DIRNAME&gt;]
1112 [-i &lt;JSON PROPERTY FILE&gt; | --infile &lt;JSON PROPERTY_FILE&gt;] 1111 [-i &lt;JSON PROPERTY FILE&gt; | --infile &lt;JSON PROPERTY_FILE&gt;]
1113 1112
1114 DESCRIPTION 1113 DESCRIPTION
1115 This command creates a Yocto BSP based on the specified 1114 This command creates a Yocto BSP based on the specified
1116 parameters. The new BSP will be a new Yocto BSP layer contained 1115 parameters. The new BSP will be a new Yocto BSP layer contained
1117 by default within the top-level directory specified as 1116 by default within the top-level directory specified as
1118 'meta-bsp-name'. The -o option can be used to place the BSP layer 1117 'meta-bsp-name'. The -o option can be used to place the BSP layer
1119 in a directory with a different name and location. 1118 in a directory with a different name and location.
1120 1119
1121 The value of the 'karch' parameter determines the set of files 1120 The value of the 'karch' parameter determines the set of files
1122 that will be generated for the BSP, along with the specific set of 1121 that will be generated for the BSP, along with the specific set of
1123 'properties' that will be used to fill out the BSP-specific 1122 'properties' that will be used to fill out the BSP-specific
1124 portions of the BSP. 1123 portions of the BSP. The possible values for the 'karch' paramter
1125 1124 can be listed via 'yocto-bsp list karch'.
1126 ... 1125
1127 1126 ...
1128 NOTE: Once created, you should add your new layer to your
1129 bblayers.conf file in order for it to be subsequently seen and
1130 modified by the yocto-kernel tool.
1131
1132 NOTE for x86- and x86_64-based BSPs: The generated BSP assumes the
1133 presence of the of the meta-intel layer, so you should also have a
1134 meta-intel layer present and added to your bblayers.conf as well.
1135 </literallayout> 1127 </literallayout>
1136 </para> 1128 </para>
1137 1129
@@ -1158,33 +1150,33 @@
1158 For the current set of BSPs, the script prompts you for various important 1150 For the current set of BSPs, the script prompts you for various important
1159 parameters such as: 1151 parameters such as:
1160 <itemizedlist> 1152 <itemizedlist>
1161 <listitem><para>which kernel to use</para></listitem> 1153 <listitem><para>The kernel to use</para></listitem>
1162 <listitem><para>which branch of that kernel to use (or re-use)</para></listitem> 1154 <listitem><para>The branch of that kernel to use (or re-use)</para></listitem>
1163 <listitem><para>whether or not to use X, and if so, which drivers to use</para></listitem> 1155 <listitem><para>Whether or not to use X, and if so, which drivers to use</para></listitem>
1164 <listitem><para>whether to turn on SMP</para></listitem> 1156 <listitem><para>Whether to turn on SMP</para></listitem>
1165 <listitem><para>whether the BSP has a keyboard</para></listitem> 1157 <listitem><para>Whether the BSP has a keyboard</para></listitem>
1166 <listitem><para>whether the BSP has a touchscreen</para></listitem> 1158 <listitem><para>Whether the BSP has a touchscreen</para></listitem>
1167 <listitem><para>any remaining configurable items associated with the BSP</para></listitem> 1159 <listitem><para>Remaining configurable items associated with the BSP</para></listitem>
1168 </itemizedlist> 1160 </itemizedlist>
1169 </para> 1161 </para>
1170 1162
1171 <para> 1163 <para>
1172 You use the <filename>yocto-bsp create</filename> sub-command to create 1164 You use the <filename>yocto-bsp create</filename> sub-command to create
1173 a new BSP layer. 1165 a new BSP layer.
1174 This command requires you to specify a particular architecture on which to 1166 This command requires you to specify a particular kernel architecture
1175 base the BSP. 1167 (<filename>karch</filename>) on which to base the BSP.
1176 Assuming you have sourced the environment, you can use the 1168 Assuming you have sourced the environment, you can use the
1177 <filename>yocto-bsp list karch</filename> sub-command to list the 1169 <filename>yocto-bsp list karch</filename> sub-command to list the
1178 architectures available for BSP creation as follows: 1170 architectures available for BSP creation as follows:
1179 <literallayout class='monospaced'> 1171 <literallayout class='monospaced'>
1180 $ yocto-bsp list karch 1172 $ yocto-bsp list karch
1181 Architectures available: 1173 Architectures available:
1182 arm 1174 qemu
1183 powerpc 1175 x86_64
1184 i386 1176 i386
1177 powerpc
1178 arm
1185 mips 1179 mips
1186 x86_64
1187 qemu
1188 </literallayout> 1180 </literallayout>
1189 </para> 1181 </para>
1190 1182
@@ -1205,53 +1197,46 @@
1205 the prompts appear in brackets. 1197 the prompts appear in brackets.
1206 Pressing enter without supplying anything on the command line or pressing enter 1198 Pressing enter without supplying anything on the command line or pressing enter
1207 and providing an invalid response causes the script to accept the default value. 1199 and providing an invalid response causes the script to accept the default value.
1200 Once the script completes, the new <filename>meta-myarm</filename> BSP layer
1201 is created in the current working directory.
1202 This example assumes you have source the &OE_INIT_FILE; and are currently
1203 in the top-level folder of the
1204 <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>.
1208 </para> 1205 </para>
1209 1206
1210 <para> 1207 <para>
1211 Following is the complete example: 1208 Following is the complete example:
1212 <literallayout class='monospaced'> 1209 <literallayout class='monospaced'>
1213 $ yocto-bsp create myarm qemu 1210 $ yocto-bsp create myarm qemu
1214 Which qemu architecture would you like to use? [default: x86] 1211 Which qemu architecture would you like to use? [default: i386]
1215 1) common 32-bit x86 1212 1) i386 (32-bit)
1216 2) common 64-bit x86 1213 2) x86_64 (64-bit)
1217 3) common 32-bit ARM 1214 3) ARM (32-bit)
1218 4) common 32-bit PowerPC 1215 4) PowerPC (32-bit)
1219 5) common 32-bit MIPS 1216 5) MIPS (32-bit)
1220 3 1217 3
1221 Would you like to use the default (3.2) kernel? (Y/n) 1218 Would you like to use the default (3.4) kernel? (y/n) [default: y]
1222 Do you need a new machine branch for this BSP (the alternative is to re-use an existing branch)? [Y/n] 1219 Do you need a new machine branch for this BSP (the alternative is to re-use an existing branch)? [y/n] [default: y]
1223 Getting branches from remote repo git://git.yoctoproject.org/linux-yocto-3.2... 1220 Getting branches from remote repo git://git.yoctoproject.org/linux-yocto-3.4.git...
1224 Please choose a machine branch to base this BSP on => [default: standard/default/common-pc] 1221 Please choose a machine branch to base your new BSP branch on: [default: standard/base]
1225 1) base 1222 1) standard/arm-versatile-926ejs
1226 2) standard/base 1223 2) standard/base
1227 3) standard/default/arm-versatile-926ejs 1224 3) standard/beagleboard
1228 4) standard/default/base 1225 4) standard/cedartrail
1229 5) standard/default/beagleboard 1226 5) standard/crownbay
1230 6) standard/default/cedartrailbsp (copy).xml 1227 6) standard/emenlow
1231 7) standard/default/common-pc-64/base 1228 7) standard/fishriver
1232 8) standard/default/common-pc-64/jasperforest 1229 8) standard/fri2
1233 9) standard/default/common-pc-64/romley 1230 9) standard/fsl-mpc8315e-rdb
1234 10) standard/default/common-pc-64/sugarbay 1231 10) standard/mti-malta32
1235 11) standard/default/common-pc/atom-pc 1232 11) standard/mti-malta64
1236 12) standard/default/common-pc/base 1233 12) standard/qemuppc
1237 13) standard/default/crownbay 1234 13) standard/routerstationpro
1238 14) standard/default/emenlow 1235 14) standard/sys940x
1239 15) standard/default/fishriver 1236 1
1240 16) standard/default/fri2 1237 Would you like SMP support? (y/n) [default: y]
1241 17) standard/default/fsl-mpc8315e-rdb 1238 Does your BSP have a touchscreen? (y/n) [default: n]
1242 18) standard/default/mti-malta32-be 1239 Does your BSP have a keyboard? (y/n) [default: y]
1243 19) standard/default/mti-malta32-le
1244 20) standard/default/preempt-rt
1245 21) standard/default/qemu-ppc32
1246 22) standard/default/routerstationpro
1247 23) standard/preempt-rt/base
1248 24) standard/preempt-rt/qemu-ppc32
1249 25) standard/preempt-rt/routerstationpro
1250 26) standard/tiny
1251 3
1252 Do you need SMP support? (Y/n)
1253 Does your BSP have a touchscreen? (y/N)
1254 Does your BSP have a keyboard? (Y/n)
1255 New qemu BSP created in meta-myarm 1240 New qemu BSP created in meta-myarm
1256 </literallayout> 1241 </literallayout>
1257 Let's take a closer look at the example now: 1242 Let's take a closer look at the example now:
@@ -1261,10 +1246,10 @@
1261 In the example, we use the <filename>arm</filename> architecture. 1246 In the example, we use the <filename>arm</filename> architecture.
1262 </para></listitem> 1247 </para></listitem>
1263 <listitem><para>The script then prompts you for the kernel. 1248 <listitem><para>The script then prompts you for the kernel.
1264 The default kernel is 3.2 and is acceptable. 1249 The default 3.4 kernel is acceptable.
1265 So, the example accepts the default. 1250 So, the example accepts the default.
1266 If you enter 'n', the script prompts you to further enter the kernel 1251 If you enter 'n', the script prompts you to further enter the kernel
1267 you do want to use (e.g. 3.0, 3.2_preempt-rt, etc.).</para></listitem> 1252 you do want to use (e.g. 3.0, 3.2_preempt-rt, and so forth.).</para></listitem>
1268 <listitem><para>Next, the script asks whether you would like to have a new 1253 <listitem><para>Next, the script asks whether you would like to have a new
1269 branch created especially for your BSP in the local 1254 branch created especially for your BSP in the local
1270 <ulink url='&YOCTO_DOCS_DEV_URL;#local-kernel-files'>Linux Yocto Kernel</ulink> 1255 <ulink url='&YOCTO_DOCS_DEV_URL;#local-kernel-files'>Linux Yocto Kernel</ulink>
@@ -1277,25 +1262,20 @@
1277 The reason a new branch is the default is that typically 1262 The reason a new branch is the default is that typically
1278 new BSPs do require BSP-specific patches. 1263 new BSPs do require BSP-specific patches.
1279 The tool thus assumes that most of time a new branch is required. 1264 The tool thus assumes that most of time a new branch is required.
1280 <note>In the current implementation, creation or re-use of a branch does 1265 </para></listitem>
1281 not actually matter. 1266 <listitem><para>Regardless of which choice you make in the previous step,
1282 The reason is because the generated BSPs assume that patches and
1283 configurations live in recipe-space, which is something that can be done
1284 with or without a dedicated branch.
1285 Generated BSPs, however, are different.
1286 This difference becomes significant once the tool's 'publish' functionality
1287 is implemented.</note></para></listitem>
1288 <listitem><para>Regardless of which choice is made in the previous step,
1289 you are now given the opportunity to select a particular machine branch on 1267 you are now given the opportunity to select a particular machine branch on
1290 which to base your new BSP-specific machine branch on 1268 which to base your new BSP-specific machine branch
1291 (or to re-use if you had elected to not create a new branch). 1269 (or to re-use if you had elected to not create a new branch).
1292 Because this example is generating an <filename>arm</filename> BSP, the example 1270 Because this example is generating an <filename>arm</filename> BSP, the example
1293 uses <filename>#3</filename> at the prompt, which selects the arm-versatile branch. 1271 uses <filename>#1</filename> at the prompt, which selects the arm-versatile branch.
1294 </para></listitem> 1272 </para></listitem>
1295 <listitem><para>The remainder of the prompts are routine. 1273 <listitem><para>The remainder of the prompts are routine.
1296 Defaults are accepted for each.</para></listitem> 1274 Defaults are accepted for each.</para></listitem>
1297 <listitem><para>By default, the script creates the new BSP Layer in the 1275 <listitem><para>By default, the script creates the new BSP Layer in the
1298 <ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>build directory</ulink>. 1276 current working directory of the
1277 <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>,
1278 which is <filename>poky</filename> in this case.
1299 </para></listitem> 1279 </para></listitem>
1300 </orderedlist> 1280 </orderedlist>
1301 </para> 1281 </para>
@@ -1308,6 +1288,7 @@
1308 BBLAYERS = " \ 1288 BBLAYERS = " \
1309 /usr/local/src/yocto/meta \ 1289 /usr/local/src/yocto/meta \
1310 /usr/local/src/yocto/meta-yocto \ 1290 /usr/local/src/yocto/meta-yocto \
1291 /usr/local/src/yocto/meta-yocto-bsp \
1311 /usr/local/src/yocto/meta-myarm \ 1292 /usr/local/src/yocto/meta-myarm \
1312 " 1293 "
1313 </literallayout> 1294 </literallayout>
@@ -1339,21 +1320,28 @@
1339 is to use the <filename>yocto-kernel</filename> built-in help as follows: 1320 is to use the <filename>yocto-kernel</filename> built-in help as follows:
1340 <literallayout class='monospaced'> 1321 <literallayout class='monospaced'>
1341 $ yocto-kernel 1322 $ yocto-kernel
1342 Usage: 1323 Usage:
1343 1324
1344 Modify and list Yocto BSP kernel config items and patches. 1325 Modify and list Yocto BSP kernel config items and patches.
1345 1326
1346 usage: yocto-kernel [--version] [--help] COMMAND [ARGS] 1327 usage: yocto-kernel [--version] [--help] COMMAND [ARGS]
1347 1328
1348 The most commonly used 'yocto-kernel' commands are: 1329 Current 'yocto-kernel' commands are:
1349 config list List the modifiable set of bare kernel config options for a BSP 1330 config list List the modifiable set of bare kernel config options for a BSP
1350 config add Add or modify bare kernel config options for a BSP 1331 config add Add or modify bare kernel config options for a BSP
1351 config rm Remove bare kernel config options from a BSP 1332 config rm Remove bare kernel config options from a BSP
1352 patch list List the patches associated with a BSP 1333 patch list List the patches associated with a BSP
1353 patch add Patch the Yocto kernel for a BSP 1334 patch add Patch the Yocto kernel for a BSP
1354 patch rm Remove patches from a BSP 1335 patch rm Remove patches from a BSP
1355 1336
1356 See 'yocto-kernel help COMMAND' for more information on a specific command. 1337 See 'yocto-kernel help COMMAND' for more information on a specific command.
1338
1339
1340
1341 Options:
1342 --version show program's version number and exit
1343 -h, --help show this help message and exit
1344 -D, --debug output debug information
1357 </literallayout> 1345 </literallayout>
1358 </para> 1346 </para>
1359 1347