diff options
Diffstat (limited to 'documentation/migration-guides/migration-5.3.rst')
-rw-r--r-- | documentation/migration-guides/migration-5.3.rst | 92 |
1 files changed, 92 insertions, 0 deletions
diff --git a/documentation/migration-guides/migration-5.3.rst b/documentation/migration-guides/migration-5.3.rst index 22653fc911..4d2e1763ce 100644 --- a/documentation/migration-guides/migration-5.3.rst +++ b/documentation/migration-guides/migration-5.3.rst | |||
@@ -14,6 +14,56 @@ Migration notes for |yocto-ver| (|yocto-codename|) | |||
14 | This section provides migration information for moving to the Yocto | 14 | This section provides migration information for moving to the Yocto |
15 | Project |yocto-ver| Release (codename "|yocto-codename|") from the prior release. | 15 | Project |yocto-ver| Release (codename "|yocto-codename|") from the prior release. |
16 | 16 | ||
17 | :term:`WORKDIR` changes | ||
18 | ~~~~~~~~~~~~~~~~~~~~~~~ | ||
19 | |||
20 | ``S = ${WORKDIR}/something`` no longer supported | ||
21 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ||
22 | |||
23 | If a recipe has :term:`S` set to be ``${``\ :term:`WORKDIR`\ ``}/something``, | ||
24 | this is no longer supported, and an error will be issued. The recipe should be | ||
25 | changed to:: | ||
26 | |||
27 | S = "${UNPACKDIR}/something" | ||
28 | |||
29 | ``S = ${WORKDIR}/git`` and ``S = ${UNPACKDIR}/git`` should be removed | ||
30 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ||
31 | |||
32 | The Git fetcher now unpacks into the :term:`BB_GIT_DEFAULT_DESTSUFFIX` directory | ||
33 | rather than the ``git/`` directory under :term:`UNPACKDIR`. | ||
34 | :term:`BB_GIT_DEFAULT_DESTSUFFIX` is set in :term:`OpenEmbedded-Core | ||
35 | (OE-Core)`'s :oe_git:`bitbake.conf | ||
36 | </openembedded-core/tree/meta/conf/bitbake.conf>` to :term:`BP`. | ||
37 | |||
38 | This location matches the default value of :term:`S` set by bitbake.conf, so :term:`S` | ||
39 | setting in recipes can and should be removed. | ||
40 | |||
41 | Note that when :term:`S` is set to a subdirectory of the git checkout, then it | ||
42 | should be instead adjusted according to the previous point:: | ||
43 | |||
44 | S = "${UNPACKDIR}/${BP}/something" | ||
45 | |||
46 | Note that "git" as the source checkout location can be hardcoded | ||
47 | in other places in recipes; when it's in :term:`SRC_URI`, replace with | ||
48 | :term:`BB_GIT_DEFAULT_DESTSUFFIX`, otherwise replace with :term:`BP`. | ||
49 | |||
50 | How to make those adjustments without tedious manual editing | ||
51 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ||
52 | |||
53 | The following sed command can be used to remove S = "${WORKDIR}/git | ||
54 | across a whole layer:: | ||
55 | |||
56 | sed -i "/^S = \"\${WORKDIR}\/git\"/d" `find . -name *.bb -o -name *.inc -o -name *.bbclass` | ||
57 | |||
58 | Then, the following command can tweak the remaining :term:`S` assignments to | ||
59 | refer to :term:`UNPACKDIR` instead of :term:`WORKDIR`:: | ||
60 | |||
61 | sed -i "s/^S = \"\${WORKDIR}\//S = \"\${UNPACKDIR}\//g" `find . -name *.bb -o -name *.inc -o -name *.bbclass` | ||
62 | |||
63 | The first change can introduce a lot of consecutive empty lines, so those can be removed with:: | ||
64 | |||
65 | sed -i -z -E 's/([ \t\f\v\r]*\n){3,}/\n\n/g' `find . -name *.bb -o -name *.inc` | ||
66 | |||
17 | Supported kernel versions | 67 | Supported kernel versions |
18 | ~~~~~~~~~~~~~~~~~~~~~~~~~ | 68 | ~~~~~~~~~~~~~~~~~~~~~~~~~ |
19 | 69 | ||
@@ -59,6 +109,48 @@ Removed classes | |||
59 | 109 | ||
60 | The following classes have been removed in this release: | 110 | The following classes have been removed in this release: |
61 | 111 | ||
112 | - ``kernel-fitimage.bbclass``: the class has been replaced by the | ||
113 | :ref:`ref-classes-kernel-fit-image` class. The new implementation resolves | ||
114 | the long-standing :yocto_bugs:`bug 12912</show_bug.cgi?id=12912>`. | ||
115 | |||
116 | If you are using the kernel FIT image support, you will need to: | ||
117 | |||
118 | #. Make sure to include ``kernel-fit-extra-artifacts`` in your :term:`KERNEL_CLASSES` | ||
119 | variable to ensure the required files are exposed to the :term:`DEPLOY_DIR_IMAGE` | ||
120 | directory:: | ||
121 | |||
122 | KERNEL_CLASSES += "kernel-fit-extra-artifacts" | ||
123 | |||
124 | #. Use the specific FIT image recipe rather than the base kernel recipe. | ||
125 | For example, instead of:: | ||
126 | |||
127 | bitbake linux-yocto | ||
128 | |||
129 | the FIT image is now build by:: | ||
130 | |||
131 | bitbake linux-yocto-fitimage | ||
132 | |||
133 | For custom kernel recipes, creating a corresponding custom FIT image recipe | ||
134 | is usually a good approach. | ||
135 | |||
136 | #. If a FIT image is used as a replacement for the kernel image in the root | ||
137 | filesystem, add the following configuration to your machine configuration | ||
138 | file:: | ||
139 | |||
140 | # Create and deploy the vmlinux artifact which gets included into the FIT image | ||
141 | KERNEL_CLASSES += "kernel-fit-extra-artifacts" | ||
142 | |||
143 | # Do not install the kernel image package | ||
144 | RRECOMMENDS:${KERNEL_PACKAGE_NAME}-base = "" | ||
145 | # Install the FIT image package | ||
146 | MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "linux-yocto-fitimage" | ||
147 | |||
148 | # Configure the image.bbclass to depend on the FIT image instead of only | ||
149 | # the kernel to ensure the FIT image is built and deployed with the image | ||
150 | KERNEL_DEPLOY_DEPEND = "linux-yocto-fitimage:do_deploy" | ||
151 | |||
152 | See the :ref:`ref-classes-kernel-fit-image` section for more information. | ||
153 | |||
62 | Removed features | 154 | Removed features |
63 | ~~~~~~~~~~~~~~~~ | 155 | ~~~~~~~~~~~~~~~~ |
64 | 156 | ||