diff options
author | Scott Rifenbark <scott.m.rifenbark@intel.com> | 2012-03-29 13:31:41 -0600 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2012-03-30 17:20:51 +0100 |
commit | d19c8c83155069662aa1d0f7a19d0296d2bafe06 (patch) | |
tree | 4801f5dbbd71245b4d1c23c153d87e22f4281ef4 /documentation | |
parent | 3eb0125bde07bc9d055e164064c0be8ad3e33607 (diff) | |
download | poky-d19c8c83155069662aa1d0f7a19d0296d2bafe06.tar.gz |
documentation/dev-manual/dev-manual-common-tasks.xml: moved section
Placed the "Customizing Images" section in front of the
"Adding a Package" section.
Reported-by: Rudolf Streif <rstreif@linuxfoundation.org>
(From yocto-docs rev: 68a7ef421b9b66cc7f0a2180c1ef17c8c4ec2ed4)
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'documentation')
-rw-r--r-- | documentation/dev-manual/dev-manual-common-tasks.xml | 444 |
1 files changed, 222 insertions, 222 deletions
diff --git a/documentation/dev-manual/dev-manual-common-tasks.xml b/documentation/dev-manual/dev-manual-common-tasks.xml index 189a4ffe01..f55e99122b 100644 --- a/documentation/dev-manual/dev-manual-common-tasks.xml +++ b/documentation/dev-manual/dev-manual-common-tasks.xml | |||
@@ -445,6 +445,228 @@ | |||
445 | </section> | 445 | </section> |
446 | </section> | 446 | </section> |
447 | 447 | ||
448 | <section id='usingpoky-extend-customimage'> | ||
449 | <title>Customizing Images</title> | ||
450 | |||
451 | <para> | ||
452 | You can customize Yocto Project images to satisfy particular requirements. | ||
453 | This section describes several methods and provides guidelines for each. | ||
454 | </para> | ||
455 | |||
456 | <section id='usingpoky-extend-customimage-custombb'> | ||
457 | <title>Customizing Images Using Custom .bb Files</title> | ||
458 | |||
459 | <para> | ||
460 | One way to get additional software into an image is to create a custom image. | ||
461 | The following example shows the form for the two lines you need: | ||
462 | <literallayout class='monospaced'> | ||
463 | IMAGE_INSTALL = "task-core-x11-base package1 package2" | ||
464 | |||
465 | inherit core-image | ||
466 | </literallayout> | ||
467 | </para> | ||
468 | |||
469 | <para> | ||
470 | By creating a custom image, a developer has total control | ||
471 | over the contents of the image. | ||
472 | It is important to use the correct names of packages in the | ||
473 | <filename><ulink url='&YOCTO_DOCS_REF_URL;#var-IMAGE_INSTALL'>IMAGE_INSTALL</ulink></filename> | ||
474 | variable. | ||
475 | You must use the OpenEmbedded notation and not the Debian notation for the names | ||
476 | (e.g. <filename>eglibc-dev</filename> instead of <filename>libc6-dev</filename>). | ||
477 | </para> | ||
478 | |||
479 | <para> | ||
480 | The other method for creating a custom image is to modify an existing image. | ||
481 | For example, if a developer wants to add <filename>strace</filename> into | ||
482 | the <filename>core-image-sato</filename> image, they can use the following recipe: | ||
483 | <literallayout class='monospaced'> | ||
484 | require core-image-sato.bb | ||
485 | |||
486 | IMAGE_INSTALL += "strace" | ||
487 | </literallayout> | ||
488 | </para> | ||
489 | </section> | ||
490 | |||
491 | <section id='usingpoky-extend-customimage-customtasks'> | ||
492 | <title>Customizing Images Using Custom Tasks</title> | ||
493 | |||
494 | <para> | ||
495 | For complex custom images, the best approach is to create a custom task package | ||
496 | that is used to build the image or images. | ||
497 | A good example of a tasks package is | ||
498 | <filename>meta/recipes-sato/tasks/task-poky.bb</filename>. | ||
499 | The | ||
500 | <filename><ulink url='&YOCTO_DOCS_REF_URL;#var-PACKAGES'>PACKAGES</ulink></filename> | ||
501 | variable lists the task packages to build along with the complementary | ||
502 | <filename>-dbg</filename> and <filename>-dev</filename> packages. | ||
503 | For each package added, you can use | ||
504 | <filename><ulink url='&YOCTO_DOCS_REF_URL;#var-RDEPENDS'>RDEPENDS</ulink></filename> | ||
505 | and | ||
506 | <filename><ulink url='&YOCTO_DOCS_REF_URL;#var-RRECOMMENDS'>RRECOMMENDS</ulink></filename> | ||
507 | entries to provide a list of packages the parent task package should contain. | ||
508 | Following is an example: | ||
509 | <literallayout class='monospaced'> | ||
510 | DESCRIPTION = "My Custom Tasks" | ||
511 | |||
512 | PACKAGES = "\ | ||
513 | task-custom-apps \ | ||
514 | task-custom-apps-dbg \ | ||
515 | task-custom-apps-dev \ | ||
516 | task-custom-tools \ | ||
517 | task-custom-tools-dbg \ | ||
518 | task-custom-tools-dev \ | ||
519 | " | ||
520 | |||
521 | RDEPENDS_task-custom-apps = "\ | ||
522 | dropbear \ | ||
523 | portmap \ | ||
524 | psplash" | ||
525 | |||
526 | RDEPENDS_task-custom-tools = "\ | ||
527 | oprofile \ | ||
528 | oprofileui-server \ | ||
529 | lttng-control \ | ||
530 | lttng-viewer" | ||
531 | |||
532 | RRECOMMENDS_task-custom-tools = "\ | ||
533 | kernel-module-oprofile" | ||
534 | </literallayout> | ||
535 | </para> | ||
536 | |||
537 | <para> | ||
538 | In the previous example, two task packages are created with their dependencies and their | ||
539 | recommended package dependencies listed: <filename>task-custom-apps</filename>, and | ||
540 | <filename>task-custom-tools</filename>. | ||
541 | To build an image using these task packages, you need to add | ||
542 | <filename>task-custom-apps</filename> and/or | ||
543 | <filename>task-custom-tools</filename> to | ||
544 | <filename><ulink url='&YOCTO_DOCS_REF_URL;#var-IMAGE_INSTALL'>IMAGE_INSTALL</ulink></filename>. | ||
545 | For other forms of image dependencies see the other areas of this section. | ||
546 | </para> | ||
547 | </section> | ||
548 | |||
549 | <section id='usingpoky-extend-customimage-imagefeatures'> | ||
550 | <title>Customizing Images Using Custom <filename>IMAGE_FEATURES</filename> and | ||
551 | <filename>EXTRA_IMAGE_FEATURES</filename></title> | ||
552 | |||
553 | <para> | ||
554 | Ultimately users might want to add extra image features to the set used by | ||
555 | Yocto Project with the | ||
556 | <filename><ulink url='&YOCTO_DOCS_REF_URL;#var-IMAGE_FEATURES'>IMAGE_FEATURES</ulink></filename> | ||
557 | variable. | ||
558 | To create these features, the best reference is | ||
559 | <filename>meta/classes/core-image.bbclass</filename>, which shows how the | ||
560 | Yocto Project achieves this. | ||
561 | In summary, the file looks at the contents of the | ||
562 | <filename>IMAGE_FEATURES</filename> | ||
563 | variable and then maps that into a set of tasks or packages. | ||
564 | Based on this information the | ||
565 | <filename><ulink url='&YOCTO_DOCS_REF_URL;#var-IMAGE_INSTALL'> IMAGE_INSTALL</ulink></filename> | ||
566 | variable is generated automatically. | ||
567 | Users can add extra features by extending the class or creating a custom class for use | ||
568 | with specialized image <filename>.bb</filename> files. | ||
569 | You can also add more features by configuring the | ||
570 | <filename><ulink url='&YOCTO_DOCS_REF_URL;#var-EXTRA_IMAGE_FEATURES'>EXTRA_IMAGE_FEATURES</ulink></filename> | ||
571 | variable in the <filename>local.conf</filename> file found in the Yocto Project | ||
572 | files located in the build directory. | ||
573 | </para> | ||
574 | |||
575 | <para> | ||
576 | The Yocto Project ships with two SSH servers you can use in your images: | ||
577 | Dropbear and OpenSSH. | ||
578 | Dropbear is a minimal SSH server appropriate for resource-constrained environments, | ||
579 | while OpenSSH is a well-known standard SSH server implementation. | ||
580 | By default, the <filename>core-image-sato</filename> image is configured to use Dropbear. | ||
581 | The <filename>core-image-basic</filename> and <filename>core-image-lsb</filename> | ||
582 | images both include OpenSSH. | ||
583 | To change these defaults, edit the <filename>IMAGE_FEATURES</filename> variable | ||
584 | so that it sets the image you are working with to include | ||
585 | <filename>ssh-server-dropbear</filename> or <filename>ssh-server-openssh</filename>. | ||
586 | </para> | ||
587 | </section> | ||
588 | |||
589 | <section id='usingpoky-extend-customimage-localconf'> | ||
590 | <title>Customizing Images Using <filename>local.conf</filename></title> | ||
591 | |||
592 | <para> | ||
593 | It is possible to customize image contents by using variables from your | ||
594 | local configuration in your <filename>conf/local.conf</filename> file. | ||
595 | Because it is limited to local use, this method generally only allows you to | ||
596 | add packages and is not as flexible as creating your own customized image. | ||
597 | When you add packages using local variables this way, you need to realize that | ||
598 | these variable changes affect all images at the same time and might not be | ||
599 | what you require. | ||
600 | </para> | ||
601 | |||
602 | <section id='adding-packages'> | ||
603 | <title>Adding Packages</title> | ||
604 | |||
605 | <para> | ||
606 | The simplest way to add extra packages to all images is by using the | ||
607 | <filename><ulink url='&YOCTO_DOCS_REF_URL;#var-IMAGE_INSTALL'>IMAGE_INSTALL</ulink></filename> | ||
608 | variable with the <filename>_append</filename> operator: | ||
609 | <literallayout class='monospaced'> | ||
610 | IMAGE_INSTALL_append = " strace" | ||
611 | </literallayout> | ||
612 | Use of the syntax is important. | ||
613 | Specifically, the space between the quote and the package name, which is | ||
614 | <filename>strace</filename> in this example. | ||
615 | This space is required since the <filename>_append</filename> | ||
616 | operator does not add the space. | ||
617 | </para> | ||
618 | |||
619 | <para> | ||
620 | Furthermore, you must use <filename>_append</filename> instead of the <filename>+=</filename> | ||
621 | operator if you want to avoid ordering issues. | ||
622 | The reason for this is because doing so unconditionally appends to the variable and | ||
623 | avoids ordering problems due to the variable being set in image recipes and | ||
624 | <filename>.bbclass</filename> files with operators like <filename>?=</filename>. | ||
625 | Using <filename>_append</filename> ensures the operation takes affect. | ||
626 | </para> | ||
627 | |||
628 | <para> | ||
629 | As shown in its simplest use, <filename>IMAGE_INSTALL_append</filename> affects | ||
630 | all images. | ||
631 | It is possible to extend the syntax so that the variable applies to a specific image only. | ||
632 | Here is an example: | ||
633 | <literallayout class='monospaced'> | ||
634 | IMAGE_INSTALL_append_pn-core-image-minimal = " strace" | ||
635 | </literallayout> | ||
636 | This example adds <filename>strace</filename> to <filename>core-image-minimal</filename> | ||
637 | only. | ||
638 | </para> | ||
639 | |||
640 | <para> | ||
641 | You can add packages using a similar approach through the | ||
642 | <filename><ulink url='&YOCTO_DOCS_REF_URL;#var-CORE_IMAGE_EXTRA_INSTALL'>CORE_IMAGE_EXTRA_INSTALL</ulink></filename> | ||
643 | variable. | ||
644 | If you use this variable, only <filename>core-image-*</filename> images are affected. | ||
645 | </para> | ||
646 | </section> | ||
647 | |||
648 | <section id='excluding-packages'> | ||
649 | <title>Excluding Packages</title> | ||
650 | |||
651 | <para> | ||
652 | It is possible to filter or mask out <filename>.bb</filename> and | ||
653 | <filename>.bbappend</filename> files such that BitBake ignores them during | ||
654 | the build. | ||
655 | You can do this by providing an expression with the | ||
656 | <filename><ulink url='&YOCTO_DOCS_REF_URL;#var-BBMASK'>BBMASK</ulink></filename> | ||
657 | variable. | ||
658 | Here is an example: | ||
659 | <literallayout class='monospaced'> | ||
660 | BBMASK = ".*/meta-mymachine/recipes-maybe/" | ||
661 | </literallayout> | ||
662 | Here, all <filename>.bb</filename> and <filename>.bbappend</filename> files | ||
663 | in the directory that matches the expression are ignored during the build | ||
664 | process. | ||
665 | </para> | ||
666 | </section> | ||
667 | </section> | ||
668 | </section> | ||
669 | |||
448 | <section id='usingpoky-extend-addpkg'> | 670 | <section id='usingpoky-extend-addpkg'> |
449 | <title>Adding a Package</title> | 671 | <title>Adding a Package</title> |
450 | 672 | ||
@@ -774,228 +996,6 @@ | |||
774 | </section> | 996 | </section> |
775 | </section> | 997 | </section> |
776 | 998 | ||
777 | <section id='usingpoky-extend-customimage'> | ||
778 | <title>Customizing Images</title> | ||
779 | |||
780 | <para> | ||
781 | You can customize Yocto Project images to satisfy particular requirements. | ||
782 | This section describes several methods and provides guidelines for each. | ||
783 | </para> | ||
784 | |||
785 | <section id='usingpoky-extend-customimage-custombb'> | ||
786 | <title>Customizing Images Using Custom .bb Files</title> | ||
787 | |||
788 | <para> | ||
789 | One way to get additional software into an image is to create a custom image. | ||
790 | The following example shows the form for the two lines you need: | ||
791 | <literallayout class='monospaced'> | ||
792 | IMAGE_INSTALL = "task-core-x11-base package1 package2" | ||
793 | |||
794 | inherit core-image | ||
795 | </literallayout> | ||
796 | </para> | ||
797 | |||
798 | <para> | ||
799 | By creating a custom image, a developer has total control | ||
800 | over the contents of the image. | ||
801 | It is important to use the correct names of packages in the | ||
802 | <filename><ulink url='&YOCTO_DOCS_REF_URL;#var-IMAGE_INSTALL'>IMAGE_INSTALL</ulink></filename> | ||
803 | variable. | ||
804 | You must use the OpenEmbedded notation and not the Debian notation for the names | ||
805 | (e.g. <filename>eglibc-dev</filename> instead of <filename>libc6-dev</filename>). | ||
806 | </para> | ||
807 | |||
808 | <para> | ||
809 | The other method for creating a custom image is to modify an existing image. | ||
810 | For example, if a developer wants to add <filename>strace</filename> into | ||
811 | the <filename>core-image-sato</filename> image, they can use the following recipe: | ||
812 | <literallayout class='monospaced'> | ||
813 | require core-image-sato.bb | ||
814 | |||
815 | IMAGE_INSTALL += "strace" | ||
816 | </literallayout> | ||
817 | </para> | ||
818 | </section> | ||
819 | |||
820 | <section id='usingpoky-extend-customimage-customtasks'> | ||
821 | <title>Customizing Images Using Custom Tasks</title> | ||
822 | |||
823 | <para> | ||
824 | For complex custom images, the best approach is to create a custom task package | ||
825 | that is used to build the image or images. | ||
826 | A good example of a tasks package is | ||
827 | <filename>meta/recipes-sato/tasks/task-poky.bb</filename>. | ||
828 | The | ||
829 | <filename><ulink url='&YOCTO_DOCS_REF_URL;#var-PACKAGES'>PACKAGES</ulink></filename> | ||
830 | variable lists the task packages to build along with the complementary | ||
831 | <filename>-dbg</filename> and <filename>-dev</filename> packages. | ||
832 | For each package added, you can use | ||
833 | <filename><ulink url='&YOCTO_DOCS_REF_URL;#var-RDEPENDS'>RDEPENDS</ulink></filename> | ||
834 | and | ||
835 | <filename><ulink url='&YOCTO_DOCS_REF_URL;#var-RRECOMMENDS'>RRECOMMENDS</ulink></filename> | ||
836 | entries to provide a list of packages the parent task package should contain. | ||
837 | Following is an example: | ||
838 | <literallayout class='monospaced'> | ||
839 | DESCRIPTION = "My Custom Tasks" | ||
840 | |||
841 | PACKAGES = "\ | ||
842 | task-custom-apps \ | ||
843 | task-custom-apps-dbg \ | ||
844 | task-custom-apps-dev \ | ||
845 | task-custom-tools \ | ||
846 | task-custom-tools-dbg \ | ||
847 | task-custom-tools-dev \ | ||
848 | " | ||
849 | |||
850 | RDEPENDS_task-custom-apps = "\ | ||
851 | dropbear \ | ||
852 | portmap \ | ||
853 | psplash" | ||
854 | |||
855 | RDEPENDS_task-custom-tools = "\ | ||
856 | oprofile \ | ||
857 | oprofileui-server \ | ||
858 | lttng-control \ | ||
859 | lttng-viewer" | ||
860 | |||
861 | RRECOMMENDS_task-custom-tools = "\ | ||
862 | kernel-module-oprofile" | ||
863 | </literallayout> | ||
864 | </para> | ||
865 | |||
866 | <para> | ||
867 | In the previous example, two task packages are created with their dependencies and their | ||
868 | recommended package dependencies listed: <filename>task-custom-apps</filename>, and | ||
869 | <filename>task-custom-tools</filename>. | ||
870 | To build an image using these task packages, you need to add | ||
871 | <filename>task-custom-apps</filename> and/or | ||
872 | <filename>task-custom-tools</filename> to | ||
873 | <filename><ulink url='&YOCTO_DOCS_REF_URL;#var-IMAGE_INSTALL'>IMAGE_INSTALL</ulink></filename>. | ||
874 | For other forms of image dependencies see the other areas of this section. | ||
875 | </para> | ||
876 | </section> | ||
877 | |||
878 | <section id='usingpoky-extend-customimage-imagefeatures'> | ||
879 | <title>Customizing Images Using Custom <filename>IMAGE_FEATURES</filename> and | ||
880 | <filename>EXTRA_IMAGE_FEATURES</filename></title> | ||
881 | |||
882 | <para> | ||
883 | Ultimately users might want to add extra image features to the set used by | ||
884 | Yocto Project with the | ||
885 | <filename><ulink url='&YOCTO_DOCS_REF_URL;#var-IMAGE_FEATURES'>IMAGE_FEATURES</ulink></filename> | ||
886 | variable. | ||
887 | To create these features, the best reference is | ||
888 | <filename>meta/classes/core-image.bbclass</filename>, which shows how the | ||
889 | Yocto Project achieves this. | ||
890 | In summary, the file looks at the contents of the | ||
891 | <filename>IMAGE_FEATURES</filename> | ||
892 | variable and then maps that into a set of tasks or packages. | ||
893 | Based on this information the | ||
894 | <filename><ulink url='&YOCTO_DOCS_REF_URL;#var-IMAGE_INSTALL'> IMAGE_INSTALL</ulink></filename> | ||
895 | variable is generated automatically. | ||
896 | Users can add extra features by extending the class or creating a custom class for use | ||
897 | with specialized image <filename>.bb</filename> files. | ||
898 | You can also add more features by configuring the | ||
899 | <filename><ulink url='&YOCTO_DOCS_REF_URL;#var-EXTRA_IMAGE_FEATURES'>EXTRA_IMAGE_FEATURES</ulink></filename> | ||
900 | variable in the <filename>local.conf</filename> file found in the Yocto Project | ||
901 | files located in the build directory. | ||
902 | </para> | ||
903 | |||
904 | <para> | ||
905 | The Yocto Project ships with two SSH servers you can use in your images: | ||
906 | Dropbear and OpenSSH. | ||
907 | Dropbear is a minimal SSH server appropriate for resource-constrained environments, | ||
908 | while OpenSSH is a well-known standard SSH server implementation. | ||
909 | By default, the <filename>core-image-sato</filename> image is configured to use Dropbear. | ||
910 | The <filename>core-image-basic</filename> and <filename>core-image-lsb</filename> | ||
911 | images both include OpenSSH. | ||
912 | To change these defaults, edit the <filename>IMAGE_FEATURES</filename> variable | ||
913 | so that it sets the image you are working with to include | ||
914 | <filename>ssh-server-dropbear</filename> or <filename>ssh-server-openssh</filename>. | ||
915 | </para> | ||
916 | </section> | ||
917 | |||
918 | <section id='usingpoky-extend-customimage-localconf'> | ||
919 | <title>Customizing Images Using <filename>local.conf</filename></title> | ||
920 | |||
921 | <para> | ||
922 | It is possible to customize image contents by using variables from your | ||
923 | local configuration in your <filename>conf/local.conf</filename> file. | ||
924 | Because it is limited to local use, this method generally only allows you to | ||
925 | add packages and is not as flexible as creating your own customized image. | ||
926 | When you add packages using local variables this way, you need to realize that | ||
927 | these variable changes affect all images at the same time and might not be | ||
928 | what you require. | ||
929 | </para> | ||
930 | |||
931 | <section id='adding-packages'> | ||
932 | <title>Adding Packages</title> | ||
933 | |||
934 | <para> | ||
935 | The simplest way to add extra packages to all images is by using the | ||
936 | <filename><ulink url='&YOCTO_DOCS_REF_URL;#var-IMAGE_INSTALL'>IMAGE_INSTALL</ulink></filename> | ||
937 | variable with the <filename>_append</filename> operator: | ||
938 | <literallayout class='monospaced'> | ||
939 | IMAGE_INSTALL_append = " strace" | ||
940 | </literallayout> | ||
941 | Use of the syntax is important. | ||
942 | Specifically, the space between the quote and the package name, which is | ||
943 | <filename>strace</filename> in this example. | ||
944 | This space is required since the <filename>_append</filename> | ||
945 | operator does not add the space. | ||
946 | </para> | ||
947 | |||
948 | <para> | ||
949 | Furthermore, you must use <filename>_append</filename> instead of the <filename>+=</filename> | ||
950 | operator if you want to avoid ordering issues. | ||
951 | The reason for this is because doing so unconditionally appends to the variable and | ||
952 | avoids ordering problems due to the variable being set in image recipes and | ||
953 | <filename>.bbclass</filename> files with operators like <filename>?=</filename>. | ||
954 | Using <filename>_append</filename> ensures the operation takes affect. | ||
955 | </para> | ||
956 | |||
957 | <para> | ||
958 | As shown in its simplest use, <filename>IMAGE_INSTALL_append</filename> affects | ||
959 | all images. | ||
960 | It is possible to extend the syntax so that the variable applies to a specific image only. | ||
961 | Here is an example: | ||
962 | <literallayout class='monospaced'> | ||
963 | IMAGE_INSTALL_append_pn-core-image-minimal = " strace" | ||
964 | </literallayout> | ||
965 | This example adds <filename>strace</filename> to <filename>core-image-minimal</filename> | ||
966 | only. | ||
967 | </para> | ||
968 | |||
969 | <para> | ||
970 | You can add packages using a similar approach through the | ||
971 | <filename><ulink url='&YOCTO_DOCS_REF_URL;#var-CORE_IMAGE_EXTRA_INSTALL'>CORE_IMAGE_EXTRA_INSTALL</ulink></filename> | ||
972 | variable. | ||
973 | If you use this variable, only <filename>core-image-*</filename> images are affected. | ||
974 | </para> | ||
975 | </section> | ||
976 | |||
977 | <section id='excluding-packages'> | ||
978 | <title>Excluding Packages</title> | ||
979 | |||
980 | <para> | ||
981 | It is possible to filter or mask out <filename>.bb</filename> and | ||
982 | <filename>.bbappend</filename> files such that BitBake ignores them during | ||
983 | the build. | ||
984 | You can do this by providing an expression with the | ||
985 | <filename><ulink url='&YOCTO_DOCS_REF_URL;#var-BBMASK'>BBMASK</ulink></filename> | ||
986 | variable. | ||
987 | Here is an example: | ||
988 | <literallayout class='monospaced'> | ||
989 | BBMASK = ".*/meta-mymachine/recipes-maybe/" | ||
990 | </literallayout> | ||
991 | Here, all <filename>.bb</filename> and <filename>.bbappend</filename> files | ||
992 | in the directory that matches the expression are ignored during the build | ||
993 | process. | ||
994 | </para> | ||
995 | </section> | ||
996 | </section> | ||
997 | </section> | ||
998 | |||
999 | <section id="platdev-newmachine"> | 999 | <section id="platdev-newmachine"> |
1000 | <title>Porting the Yocto Project to a New Machine</title> | 1000 | <title>Porting the Yocto Project to a New Machine</title> |
1001 | 1001 | ||