diff options
Diffstat (limited to 'documentation')
| -rw-r--r-- | documentation/dev-manual/dev-manual-common-tasks.xml | 165 | ||||
| -rw-r--r-- | documentation/ref-manual/ref-classes.xml | 43 |
2 files changed, 100 insertions, 108 deletions
diff --git a/documentation/dev-manual/dev-manual-common-tasks.xml b/documentation/dev-manual/dev-manual-common-tasks.xml index e6fd4fb363..6ad61d633a 100644 --- a/documentation/dev-manual/dev-manual-common-tasks.xml +++ b/documentation/dev-manual/dev-manual-common-tasks.xml | |||
| @@ -606,27 +606,27 @@ | |||
| 606 | <filename>EXTRA_IMAGE_FEATURES</filename></title> | 606 | <filename>EXTRA_IMAGE_FEATURES</filename></title> |
| 607 | 607 | ||
| 608 | <para> | 608 | <para> |
| 609 | Ultimately, you might want to add extra image features to the | 609 | Ultimately, you might want to add extra image features to the |
| 610 | set by using the | 610 | set by using the |
| 611 | <filename><ulink url='&YOCTO_DOCS_REF_URL;#var-IMAGE_FEATURES'>IMAGE_FEATURES</ulink></filename> | 611 | <filename><ulink url='&YOCTO_DOCS_REF_URL;#var-IMAGE_FEATURES'>IMAGE_FEATURES</ulink></filename> |
| 612 | variable. | 612 | variable. |
| 613 | To create these features, the best reference is | 613 | To create these features, the best reference is |
| 614 | <filename>meta/classes/core-image.bbclass</filename>, which | 614 | <filename>meta/classes/core-image.bbclass</filename>, which |
| 615 | shows how you can add features. | 615 | shows how you can add features. |
| 616 | In summary, the file looks at the contents of the | 616 | In summary, the file looks at the contents of the |
| 617 | <filename>IMAGE_FEATURES</filename> variable and then maps those | 617 | <filename>IMAGE_FEATURES</filename> variable and then maps those |
| 618 | contents into a set of tasks or packages. | 618 | contents into a set of tasks or packages. |
| 619 | Based on this information, the build system automatically | 619 | Based on this information, the build system automatically |
| 620 | generates the | 620 | generates the |
| 621 | <filename><ulink url='&YOCTO_DOCS_REF_URL;#var-IMAGE_INSTALL'> IMAGE_INSTALL</ulink></filename> | 621 | <filename><ulink url='&YOCTO_DOCS_REF_URL;#var-IMAGE_INSTALL'> IMAGE_INSTALL</ulink></filename> |
| 622 | variable. | 622 | variable. |
| 623 | You can add extra features by extending the class or creating a | 623 | You can add extra features by extending the class or creating a |
| 624 | custom class for use with specialized image | 624 | custom class for use with specialized image |
| 625 | <filename>.bb</filename> files. | 625 | <filename>.bb</filename> files. |
| 626 | You can also add more features by configuring the | 626 | You can also add more features by configuring the |
| 627 | <filename><ulink url='&YOCTO_DOCS_REF_URL;#var-EXTRA_IMAGE_FEATURES'>EXTRA_IMAGE_FEATURES</ulink></filename> | 627 | <filename><ulink url='&YOCTO_DOCS_REF_URL;#var-EXTRA_IMAGE_FEATURES'>EXTRA_IMAGE_FEATURES</ulink></filename> |
| 628 | variable in the <filename>local.conf</filename> file found in | 628 | variable in the <filename>local.conf</filename> file found in |
| 629 | the <filename>local.conf</filename> file, which is located in | 629 | the <filename>local.conf</filename> file, which is located in |
| 630 | the <link linkend='build-directory'>Build Directory</link>. | 630 | the <link linkend='build-directory'>Build Directory</link>. |
| 631 | </para> | 631 | </para> |
| 632 | 632 | ||
| @@ -634,25 +634,25 @@ | |||
| 634 | <title>Choosing the SSH Server</title> | 634 | <title>Choosing the SSH Server</title> |
| 635 | 635 | ||
| 636 | <para> | 636 | <para> |
| 637 | The Yocto Project ships with two SSH servers you can use | 637 | The Yocto Project ships with two SSH servers you can use |
| 638 | with your images: Dropbear and OpenSSH. | 638 | with your images: Dropbear and OpenSSH. |
| 639 | Dropbear is a minimal SSH server appropriate for | 639 | Dropbear is a minimal SSH server appropriate for |
| 640 | resource-constrained environments, while OpenSSH is a | 640 | resource-constrained environments, while OpenSSH is a |
| 641 | well-known standard SSH server implementation. | 641 | well-known standard SSH server implementation. |
| 642 | By default, the <filename>core-image-sato</filename> image | 642 | By default, the <filename>core-image-sato</filename> image |
| 643 | is configured to use Dropbear. | 643 | is configured to use Dropbear. |
| 644 | The <filename>core-image-basic</filename> and | 644 | The <filename>core-image-basic</filename> and |
| 645 | <filename>core-image-lsb</filename> images both | 645 | <filename>core-image-lsb</filename> images both |
| 646 | include OpenSSH. | 646 | include OpenSSH. |
| 647 | The <filename>core-image-minimal</filename> image does not | 647 | The <filename>core-image-minimal</filename> image does not |
| 648 | contain an SSH server. | 648 | contain an SSH server. |
| 649 | </para> | 649 | </para> |
| 650 | 650 | ||
| 651 | <para> | 651 | <para> |
| 652 | You can customize your image and change these defaults. | 652 | You can customize your image and change these defaults. |
| 653 | Edit <filename>IMAGE_FEATURES</filename> variable | 653 | Edit <filename>IMAGE_FEATURES</filename> variable |
| 654 | so that it configures the image you are working with to | 654 | so that it configures the image you are working with to |
| 655 | include <filename>ssh-server-dropbear</filename> or | 655 | include <filename>ssh-server-dropbear</filename> or |
| 656 | <filename>ssh-server-openssh</filename>. | 656 | <filename>ssh-server-openssh</filename>. |
| 657 | </para> | 657 | </para> |
| 658 | </section> | 658 | </section> |
| @@ -661,24 +661,24 @@ | |||
| 661 | <title>Creating a Read-Only Root Filesystem</title> | 661 | <title>Creating a Read-Only Root Filesystem</title> |
| 662 | 662 | ||
| 663 | <para> | 663 | <para> |
| 664 | Another example of customizing your image could be setting | 664 | Another example of customizing your image could be setting |
| 665 | up a read-only filesystem. | 665 | up a read-only filesystem. |
| 666 | Suppose, for security reasons, you need to disable the | 666 | Suppose, for security reasons, you need to disable the |
| 667 | your target device's root filesystem's write permisions | 667 | your target device's root filesystem's write permisions |
| 668 | (i.e. you need a read-only root filesystem). | 668 | (i.e. you need a read-only root filesystem). |
| 669 | Or, perhaps you are running the device's operating system | 669 | Or, perhaps you are running the device's operating system |
| 670 | from a read-only storage device. | 670 | from a read-only storage device. |
| 671 | For either case, you can customize your image for | 671 | For either case, you can customize your image for |
| 672 | that behavior. | 672 | that behavior. |
| 673 | </para> | 673 | </para> |
| 674 | 674 | ||
| 675 | <para> | 675 | <para> |
| 676 | To create a read-only root filesystem, simply add the | 676 | To create a read-only root filesystem, simply add the |
| 677 | "read-only-rootfs" feature to your image. | 677 | "read-only-rootfs" feature to your image. |
| 678 | Using either of the following statements in your | 678 | Using either of the following statements in your |
| 679 | image recipe or from within the | 679 | image recipe or from within the |
| 680 | <filename>local.conf</filename> file found in the Build | 680 | <filename>local.conf</filename> file found in the Build |
| 681 | Directory causes the build system to create a | 681 | Directory causes the build system to create a |
| 682 | read-only root filesystem: | 682 | read-only root filesystem: |
| 683 | <literallayout class='monospaced'> | 683 | <literallayout class='monospaced'> |
| 684 | IMAGE_FEATURES = "read-only-rootfs" | 684 | IMAGE_FEATURES = "read-only-rootfs" |
| @@ -2320,16 +2320,16 @@ | |||
| 2320 | <para> | 2320 | <para> |
| 2321 | It is easiest to have something to start with when creating | 2321 | It is easiest to have something to start with when creating |
| 2322 | your own distribution. | 2322 | your own distribution. |
| 2323 | You can use the Yocto Project out-of-the-box to create the | 2323 | You can use the Yocto Project out-of-the-box to create the |
| 2324 | <filename>poky-tiny</filename> distribution. | 2324 | <filename>poky-tiny</filename> distribution. |
| 2325 | Ulitmately, you will want to make changes in your own | 2325 | Ulitmately, you will want to make changes in your own |
| 2326 | distribution that are likely modeled after | 2326 | distribution that are likely modeled after |
| 2327 | <filename>poky-tiny</filename>. | 2327 | <filename>poky-tiny</filename>. |
| 2328 | <note> | 2328 | <note> |
| 2329 | To use <filename>poky-tiny</filename> in your build, | 2329 | To use <filename>poky-tiny</filename> in your build, |
| 2330 | set the <filename>DISTRO</filename> variable in your | 2330 | set the <filename>DISTRO</filename> variable in your |
| 2331 | <filename>local.conf</filename> file to "poky-tiny" | 2331 | <filename>local.conf</filename> file to "poky-tiny" |
| 2332 | as described in the | 2332 | as described in the |
| 2333 | "<link linkend='creating-your-own-distribution'>Creating Your Own Distribution</link>" | 2333 | "<link linkend='creating-your-own-distribution'>Creating Your Own Distribution</link>" |
| 2334 | section. | 2334 | section. |
| 2335 | </note> | 2335 | </note> |
| @@ -2344,7 +2344,7 @@ | |||
| 2344 | Dynamic memory contains memory that is allocated at runtime, | 2344 | Dynamic memory contains memory that is allocated at runtime, |
| 2345 | stacks, hash tables, and so forth. | 2345 | stacks, hash tables, and so forth. |
| 2346 | Temporary memory is recovered after the boot process. | 2346 | Temporary memory is recovered after the boot process. |
| 2347 | This memory consists of memory used for decompressing | 2347 | This memory consists of memory used for decompressing |
| 2348 | the kernel and for the <filename>__init__</filename> | 2348 | the kernel and for the <filename>__init__</filename> |
| 2349 | functions. | 2349 | functions. |
| 2350 | </para> | 2350 | </para> |
| @@ -2560,7 +2560,7 @@ | |||
| 2560 | <title>Look for Other Ways to Minimize Size</title> | 2560 | <title>Look for Other Ways to Minimize Size</title> |
| 2561 | 2561 | ||
| 2562 | <para> | 2562 | <para> |
| 2563 | Depending on your particular circumstances, other areas that you | 2563 | Depending on your particular circumstances, other areas that you |
| 2564 | can trim likely exist. | 2564 | can trim likely exist. |
| 2565 | The key to finding these areas is through tools and methods | 2565 | The key to finding these areas is through tools and methods |
| 2566 | described here combined with experimentation and iteration. | 2566 | described here combined with experimentation and iteration. |
| @@ -2570,35 +2570,35 @@ | |||
| 2570 | In general, follow this process: | 2570 | In general, follow this process: |
| 2571 | <orderedlist> | 2571 | <orderedlist> |
| 2572 | <listitem><para>Remove <filename>eglibc</filename> | 2572 | <listitem><para>Remove <filename>eglibc</filename> |
| 2573 | features from | 2573 | features from |
| 2574 | <ulink url='&YOCTO_DOCS_REF_URL;#var-DISTRO_FEATURES'><filename>DISTRO_FEATURES</filename></ulink> | 2574 | <ulink url='&YOCTO_DOCS_REF_URL;#var-DISTRO_FEATURES'><filename>DISTRO_FEATURES</filename></ulink> |
| 2575 | that you think you don't need.</para></listitem> | 2575 | that you think you don't need.</para></listitem> |
| 2576 | <listitem><para>Build your distribution. | 2576 | <listitem><para>Build your distribution. |
| 2577 | </para></listitem> | 2577 | </para></listitem> |
| 2578 | <listitem><para>If the build fails due to missing | 2578 | <listitem><para>If the build fails due to missing |
| 2579 | symbols in a package, determine if you can | 2579 | symbols in a package, determine if you can |
| 2580 | reconfigure the package to not need those | 2580 | reconfigure the package to not need those |
| 2581 | features. | 2581 | features. |
| 2582 | For example, change the configuration to not | 2582 | For example, change the configuration to not |
| 2583 | support wide character support as is done for | 2583 | support wide character support as is done for |
| 2584 | <filename>ncurses</filename>. | 2584 | <filename>ncurses</filename>. |
| 2585 | Or, if support for those characters is needed, | 2585 | Or, if support for those characters is needed, |
| 2586 | determine what <filename>eglibc</filename> | 2586 | determine what <filename>eglibc</filename> |
| 2587 | features provide the support and restore the | 2587 | features provide the support and restore the |
| 2588 | configuration. | 2588 | configuration. |
| 2589 | </para></listitem> | 2589 | </para></listitem> |
| 2590 | <listitem><para>Rebuild and repeat the process. | 2590 | <listitem><para>Rebuild and repeat the process. |
| 2591 | </para></listitem> | 2591 | </para></listitem> |
| 2592 | </orderedlist></para></listitem> | 2592 | </orderedlist></para></listitem> |
| 2593 | <listitem><para><filename>busybox</filename>: | 2593 | <listitem><para><filename>busybox</filename>: |
| 2594 | For BusyBox, use a process similar as described for | 2594 | For BusyBox, use a process similar as described for |
| 2595 | <filename>eglibc</filename>. | 2595 | <filename>eglibc</filename>. |
| 2596 | A difference is you will need to boot the resulting | 2596 | A difference is you will need to boot the resulting |
| 2597 | system to see if you are able to do everything you | 2597 | system to see if you are able to do everything you |
| 2598 | expect from the running system. | 2598 | expect from the running system. |
| 2599 | You need to be sure to integrate configuration fragments | 2599 | You need to be sure to integrate configuration fragments |
| 2600 | into Busybox because BusyBox handles its own core | 2600 | into Busybox because BusyBox handles its own core |
| 2601 | features and then allows you to add configuration | 2601 | features and then allows you to add configuration |
| 2602 | fragments on top. | 2602 | fragments on top. |
| 2603 | </para></listitem> | 2603 | </para></listitem> |
| 2604 | </itemizedlist> | 2604 | </itemizedlist> |
| @@ -3126,8 +3126,9 @@ | |||
| 3126 | <title>Setting Up Runtime Package Management</title> | 3126 | <title>Setting Up Runtime Package Management</title> |
| 3127 | 3127 | ||
| 3128 | <para> | 3128 | <para> |
| 3129 | It is possible to set up a repository that is a host-based | 3129 | For RPM, IPK, and DEB package formats, it is possible to set |
| 3130 | package feed from which you can install packages on the | 3130 | up a repository that is a host-based |
| 3131 | package feed from which you can install packages on the | ||
| 3131 | target system during runtime. | 3132 | target system during runtime. |
| 3132 | Doing so is optional and depends on the following: | 3133 | Doing so is optional and depends on the following: |
| 3133 | <itemizedlist> | 3134 | <itemizedlist> |
| @@ -3135,14 +3136,14 @@ | |||
| 3135 | You take specific steps to set up the feed. | 3136 | You take specific steps to set up the feed. |
| 3136 | </para></listitem> | 3137 | </para></listitem> |
| 3137 | <listitem><para> | 3138 | <listitem><para> |
| 3138 | When you build your image, you select to use the | 3139 | When you build your image, you select to use the |
| 3139 | RPM package manager by setting the | 3140 | appropriate package manager by setting the |
| 3140 | <ulink url='&YOCTO_DOCS_REF_URL;#var-PACKAGE_CLASSES'><filename>PACKAGE_CLASSES</filename></ulink> | 3141 | <ulink url='&YOCTO_DOCS_REF_URL;#var-PACKAGE_CLASSES'><filename>PACKAGE_CLASSES</filename></ulink> |
| 3141 | variable. | 3142 | variable. |
| 3142 | </para></listitem> | 3143 | </para></listitem> |
| 3143 | <listitem><para> | 3144 | <listitem><para> |
| 3144 | You have Apache 2 installed and configured on the | 3145 | You have a supported web server, such as Apache 2, |
| 3145 | development host. | 3146 | installed and configured on the development host. |
| 3146 | </para></listitem> | 3147 | </para></listitem> |
| 3147 | <listitem><para> | 3148 | <listitem><para> |
| 3148 | You have <filename>createrepo</filename> installed on | 3149 | You have <filename>createrepo</filename> installed on |
| @@ -3152,14 +3153,16 @@ | |||
| 3152 | </para> | 3153 | </para> |
| 3153 | 3154 | ||
| 3154 | <para> | 3155 | <para> |
| 3155 | Here are the steps to set up this optional package feed: | 3156 | Following are the steps to set up the optional repository. |
| 3157 | This examples assumes you are using RPM and the Apache 2 | ||
| 3158 | server: | ||
| 3156 | <orderedlist> | 3159 | <orderedlist> |
| 3157 | <listitem><para> | 3160 | <listitem><para> |
| 3158 | Add the directory to your Apache configuration, which | 3161 | Add the directory to your Apache configuration, which |
| 3159 | you can find at | 3162 | you can find at |
| 3160 | <filename>/etc/httpd/conf/httpd.conf</filename>. | 3163 | <filename>/etc/httpd/conf/httpd.conf</filename>. |
| 3161 | Use commands similar to these on the development system. | 3164 | Use commands similar to these on the development system. |
| 3162 | These example commands assume a top-level | 3165 | These example commands assume a top-level |
| 3163 | <link linkend='source-directory'>Source Directory</link> | 3166 | <link linkend='source-directory'>Source Directory</link> |
| 3164 | named <filename>poky</filename> in your home directory: | 3167 | named <filename>poky</filename> in your home directory: |
| 3165 | <literallayout class='monospaced'> | 3168 | <literallayout class='monospaced'> |
| @@ -3169,7 +3172,7 @@ | |||
| 3169 | <Directory "~/poky/build/tmp/deploy/rpm"> | 3172 | <Directory "~/poky/build/tmp/deploy/rpm"> |
| 3170 | Options +Indexes | 3173 | Options +Indexes |
| 3171 | </Directory> | 3174 | </Directory> |
| 3172 | </VirtualHost> | 3175 | </VirtualHost> |
| 3173 | </literallayout> | 3176 | </literallayout> |
| 3174 | </para></listitem> | 3177 | </para></listitem> |
| 3175 | <listitem><para> | 3178 | <listitem><para> |
| @@ -3177,35 +3180,23 @@ | |||
| 3177 | For all commands, be sure you have root privileges. | 3180 | For all commands, be sure you have root privileges. |
| 3178 | </para> | 3181 | </para> |
| 3179 | <para> | 3182 | <para> |
| 3180 | If your development system is using Fedora or | 3183 | If your development system is using Fedora or |
| 3181 | CentOS, use the following: | 3184 | CentOS, use the following: |
| 3182 | </para> | 3185 | <literallayout class='monospaced'> |
| 3183 | <note> | 3186 | service httpd reload |
| 3184 | <emphasis>Note to Self:</emphasis> Paul says that | 3187 | </literallayout> |
| 3185 | some of the distros (Fedora and CentOS in | 3188 | For Ubuntu, use the following: |
| 3186 | particular) might have different commands based | 3189 | <literallayout class='monospaced'> |
| 3187 | on the distro version. | ||
| 3188 | We need links for the reader to follow for the | ||
| 3189 | specifics. | ||
| 3190 | We don't want to have to document all this | ||
| 3191 | distro-specific stuff. | ||
| 3192 | </note> | ||
| 3193 | <para> | ||
| 3194 | <literallayout class='monospaced'> | ||
| 3195 | service httpd reload | ||
| 3196 | </literallayout> | ||
| 3197 | For Ubuntu, use the following: | ||
| 3198 | <literallayout class='monospaced'> | ||
| 3199 | /etc/init.d/apache2 reload | 3190 | /etc/init.d/apache2 reload |
| 3200 | </literallayout> | 3191 | </literallayout> |
| 3201 | For OpenSUSE, use the following: | 3192 | For OpenSUSE, use the following: |
| 3202 | <literallayout class='monospaced'> | 3193 | <literallayout class='monospaced'> |
| 3203 | /etc/init.d/apache2 reload | 3194 | /etc/init.d/apache2 reload |
| 3204 | </literallayout> | 3195 | </literallayout> |
| 3205 | </para></listitem> | 3196 | </para></listitem> |
| 3206 | <listitem><para> | 3197 | <listitem><para> |
| 3207 | Change your working directory to | 3198 | Change your working directory to |
| 3208 | <filename>tmp/deploy/rpm</filename> in the | 3199 | <filename>tmp/deploy/rpm</filename> in the |
| 3209 | <link linkend='build-directory'>Build Directory</link>. | 3200 | <link linkend='build-directory'>Build Directory</link>. |
| 3210 | </para></listitem> | 3201 | </para></listitem> |
| 3211 | <listitem><para> | 3202 | <listitem><para> |
| @@ -3217,13 +3208,13 @@ | |||
| 3217 | </para> | 3208 | </para> |
| 3218 | <para> | 3209 | <para> |
| 3219 | <note> | 3210 | <note> |
| 3220 | If you're updating, add | 3211 | If you're updating, add |
| 3221 | <filename>‐‐update</filename> to save some time. | 3212 | <filename>‐‐update</filename> to save some time. |
| 3222 | </note> | 3213 | </note> |
| 3223 | </para></listitem> | 3214 | </para></listitem> |
| 3224 | <listitem><para> | 3215 | <listitem><para> |
| 3225 | If you are using Security-Enhanced Linux (SELinux), | 3216 | If you are using Security-Enhanced Linux (SELinux), |
| 3226 | you need to label the files as being accessible | 3217 | you need to label the files as being accessible |
| 3227 | through Apache. | 3218 | through Apache. |
| 3228 | Use the following command from the development host: | 3219 | Use the following command from the development host: |
| 3229 | <literallayout class='monospaced'> | 3220 | <literallayout class='monospaced'> |
| @@ -3232,14 +3223,14 @@ | |||
| 3232 | </para></listitem> | 3223 | </para></listitem> |
| 3233 | <listitem><para> | 3224 | <listitem><para> |
| 3234 | On the target machine, add the repository to Smart. | 3225 | On the target machine, add the repository to Smart. |
| 3235 | For <filename>somealias</filename>, provide a local | 3226 | For <filename>somealias</filename>, provide a local |
| 3236 | alias for the repository: | 3227 | alias for the repository: |
| 3237 | <literallayout class='monospaced'> | 3228 | <literallayout class='monospaced'> |
| 3238 | smart channel ‐‐add <somealias> type=rpm-md baseurl=http://server.name/rpm | 3229 | smart channel ‐‐add <somealias> type=rpm-md baseurl=http://server.name/rpm |
| 3239 | </literallayout> | 3230 | </literallayout> |
| 3240 | </para></listitem> | 3231 | </para></listitem> |
| 3241 | <listitem><para> | 3232 | <listitem><para> |
| 3242 | Also from the target machine, fetch the repository | 3233 | Also from the target machine, fetch the repository |
| 3243 | information using this command: | 3234 | information using this command: |
| 3244 | <literallayout class='monospaced'> | 3235 | <literallayout class='monospaced'> |
| 3245 | smart update | 3236 | smart update |
| @@ -3249,9 +3240,9 @@ | |||
| 3249 | </para> | 3240 | </para> |
| 3250 | 3241 | ||
| 3251 | <para> | 3242 | <para> |
| 3252 | After taking these steps and making sure that the other | 3243 | After taking these steps and making sure that the other |
| 3253 | requirements mentioned at the beginning of the section are met, | 3244 | requirements mentioned at the beginning of the section are met, |
| 3254 | reboot the target device to take advantage of runtime package | 3245 | reboot the target device to take advantage of runtime package |
| 3255 | installations. | 3246 | installations. |
| 3256 | </para> | 3247 | </para> |
| 3257 | </section> | 3248 | </section> |
diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index e2f1611b5b..a03a68b6e9 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml | |||
| @@ -328,51 +328,52 @@ | |||
| 328 | </para> | 328 | </para> |
| 329 | 329 | ||
| 330 | <para> | 330 | <para> |
| 331 | If you take the optional step to set up a repository (package feed) | ||
| 332 | on the development host that can be used by Smart, you can | ||
| 333 | install packages from the feed while you are running the image | ||
| 334 | on the target (i.e. runtime installation of packages). | ||
| 335 | For information on how to set up this repository, see the | ||
| 336 | "<ulink url='&YOCTO_DOCS_DEV_URL;#setting-up-runtime-package-management'>Setting Up Runtime Package Management</ulink>" | ||
| 337 | in the Yocto Project Development Manual. | ||
| 338 | </para> | ||
| 339 | |||
| 340 | <para> | ||
| 331 | The package class you choose can affect build-time performance and has space | 341 | The package class you choose can affect build-time performance and has space |
| 332 | ramifications. | 342 | ramifications. |
| 333 | In general, building a package with IPK takes about thirty percent less | 343 | In general, building a package with IPK takes about thirty percent less |
| 334 | time as compared to using RPM to build the same or similar package. | 344 | time as compared to using RPM to build the same or similar package. |
| 335 | This comparison takes into account a complete build of the package with | 345 | This comparison takes into account a complete build of the package with |
| 336 | all dependencies previously built. | 346 | all dependencies previously built. |
| 337 | The reason for this discrepancy is because the RPM package manager | 347 | The reason for this discrepancy is because the RPM package manager |
| 338 | creates and processes more | 348 | creates and processes more |
| 339 | <ulink url='&YOCTO_DOCS_DEV_URL;#metadata'>Metadata</ulink> than the | 349 | <ulink url='&YOCTO_DOCS_DEV_URL;#metadata'>Metadata</ulink> than the |
| 340 | IPK package manager. | 350 | IPK package manager. |
| 341 | Consequently, you might consider setting <filename>PACKAGE_CLASSES</filename> | 351 | Consequently, you might consider setting <filename>PACKAGE_CLASSES</filename> |
| 342 | to "package_ipk" if you are building smaller systems. | 352 | to "package_ipk" if you are building smaller systems. |
| 343 | </para> | 353 | </para> |
| 344 | 354 | ||
| 345 | <para> | 355 | <para> |
| 346 | Before making your decision on package manager, however, you should | 356 | Before making your decision on package manager, however, you should |
| 347 | consider some further things about using RPM: | 357 | consider some further things about using RPM: |
| 348 | <itemizedlist> | 358 | <itemizedlist> |
| 349 | <listitem><para> | 359 | <listitem><para> |
| 350 | RPM starts to provide more abilities than IPK due to | 360 | RPM starts to provide more abilities than IPK due to |
| 351 | the fact that it processes more metadata. | 361 | the fact that it processes more metadata. |
| 352 | For example, this information includes individual file types, | 362 | For example, this information includes individual file types, |
| 353 | file checksum generation and evaluation on install, sparse file | 363 | file checksum generation and evaluation on install, sparse file |
| 354 | support, conflict detection and resolution for Multilib systems, | 364 | support, conflict detection and resolution for Multilib systems, |
| 355 | ACID style upgrade, and repackaging abilities for rollbacks. | 365 | ACID style upgrade, and repackaging abilities for rollbacks. |
| 356 | </para></listitem> | 366 | </para></listitem> |
| 357 | <listitem><para> | 367 | <listitem><para> |
| 358 | For smaller systems, the extra space used for the Berkley | 368 | For smaller systems, the extra space used for the Berkley |
| 359 | Database and the amount of metadata when using RPM can affect | 369 | Database and the amount of metadata when using RPM can affect |
| 360 | your ability to perform on-device upgrades. | 370 | your ability to perform on-device upgrades. |
| 361 | </para></listitem> | 371 | </para></listitem> |
| 362 | <listitem><para> | 372 | </itemizedlist> |
| 363 | If you take the steps to set up a repository (package feed) | ||
| 364 | on the development host that can be used by Smart, you can | ||
| 365 | install packages from the feed while you are running the image | ||
| 366 | on the target (i.e. runtime installation of packages). | ||
| 367 | For information on how to set up this repository, see the | ||
| 368 | "<ulink url='&YOCTO_DOCS_DEV_URL;#setting-up-runtime-package-management'>Setting Up Runtime Package Management</ulink>" | ||
| 369 | in the Yocto Project Development Manual. | ||
| 370 | </para></listitem> | ||
| 371 | </itemizedlist> | ||
| 372 | </para> | 373 | </para> |
| 373 | 374 | ||
| 374 | <para> | 375 | <para> |
| 375 | You can find additional information on the effects of the package | 376 | You can find additional information on the effects of the package |
| 376 | class at these two Yocto Project mailing list links: | 377 | class at these two Yocto Project mailing list links: |
| 377 | <itemizedlist> | 378 | <itemizedlist> |
| 378 | <listitem><para><ulink url='&YOCTO_LISTS_URL;/pipermail/poky/2011-May/006362.html'> | 379 | <listitem><para><ulink url='&YOCTO_LISTS_URL;/pipermail/poky/2011-May/006362.html'> |
