diff options
author | Scott Rifenbark <scott.m.rifenbark@intel.com> | 2013-03-21 06:47:31 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2013-03-22 17:08:43 +0000 |
commit | 33f2c1a0aef9dd144781296de7dc92e59e190ca2 (patch) | |
tree | 2b6d0f2ae38ac76ff36099da39f064bb7494f86c /documentation/dev-manual/dev-manual-common-tasks.xml | |
parent | 9114dfcbe8ff625257a7cf98d18e0e53ec9cb68a (diff) | |
download | poky-33f2c1a0aef9dd144781296de7dc92e59e190ca2.tar.gz |
dev-manual: Reword for when to use BBMASK.
Changed the wording on when a user would consider using
the BBMASK variable. It is more suited for excluding things
that cause problems rather than for speeding up build time.
Reporte-by: Paul Eggleton <paul.eggleton@linux.com>
(From yocto-docs rev: 993d7c953a37747297238cd9af53a1f00e737df9)
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'documentation/dev-manual/dev-manual-common-tasks.xml')
-rw-r--r-- | documentation/dev-manual/dev-manual-common-tasks.xml | 172 |
1 files changed, 87 insertions, 85 deletions
diff --git a/documentation/dev-manual/dev-manual-common-tasks.xml b/documentation/dev-manual/dev-manual-common-tasks.xml index a6aa8fafbe..1abc91431d 100644 --- a/documentation/dev-manual/dev-manual-common-tasks.xml +++ b/documentation/dev-manual/dev-manual-common-tasks.xml | |||
@@ -2132,18 +2132,18 @@ | |||
2132 | 2132 | ||
2133 | <para> | 2133 | <para> |
2134 | Very small distributions have some significant advantages such | 2134 | Very small distributions have some significant advantages such |
2135 | as requiring less on-die memory (cheaper), better performance | 2135 | as requiring less on-die memory (cheaper), better performance |
2136 | through efficient cache usage, lower power requirements due to less | 2136 | through efficient cache usage, lower power requirements due to less |
2137 | memory, faster boot times, and reduced development overhead. | 2137 | memory, faster boot times, and reduced development overhead. |
2138 | Some real-world examples where a very small distribution gives | 2138 | Some real-world examples where a very small distribution gives |
2139 | you distinct advantages are digital cameras, medical devices, | 2139 | you distinct advantages are digital cameras, medical devices, |
2140 | small headless systems, and partitioned flash. | 2140 | small headless systems, and partitioned flash. |
2141 | </para> | 2141 | </para> |
2142 | 2142 | ||
2143 | <para> | 2143 | <para> |
2144 | This section presents information that shows you how you can | 2144 | This section presents information that shows you how you can |
2145 | trim your distribution to even smaller sizes than the | 2145 | trim your distribution to even smaller sizes than the |
2146 | 8 Mbytes <filename>poky-tiny</filename> distribution that | 2146 | 8 Mbytes <filename>poky-tiny</filename> distribution that |
2147 | can be built out-of-the-box using the Yocto Project. | 2147 | can be built out-of-the-box using the Yocto Project. |
2148 | </para> | 2148 | </para> |
2149 | 2149 | ||
@@ -2151,18 +2151,18 @@ | |||
2151 | <title>Overview</title> | 2151 | <title>Overview</title> |
2152 | 2152 | ||
2153 | <para> | 2153 | <para> |
2154 | The following list presents the overall steps you need to | 2154 | The following list presents the overall steps you need to |
2155 | consider and perform to create very small systems that | 2155 | consider and perform to create very small systems that |
2156 | have a kernel and root filesystem under 4 Mbytes, boot to the | 2156 | have a kernel and root filesystem under 4 Mbytes, boot to the |
2157 | shell in under two seconds, maintain <filename>ipv4</filename> | 2157 | shell in under two seconds, maintain <filename>ipv4</filename> |
2158 | functionality, and avoid an initial RAM disk: | 2158 | functionality, and avoid an initial RAM disk: |
2159 | <itemizedlist> | 2159 | <itemizedlist> |
2160 | <listitem><para>Determine your goals and guiding | 2160 | <listitem><para>Determine your goals and guiding |
2161 | principles.</para></listitem> | 2161 | principles.</para></listitem> |
2162 | <listitem><para>Understand what gives your image size. | 2162 | <listitem><para>Understand what gives your image size. |
2163 | </para></listitem> | 2163 | </para></listitem> |
2164 | <listitem><para>Reduce the size of the root filesystem. | 2164 | <listitem><para>Reduce the size of the root filesystem. |
2165 | </para></listitem> | 2165 | </para></listitem> |
2166 | <listitem><para>Reduce the size of the kernel. | 2166 | <listitem><para>Reduce the size of the kernel. |
2167 | </para></listitem> | 2167 | </para></listitem> |
2168 | <listitem><para>Iterate on the process.</para></listitem> | 2168 | <listitem><para>Iterate on the process.</para></listitem> |
@@ -2174,26 +2174,26 @@ | |||
2174 | <title>Goals and Guiding Principles</title> | 2174 | <title>Goals and Guiding Principles</title> |
2175 | 2175 | ||
2176 | <para> | 2176 | <para> |
2177 | Before you can reach your destination, you need to know | 2177 | Before you can reach your destination, you need to know |
2178 | where you are going. | 2178 | where you are going. |
2179 | Here is an example list that you can use as a guide when | 2179 | Here is an example list that you can use as a guide when |
2180 | creating very small distributions: | 2180 | creating very small distributions: |
2181 | <itemizedlist> | 2181 | <itemizedlist> |
2182 | <listitem><para>Determine how much space you need | 2182 | <listitem><para>Determine how much space you need |
2183 | (e.g. a kernel that is 1 Mbyte or less and | 2183 | (e.g. a kernel that is 1 Mbyte or less and |
2184 | a root filesystem that is 3 Mbytes or less). | 2184 | a root filesystem that is 3 Mbytes or less). |
2185 | </para></listitem> | 2185 | </para></listitem> |
2186 | <listitem><para>Find the areas that are currently | 2186 | <listitem><para>Find the areas that are currently |
2187 | taking 90% of the space and concentrate on reducing | 2187 | taking 90% of the space and concentrate on reducing |
2188 | those areas. | 2188 | those areas. |
2189 | </para></listitem> | 2189 | </para></listitem> |
2190 | <listitem><para>Do not create any difficult "hacks" | 2190 | <listitem><para>Do not create any difficult "hacks" |
2191 | to achieve your goals.</para></listitem> | 2191 | to achieve your goals.</para></listitem> |
2192 | <listitem><para>Leverage off the device-specific | 2192 | <listitem><para>Leverage off the device-specific |
2193 | options.</para></listitem> | 2193 | options.</para></listitem> |
2194 | <listitem><para>Work in a separate layer so that you | 2194 | <listitem><para>Work in a separate layer so that you |
2195 | keep changes isolated. | 2195 | keep changes isolated. |
2196 | For information on how to create layers, see | 2196 | For information on how to create layers, see |
2197 | the "<link linkend='understanding-and-creating-layers'>Understanding and Creating Layers</link>" section. | 2197 | the "<link linkend='understanding-and-creating-layers'>Understanding and Creating Layers</link>" section. |
2198 | </para></listitem> | 2198 | </para></listitem> |
2199 | </itemizedlist> | 2199 | </itemizedlist> |
@@ -2204,9 +2204,9 @@ | |||
2204 | <title>Understand What Gives Your Image Size</title> | 2204 | <title>Understand What Gives Your Image Size</title> |
2205 | 2205 | ||
2206 | <para> | 2206 | <para> |
2207 | You will need to have an image from which you can | 2207 | You will need to have an image from which you can |
2208 | work. | 2208 | work. |
2209 | The Yocto Project ships with the ability to create a | 2209 | The Yocto Project ships with the ability to create a |
2210 | <filename>poky-tiny</filename> distribution. | 2210 | <filename>poky-tiny</filename> distribution. |
2211 | This distribution consists of a small, sub-8 Mbyte kernel | 2211 | This distribution consists of a small, sub-8 Mbyte kernel |
2212 | that works with two shipped Board Support Packages (BSPs): | 2212 | that works with two shipped Board Support Packages (BSPs): |
@@ -2218,16 +2218,16 @@ | |||
2218 | "<link linkend='creating-your-own-distribution'>Creating Your Own Distribution</link>" | 2218 | "<link linkend='creating-your-own-distribution'>Creating Your Own Distribution</link>" |
2219 | section for information. | 2219 | section for information. |
2220 | </para> | 2220 | </para> |
2221 | 2221 | ||
2222 | <para> | 2222 | <para> |
2223 | Understanding some memory concepts will help you reduce the | 2223 | Understanding some memory concepts will help you reduce the |
2224 | system size. | 2224 | system size. |
2225 | Memory consists of static, dynamic, and temporary memory. | 2225 | Memory consists of static, dynamic, and temporary memory. |
2226 | Static memory is the TEXT (the code), DATA (initialized data | 2226 | Static memory is the TEXT (the code), DATA (initialized data |
2227 | in the code), and BSS (uninitialized data) sections. | 2227 | in the code), and BSS (uninitialized data) sections. |
2228 | Dynamic memory contains memory that is allocate at runtime, | 2228 | Dynamic memory contains memory that is allocate at runtime, |
2229 | stacks, hash tables, and so forth. | 2229 | stacks, hash tables, and so forth. |
2230 | Temporary memory is decompressed from the expanded kernel | 2230 | Temporary memory is decompressed from the expanded kernel |
2231 | after boot. | 2231 | after boot. |
2232 | Temporary memory also includes the <filename>__init__</filename> | 2232 | Temporary memory also includes the <filename>__init__</filename> |
2233 | functions. | 2233 | functions. |
@@ -2235,8 +2235,8 @@ | |||
2235 | 2235 | ||
2236 | <para> | 2236 | <para> |
2237 | To help you see where you currently are with kernel and root | 2237 | To help you see where you currently are with kernel and root |
2238 | filesystem sizes, you can use two tools found in the | 2238 | filesystem sizes, you can use two tools found in the |
2239 | <link linkend='source-directory'>Source Directory</link> in | 2239 | <link linkend='source-directory'>Source Directory</link> in |
2240 | the <filename>scripts</filename> directory: | 2240 | the <filename>scripts</filename> directory: |
2241 | <itemizedlist> | 2241 | <itemizedlist> |
2242 | <listitem><para><filename>ksize.py</filename>: Reports | 2242 | <listitem><para><filename>ksize.py</filename>: Reports |
@@ -2244,54 +2244,54 @@ | |||
2244 | <listitem><para><filename>dirsize.py</filename>: Reports | 2244 | <listitem><para><filename>dirsize.py</filename>: Reports |
2245 | the size of the root filesystem.</para></listitem> | 2245 | the size of the root filesystem.</para></listitem> |
2246 | </itemizedlist> | 2246 | </itemizedlist> |
2247 | This next tool and command helps you organize configuration | 2247 | This next tool and command helps you organize configuration |
2248 | fragments and view file dependencies in a human-readable form: | 2248 | fragments and view file dependencies in a human-readable form: |
2249 | <itemizedlist> | 2249 | <itemizedlist> |
2250 | <listitem><para><filename>merge_config.sh</filename>: | 2250 | <listitem><para><filename>merge_config.sh</filename>: |
2251 | Helps you manage configuration files and fragments | 2251 | Helps you manage configuration files and fragments |
2252 | within the kernel. | 2252 | within the kernel. |
2253 | With this tool you can merge individual configuration | 2253 | With this tool you can merge individual configuration |
2254 | fragments together. | 2254 | fragments together. |
2255 | The tool allows you to make overrides and warns you | 2255 | The tool allows you to make overrides and warns you |
2256 | of any missing configuration options. | 2256 | of any missing configuration options. |
2257 | The tool is ideal for allowing you to iterate on | 2257 | The tool is ideal for allowing you to iterate on |
2258 | configurations, create minimal configurations, and | 2258 | configurations, create minimal configurations, and |
2259 | create a configuration files for different machines | 2259 | create a configuration files for different machines |
2260 | without having to duplicate your process.</para> | 2260 | without having to duplicate your process.</para> |
2261 | <para>The <filename>merge_config.sh</filename> script is | 2261 | <para>The <filename>merge_config.sh</filename> script is |
2262 | part of the Linux Yocto kernel Git repository in the | 2262 | part of the Linux Yocto kernel Git repository in the |
2263 | <filename>scripts/kconfig</filename> directory.</para> | 2263 | <filename>scripts/kconfig</filename> directory.</para> |
2264 | <para>For more information on configuration fragments, | 2264 | <para>For more information on configuration fragments, |
2265 | see the | 2265 | see the |
2266 | "<ulink url='&YOCTO_DOCS_KERNEL_DEV_URL;#generating-configuration-files'>Generating Configuration Files</ulink>" | 2266 | "<ulink url='&YOCTO_DOCS_KERNEL_DEV_URL;#generating-configuration-files'>Generating Configuration Files</ulink>" |
2267 | section of the Yocto Project Linux Kernel Development | 2267 | section of the Yocto Project Linux Kernel Development |
2268 | Manual and the "<link linkend='creating-config-fragments'>Creating Configuration Fragments</link>" | 2268 | Manual and the "<link linkend='creating-config-fragments'>Creating Configuration Fragments</link>" |
2269 | section, which is in this manual.</para></listitem> | 2269 | section, which is in this manual.</para></listitem> |
2270 | <listitem><para><filename>bitbake -u depexp -g core-image-*</filename>: | 2270 | <listitem><para><filename>bitbake -u depexp -g core-image-*</filename>: |
2271 | Using the BitBake command with these options brings up | 2271 | Using the BitBake command with these options brings up |
2272 | a Dependency Explorer from which you can view file | 2272 | a Dependency Explorer from which you can view file |
2273 | dependencies. | 2273 | dependencies. |
2274 | Understanding these dependencies allows you to make | 2274 | Understanding these dependencies allows you to make |
2275 | sane decisions when cutting out various pieces of the | 2275 | sane decisions when cutting out various pieces of the |
2276 | kernel and root filesystem.</para></listitem> | 2276 | kernel and root filesystem.</para></listitem> |
2277 | </itemizedlist> | 2277 | </itemizedlist> |
2278 | </para> | 2278 | </para> |
2279 | </section> | 2279 | </section> |
2280 | 2280 | ||
2281 | <section id='trim-the-root-filesystem'> | 2281 | <section id='trim-the-root-filesystem'> |
2282 | <title>Trim the Root Filesystem</title> | 2282 | <title>Trim the Root Filesystem</title> |
2283 | 2283 | ||
2284 | <para> | 2284 | <para> |
2285 | Root filesystem is made up of packages for booting, libraries, | 2285 | Root filesystem is made up of packages for booting, libraries, |
2286 | and applications. | 2286 | and applications. |
2287 | To change things you can configure how the packaging happens, | 2287 | To change things you can configure how the packaging happens, |
2288 | which changes the way you build them. | 2288 | which changes the way you build them. |
2289 | You can also tweak the filesystem itself or select a different | 2289 | You can also tweak the filesystem itself or select a different |
2290 | file system. | 2290 | file system. |
2291 | </para> | 2291 | </para> |
2292 | 2292 | ||
2293 | <para> | 2293 | <para> |
2294 | First, check out what is hogging your file system running the | 2294 | First, check out what is hogging your file system running the |
2295 | <filename>dirsize.sh</filename> script from your root directory: | 2295 | <filename>dirsize.sh</filename> script from your root directory: |
2296 | <literallayout class='monospaced'> | 2296 | <literallayout class='monospaced'> |
2297 | $ cd <root-directory-of-image> | 2297 | $ cd <root-directory-of-image> |
@@ -2299,7 +2299,7 @@ | |||
2299 | $ cat dirsize-100k.log | 2299 | $ cat dirsize-100k.log |
2300 | </literallayout> | 2300 | </literallayout> |
2301 | You can apply a filter to the script to ignore files under | 2301 | You can apply a filter to the script to ignore files under |
2302 | a certain size. | 2302 | a certain size. |
2303 | This example filters out anything below 100 Kbytes. | 2303 | This example filters out anything below 100 Kbytes. |
2304 | When you examine your log file, you can focus on areas of the | 2304 | When you examine your log file, you can focus on areas of the |
2305 | root filesystem that take up large amounts of memory. | 2305 | root filesystem that take up large amounts of memory. |
@@ -2307,20 +2307,20 @@ | |||
2307 | 2307 | ||
2308 | <para> | 2308 | <para> |
2309 | You need to be sure that what you eliminate does not cripple | 2309 | You need to be sure that what you eliminate does not cripple |
2310 | the functionality you need. | 2310 | the functionality you need. |
2311 | One way to see how packages relate to each other is by using | 2311 | One way to see how packages relate to each other is by using |
2312 | the Dependency Explorer UI with the BitBake command: | 2312 | the Dependency Explorer UI with the BitBake command: |
2313 | <literallayout class='monospaced'> | 2313 | <literallayout class='monospaced'> |
2314 | $ cd <image-directory> | 2314 | $ cd <image-directory> |
2315 | $ bitbake -u depexp -g <image> | 2315 | $ bitbake -u depexp -g <image> |
2316 | </literallayout> | 2316 | </literallayout> |
2317 | Use the interface to select potential packages you wish to | 2317 | Use the interface to select potential packages you wish to |
2318 | eliminate and see their dependency relationships. | 2318 | eliminate and see their dependency relationships. |
2319 | </para> | 2319 | </para> |
2320 | 2320 | ||
2321 | <para> | 2321 | <para> |
2322 | When deciding how to reduce the size, get rid of packages that | 2322 | When deciding how to reduce the size, get rid of packages that |
2323 | result in minimal impact on the feature set. | 2323 | result in minimal impact on the feature set. |
2324 | For example, you might not need a VGA display. | 2324 | For example, you might not need a VGA display. |
2325 | Or, you might be able to get by with <filename>devtmpfs</filename> | 2325 | Or, you might be able to get by with <filename>devtmpfs</filename> |
2326 | and <filename>mdev</filename>. | 2326 | and <filename>mdev</filename>. |
@@ -2328,8 +2328,8 @@ | |||
2328 | 2328 | ||
2329 | <para> | 2329 | <para> |
2330 | Use the <filename>local.conf</filename> file to make changes. | 2330 | Use the <filename>local.conf</filename> file to make changes. |
2331 | For example, to eliminate <filename>udev</filename> and | 2331 | For example, to eliminate <filename>udev</filename> and |
2332 | <filename>glib</filename>, set the following in the | 2332 | <filename>glib</filename>, set the following in the |
2333 | local configuration file: | 2333 | local configuration file: |
2334 | <literallayout class='monospaced'> | 2334 | <literallayout class='monospaced'> |
2335 | VIRTUAL-RUNTIME_dev_manager = "" | 2335 | VIRTUAL-RUNTIME_dev_manager = "" |
@@ -2337,21 +2337,21 @@ | |||
2337 | </para> | 2337 | </para> |
2338 | 2338 | ||
2339 | <para> | 2339 | <para> |
2340 | Some other examples of where you can look to eliminate size | 2340 | Some other examples of where you can look to eliminate size |
2341 | from the root filesystem are using <filename>ext2</filename> | 2341 | from the root filesystem are using <filename>ext2</filename> |
2342 | rather than <filename>ext3</filename>, which requires a | 2342 | rather than <filename>ext3</filename>, which requires a |
2343 | 1 Mbyte journal. | 2343 | 1 Mbyte journal. |
2344 | If you are okay with running read-only you don't need this | 2344 | If you are okay with running read-only you don't need this |
2345 | journal. | 2345 | journal. |
2346 | </para> | 2346 | </para> |
2347 | 2347 | ||
2348 | <note> | 2348 | <note> |
2349 | After each round of elimination, you need to rebuild your | 2349 | After each round of elimination, you need to rebuild your |
2350 | system and then use the tools to see the effects of your | 2350 | system and then use the tools to see the effects of your |
2351 | reductions. | 2351 | reductions. |
2352 | </note> | 2352 | </note> |
2353 | 2353 | ||
2354 | 2354 | ||
2355 | </section> | 2355 | </section> |
2356 | 2356 | ||
2357 | <section id='trim-the-kernel'> | 2357 | <section id='trim-the-kernel'> |
@@ -2370,51 +2370,51 @@ | |||
2370 | 2370 | ||
2371 | <para> | 2371 | <para> |
2372 | Run the <filename>ksize.py</filename> script from the top-level | 2372 | Run the <filename>ksize.py</filename> script from the top-level |
2373 | Linux build directory to get an idea of what is making up | 2373 | Linux build directory to get an idea of what is making up |
2374 | the kernel: | 2374 | the kernel: |
2375 | <literallayout class='monospaced'> | 2375 | <literallayout class='monospaced'> |
2376 | $ cd <top-level-linux-build-directory> | 2376 | $ cd <top-level-linux-build-directory> |
2377 | $ ksize.py > ksize.log | 2377 | $ ksize.py > ksize.log |
2378 | $ cat ksize.log | 2378 | $ cat ksize.log |
2379 | </literallayout> | 2379 | </literallayout> |
2380 | When you examine the log, you will see how much space is | 2380 | When you examine the log, you will see how much space is |
2381 | taken up with the built-in <filename>.o</filename> files for | 2381 | taken up with the built-in <filename>.o</filename> files for |
2382 | drivers, networking, core kernel files, filesystem, sound, | 2382 | drivers, networking, core kernel files, filesystem, sound, |
2383 | and so forth. | 2383 | and so forth. |
2384 | Look to reduce the areas that are large and taking up around | 2384 | Look to reduce the areas that are large and taking up around |
2385 | the "90% rule". | 2385 | the "90% rule". |
2386 | </para> | 2386 | </para> |
2387 | 2387 | ||
2388 | <para> | 2388 | <para> |
2389 | To examine, or drill down, into any particular area, use the | 2389 | To examine, or drill down, into any particular area, use the |
2390 | <filename>-d</filename> option with the script: | 2390 | <filename>-d</filename> option with the script: |
2391 | <literallayout class='monospaced'> | 2391 | <literallayout class='monospaced'> |
2392 | $ ksize.py -d > ksize.log | 2392 | $ ksize.py -d > ksize.log |
2393 | </literallayout> | 2393 | </literallayout> |
2394 | Using this option breaks out the individual file information | 2394 | Using this option breaks out the individual file information |
2395 | for each area of the kernel (e.g. drivers, networking, and | 2395 | for each area of the kernel (e.g. drivers, networking, and |
2396 | so forth). | 2396 | so forth). |
2397 | </para> | 2397 | </para> |
2398 | 2398 | ||
2399 | <para> | 2399 | <para> |
2400 | Use your log file to see what you can eliminate from the kernel | 2400 | Use your log file to see what you can eliminate from the kernel |
2401 | based on features you can let go. | 2401 | based on features you can let go. |
2402 | For example, if you are not going to need sound, you do not | 2402 | For example, if you are not going to need sound, you do not |
2403 | need any drivers that support sound. | 2403 | need any drivers that support sound. |
2404 | </para> | 2404 | </para> |
2405 | 2405 | ||
2406 | <para> | 2406 | <para> |
2407 | After figuring out what to eliminate, you need to reconfigure | 2407 | After figuring out what to eliminate, you need to reconfigure |
2408 | kernel to reflect those changes during the next build. | 2408 | kernel to reflect those changes during the next build. |
2409 | You could run <filename>menuconfig</filename> and make all your | 2409 | You could run <filename>menuconfig</filename> and make all your |
2410 | changes at once. | 2410 | changes at once. |
2411 | However, that makes it difficult to see the effects of your | 2411 | However, that makes it difficult to see the effects of your |
2412 | individual eliminations and also makes it difficult to replicate | 2412 | individual eliminations and also makes it difficult to replicate |
2413 | the changes for perhaps another target device. | 2413 | the changes for perhaps another target device. |
2414 | A better method is to start with no configurations using | 2414 | A better method is to start with no configurations using |
2415 | <filename>allnoconfig</filename>, create configuration | 2415 | <filename>allnoconfig</filename>, create configuration |
2416 | fragments for individual changes, and then manage the | 2416 | fragments for individual changes, and then manage the |
2417 | fragments into a single configuration file using | 2417 | fragments into a single configuration file using |
2418 | <filename>merge_config.sh</filename>. | 2418 | <filename>merge_config.sh</filename>. |
2419 | The tool makes it easy for you to iterate using the | 2419 | The tool makes it easy for you to iterate using the |
2420 | configuration change/build cycle. | 2420 | configuration change/build cycle. |
@@ -2422,7 +2422,7 @@ | |||
2422 | 2422 | ||
2423 | <para> | 2423 | <para> |
2424 | Each time you make configuration changes, you need to rebuild | 2424 | Each time you make configuration changes, you need to rebuild |
2425 | the kernel and check to see what impact your changes had on | 2425 | the kernel and check to see what impact your changes had on |
2426 | the overall size. | 2426 | the overall size. |
2427 | </para> | 2427 | </para> |
2428 | </section> | 2428 | </section> |
@@ -2432,16 +2432,16 @@ | |||
2432 | 2432 | ||
2433 | <para> | 2433 | <para> |
2434 | If you have not reached your goals on system size, you need | 2434 | If you have not reached your goals on system size, you need |
2435 | to iterate on the process. | 2435 | to iterate on the process. |
2436 | The process is the same. | 2436 | The process is the same. |
2437 | Use the tools and see just what is taking up 90% of the root | 2437 | Use the tools and see just what is taking up 90% of the root |
2438 | filesystem and the kernel. | 2438 | filesystem and the kernel. |
2439 | Decide what you can eliminate without limiting your device | 2439 | Decide what you can eliminate without limiting your device |
2440 | beyond what you need. | 2440 | beyond what you need. |
2441 | </para> | 2441 | </para> |
2442 | 2442 | ||
2443 | <para> | 2443 | <para> |
2444 | Depending on your system, a good place to look might be | 2444 | Depending on your system, a good place to look might be |
2445 | Busybox, which provides a stripped down | 2445 | Busybox, which provides a stripped down |
2446 | version of Unix tools in a single, executable file. | 2446 | version of Unix tools in a single, executable file. |
2447 | You might be able to drop virtual terminal services or perhaps | 2447 | You might be able to drop virtual terminal services or perhaps |
@@ -3004,9 +3004,11 @@ | |||
3004 | <para> | 3004 | <para> |
3005 | You might find that there are groups of recipes or append files | 3005 | You might find that there are groups of recipes or append files |
3006 | that you want to filter out of the build process. | 3006 | that you want to filter out of the build process. |
3007 | For example, recipes you know you will never use or want should not | 3007 | Usually, this is not necessary. |
3008 | be part of the build. | 3008 | However, on rare occasions where you might want to use a |
3009 | Removing these files from parsing speeds up parts of the build. | 3009 | layer but exclude parts that are causing problems, such |
3010 | as introducing a different version of a recipe, you can | ||
3011 | use <filename>BBMASK</filename> to exclude the recipe. | ||
3010 | </para> | 3012 | </para> |
3011 | 3013 | ||
3012 | <para> | 3014 | <para> |