diff options
author | Michael Opdenacker <michael.opdenacker@bootlin.com> | 2022-02-14 17:20:08 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2022-03-04 09:39:37 +0000 |
commit | 6df5aa347544bb52e72d641524aaaeffd8b8f6c3 (patch) | |
tree | 4fe04bfd89e8c36921caba8d76b17f278ef07e9e | |
parent | 0966ba1ebb5ca9feb60eb41316a9abc5d242ffe8 (diff) | |
download | poky-6df5aa347544bb52e72d641524aaaeffd8b8f6c3.tar.gz |
documentation: remove references to prelink support
Fixing documentation and updating examples containing "prelink"
in their output.
(From yocto-docs rev: 8927b8fff55fac1bd1fefcff2d16141dbd1ebc51)
Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | documentation/dev-manual/common-tasks.rst | 75 | ||||
-rw-r--r-- | documentation/overview-manual/concepts.rst | 8 | ||||
-rw-r--r-- | documentation/overview-manual/yp-intro.rst | 33 | ||||
-rw-r--r-- | documentation/ref-manual/classes.rst | 15 | ||||
-rw-r--r-- | documentation/ref-manual/faq.rst | 5 | ||||
-rw-r--r-- | documentation/ref-manual/variables.rst | 5 |
6 files changed, 45 insertions, 96 deletions
diff --git a/documentation/dev-manual/common-tasks.rst b/documentation/dev-manual/common-tasks.rst index cfa81176c3..1caf953901 100644 --- a/documentation/dev-manual/common-tasks.rst +++ b/documentation/dev-manual/common-tasks.rst | |||
@@ -2534,13 +2534,6 @@ doing the following: | |||
2534 | where you have installed them and whether those files are in | 2534 | where you have installed them and whether those files are in |
2535 | different locations than the defaults. | 2535 | different locations than the defaults. |
2536 | 2536 | ||
2537 | .. note:: | ||
2538 | |||
2539 | If image prelinking is enabled (e.g. :ref:`image-prelink <ref-classes-image-prelink>` is in :term:`USER_CLASSES` | ||
2540 | which it is by default), prelink will change the binaries in the generated images | ||
2541 | and this often catches people out. Remove that class to ensure binaries are | ||
2542 | preserved exactly if that is necessary. | ||
2543 | |||
2544 | Following Recipe Style Guidelines | 2537 | Following Recipe Style Guidelines |
2545 | --------------------------------- | 2538 | --------------------------------- |
2546 | 2539 | ||
@@ -8273,26 +8266,39 @@ in a format suitable for use in global configuration (e.g., | |||
8273 | output from this command:: | 8266 | output from this command:: |
8274 | 8267 | ||
8275 | $ buildhistory-collect-srcrevs -a | 8268 | $ buildhistory-collect-srcrevs -a |
8276 | # i586-poky-linux | ||
8277 | SRCREV:pn-glibc = "b8079dd0d360648e4e8de48656c5c38972621072" | ||
8278 | SRCREV:pn-glibc-initial = "b8079dd0d360648e4e8de48656c5c38972621072" | ||
8279 | SRCREV:pn-opkg-utils = "53274f087565fd45d8452c5367997ba6a682a37a" | ||
8280 | SRCREV:pn-kmod = "fd56638aed3fe147015bfa10ed4a5f7491303cb4" | ||
8281 | # x86_64-linux | ||
8282 | SRCREV:pn-gtk-doc-stub-native = "1dea266593edb766d6d898c79451ef193eb17cfa" | ||
8283 | SRCREV:pn-dtc-native = "65cc4d2748a2c2e6f27f1cf39e07a5dbabd80ebf" | ||
8284 | SRCREV:pn-update-rc.d-native = "eca680ddf28d024954895f59a241a622dd575c11" | ||
8285 | SRCREV_glibc:pn-cross-localedef-native = "b8079dd0d360648e4e8de48656c5c38972621072" | ||
8286 | SRCREV_localedef:pn-cross-localedef-native = "c833367348d39dad7ba018990bfdaffaec8e9ed3" | ||
8287 | SRCREV:pn-prelink-native = "faa069deec99bf61418d0bab831c83d7c1b797ca" | ||
8288 | SRCREV:pn-opkg-utils-native = "53274f087565fd45d8452c5367997ba6a682a37a" | ||
8289 | SRCREV:pn-kern-tools-native = "23345b8846fe4bd167efdf1bd8a1224b2ba9a5ff" | ||
8290 | SRCREV:pn-kmod-native = "fd56638aed3fe147015bfa10ed4a5f7491303cb4" | ||
8291 | # qemux86-poky-linux | ||
8292 | SRCREV_machine:pn-linux-yocto = "38cd560d5022ed2dbd1ab0dca9642e47c98a0aa1" | ||
8293 | SRCREV_meta:pn-linux-yocto = "a227f20eff056e511d504b2e490f3774ab260d6f" | ||
8294 | # all-poky-linux | 8269 | # all-poky-linux |
8295 | SRCREV:pn-update-rc.d = "eca680ddf28d024954895f59a241a622dd575c11" | 8270 | SRCREV:pn-ca-certificates = "07de54fdcc5806bde549e1edf60738c6bccf50e8" |
8271 | SRCREV:pn-update-rc.d = "8636cf478d426b568c1be11dbd9346f67e03adac" | ||
8272 | # core2-64-poky-linux | ||
8273 | SRCREV:pn-binutils = "87d4632d36323091e731eb07b8aa65f90293da66" | ||
8274 | SRCREV:pn-btrfs-tools = "8ad326b2f28c044cb6ed9016d7c3285e23b673c8" | ||
8275 | SRCREV_bzip2-tests:pn-bzip2 = "f9061c030a25de5b6829e1abf373057309c734c0" | ||
8276 | SRCREV:pn-e2fsprogs = "02540dedd3ddc52c6ae8aaa8a95ce75c3f8be1c0" | ||
8277 | SRCREV:pn-file = "504206e53a89fd6eed71aeaf878aa3512418eab1" | ||
8278 | SRCREV_glibc:pn-glibc = "24962427071fa532c3c48c918e9d64d719cc8a6c" | ||
8279 | SRCREV:pn-gnome-desktop-testing = "e346cd4ed2e2102c9b195b614f3c642d23f5f6e7" | ||
8280 | SRCREV:pn-init-system-helpers = "dbd9197569c0935029acd5c9b02b84c68fd937ee" | ||
8281 | SRCREV:pn-kmod = "b6ecfc916a17eab8f93be5b09f4e4f845aabd3d1" | ||
8282 | SRCREV:pn-libnsl2 = "82245c0c58add79a8e34ab0917358217a70e5100" | ||
8283 | SRCREV:pn-libseccomp = "57357d2741a3b3d3e8425889a6b79a130e0fa2f3" | ||
8284 | SRCREV:pn-libxcrypt = "50cf2b6dd4fdf04309445f2eec8de7051d953abf" | ||
8285 | SRCREV:pn-ncurses = "51d0fd9cc3edb975f04224f29f777f8f448e8ced" | ||
8286 | SRCREV:pn-procps = "19a508ea121c0c4ac6d0224575a036de745eaaf8" | ||
8287 | SRCREV:pn-psmisc = "5fab6b7ab385080f1db725d6803136ec1841a15f" | ||
8288 | SRCREV:pn-ptest-runner = "bcb82804daa8f725b6add259dcef2067e61a75aa" | ||
8289 | SRCREV:pn-shared-mime-info = "18e558fa1c8b90b86757ade09a4ba4d6a6cf8f70" | ||
8290 | SRCREV:pn-zstd = "e47e674cd09583ff0503f0f6defd6d23d8b718d3" | ||
8291 | # qemux86_64-poky-linux | ||
8292 | SRCREV_machine:pn-linux-yocto = "20301aeb1a64164b72bc72af58802b315e025c9c" | ||
8293 | SRCREV_meta:pn-linux-yocto = "2d38a472b21ae343707c8bd64ac68a9eaca066a0" | ||
8294 | # x86_64-linux | ||
8295 | SRCREV:pn-binutils-cross-x86_64 = "87d4632d36323091e731eb07b8aa65f90293da66" | ||
8296 | SRCREV_glibc:pn-cross-localedef-native = "24962427071fa532c3c48c918e9d64d719cc8a6c" | ||
8297 | SRCREV_localedef:pn-cross-localedef-native = "794da69788cbf9bf57b59a852f9f11307663fa87" | ||
8298 | SRCREV:pn-debianutils-native = "de14223e5bffe15e374a441302c528ffc1cbed57" | ||
8299 | SRCREV:pn-libmodulemd-native = "ee80309bc766d781a144e6879419b29f444d94eb" | ||
8300 | SRCREV:pn-virglrenderer-native = "363915595e05fb252e70d6514be2f0c0b5ca312b" | ||
8301 | SRCREV:pn-zstd-native = "e47e674cd09583ff0503f0f6defd6d23d8b718d3" | ||
8296 | 8302 | ||
8297 | .. note:: | 8303 | .. note:: |
8298 | 8304 | ||
@@ -8354,21 +8360,18 @@ Here is an example of ``image-info.txt``: | |||
8354 | .. code-block:: none | 8360 | .. code-block:: none |
8355 | 8361 | ||
8356 | DISTRO = poky | 8362 | DISTRO = poky |
8357 | DISTRO_VERSION = 1.7 | 8363 | DISTRO_VERSION = 3.4+snapshot-a0245d7be08f3d24ea1875e9f8872aa6bbff93be |
8358 | USER_CLASSES = buildstats image-prelink | 8364 | USER_CLASSES = buildstats |
8359 | IMAGE_CLASSES = image_types | 8365 | IMAGE_CLASSES = qemuboot qemuboot license_image |
8360 | IMAGE_FEATURES = debug-tweaks | 8366 | IMAGE_FEATURES = debug-tweaks |
8361 | IMAGE_LINGUAS = | 8367 | IMAGE_LINGUAS = |
8362 | IMAGE_INSTALL = packagegroup-core-boot run-postinsts | 8368 | IMAGE_INSTALL = packagegroup-core-boot speex speexdsp |
8363 | BAD_RECOMMENDATIONS = | 8369 | BAD_RECOMMENDATIONS = |
8364 | NO_RECOMMENDATIONS = | 8370 | NO_RECOMMENDATIONS = |
8365 | PACKAGE_EXCLUDE = | 8371 | PACKAGE_EXCLUDE = |
8366 | ROOTFS_POSTPROCESS_COMMAND = write_package_manifest; license_create_manifest; \ | 8372 | ROOTFS_POSTPROCESS_COMMAND = write_package_manifest; license_create_manifest; cve_check_write_rootfs_manifest; ssh_allow_empty_password; ssh_allow_root_login; postinst_enable_logging; rootfs_update_timestamp; write_image_test_data; empty_var_volatile; sort_passwd; rootfs_reproducible; |
8367 | write_image_manifest ; buildhistory_list_installed_image ; \ | 8373 | IMAGE_POSTPROCESS_COMMAND = buildhistory_get_imageinfo ; |
8368 | buildhistory_get_image_installed ; ssh_allow_empty_password; \ | 8374 | IMAGESIZE = 9265 |
8369 | postinst_enable_logging; rootfs_update_timestamp ; ssh_disable_dns_lookup ; | ||
8370 | IMAGE_POSTPROCESS_COMMAND = buildhistory_get_imageinfo ; | ||
8371 | IMAGESIZE = 6900 | ||
8372 | 8375 | ||
8373 | Other than ``IMAGESIZE``, | 8376 | Other than ``IMAGESIZE``, |
8374 | which is the total size of the files in the image in Kbytes, the | 8377 | which is the total size of the files in the image in Kbytes, the |
diff --git a/documentation/overview-manual/concepts.rst b/documentation/overview-manual/concepts.rst index 5c6364129d..47493786d9 100644 --- a/documentation/overview-manual/concepts.rst +++ b/documentation/overview-manual/concepts.rst | |||
@@ -1036,12 +1036,10 @@ for example, to determine whether or not to run specific tests. See the | |||
1036 | :term:`IMAGE_MANIFEST` | 1036 | :term:`IMAGE_MANIFEST` |
1037 | variable for additional information. | 1037 | variable for additional information. |
1038 | 1038 | ||
1039 | Optimizing processes that are run across the image include ``mklibs``, | 1039 | Optimizing processes that are run across the image include ``mklibs`` |
1040 | ``prelink``, and any other post-processing commands as defined by the | 1040 | and any other post-processing commands as defined by the |
1041 | :term:`ROOTFS_POSTPROCESS_COMMAND` | 1041 | :term:`ROOTFS_POSTPROCESS_COMMAND` |
1042 | variable. The ``mklibs`` process optimizes the size of the libraries, | 1042 | variable. The ``mklibs`` process optimizes the size of the libraries. |
1043 | while the ``prelink`` process optimizes the dynamic linking of shared | ||
1044 | libraries to reduce start up time of executables. | ||
1045 | 1043 | ||
1046 | After the root filesystem is built, processing begins on the image | 1044 | After the root filesystem is built, processing begins on the image |
1047 | through the :ref:`ref-tasks-image` | 1045 | through the :ref:`ref-tasks-image` |
diff --git a/documentation/overview-manual/yp-intro.rst b/documentation/overview-manual/yp-intro.rst index ce2aed519e..a863a7d16e 100644 --- a/documentation/overview-manual/yp-intro.rst +++ b/documentation/overview-manual/yp-intro.rst | |||
@@ -387,39 +387,6 @@ Yocto Project: | |||
387 | You can learn more about the AutoBuilder used by the Yocto Project | 387 | You can learn more about the AutoBuilder used by the Yocto Project |
388 | Autobuilder :doc:`here </test-manual/understand-autobuilder>`. | 388 | Autobuilder :doc:`here </test-manual/understand-autobuilder>`. |
389 | 389 | ||
390 | - *Cross-Prelink:* Prelinking is the process of pre-computing the load | ||
391 | addresses and link tables generated by the dynamic linker as compared | ||
392 | to doing this at runtime. Doing this ahead of time results in | ||
393 | performance improvements when the application is launched and reduced | ||
394 | memory usage for libraries shared by many applications. | ||
395 | |||
396 | Historically, cross-prelink is a variant of prelink, which was | ||
397 | conceived by `Jakub | ||
398 | JelĂnek <https://people.redhat.com/jakub/prelink.pdf>`__ a number of | ||
399 | years ago. Both prelink and cross-prelink are maintained in the same | ||
400 | repository albeit on separate branches. By providing an emulated | ||
401 | runtime dynamic linker (i.e. ``glibc``-derived ``ld.so`` emulation), | ||
402 | the cross-prelink project extends the prelink software's ability to | ||
403 | prelink a sysroot environment. Additionally, the cross-prelink | ||
404 | software enables the ability to work in sysroot style environments. | ||
405 | |||
406 | The dynamic linker determines standard load address calculations | ||
407 | based on a variety of factors such as mapping addresses, library | ||
408 | usage, and library function conflicts. The prelink tool uses this | ||
409 | information, from the dynamic linker, to determine unique load | ||
410 | addresses for executable and linkable format (ELF) binaries that are | ||
411 | shared libraries and dynamically linked. The prelink tool modifies | ||
412 | these ELF binaries with the pre-computed information. The result is | ||
413 | faster loading and often lower memory consumption because more of the | ||
414 | library code can be re-used from shared Copy-On-Write (COW) pages. | ||
415 | |||
416 | The original upstream prelink project only supports running prelink | ||
417 | on the end target device due to the reliance on the target device's | ||
418 | dynamic linker. This restriction causes issues when developing a | ||
419 | cross-compiled system. The cross-prelink adds a synthesized dynamic | ||
420 | loader that runs on the host, thus permitting cross-prelinking | ||
421 | without ever having to run on a read-write target filesystem. | ||
422 | |||
423 | - *Pseudo:* Pseudo is the Yocto Project implementation of | 390 | - *Pseudo:* Pseudo is the Yocto Project implementation of |
424 | `fakeroot <http://man.he.net/man1/fakeroot>`__, which is used to run | 391 | `fakeroot <http://man.he.net/man1/fakeroot>`__, which is used to run |
425 | commands in an environment that seemingly has root privileges. | 392 | commands in an environment that seemingly has root privileges. |
diff --git a/documentation/ref-manual/classes.rst b/documentation/ref-manual/classes.rst index 03dd375776..cba9793332 100644 --- a/documentation/ref-manual/classes.rst +++ b/documentation/ref-manual/classes.rst | |||
@@ -953,21 +953,6 @@ specified by :term:`EFI_PROVIDER` if | |||
953 | Normally, you do not use this class directly. Instead, you add "live" to | 953 | Normally, you do not use this class directly. Instead, you add "live" to |
954 | :term:`IMAGE_FSTYPES`. | 954 | :term:`IMAGE_FSTYPES`. |
955 | 955 | ||
956 | .. _ref-classes-image-prelink: | ||
957 | |||
958 | ``image-prelink.bbclass`` | ||
959 | ========================= | ||
960 | |||
961 | The ``image-prelink`` class enables the use of the ``prelink`` utility | ||
962 | during the :ref:`ref-tasks-rootfs` task, which optimizes | ||
963 | the dynamic linking of shared libraries to reduce executable startup | ||
964 | time. | ||
965 | |||
966 | By default, the class is enabled in the ``local.conf.template`` using | ||
967 | the :term:`USER_CLASSES` variable as follows:: | ||
968 | |||
969 | USER_CLASSES ?= "buildstats image-prelink" | ||
970 | |||
971 | .. _ref-classes-insane: | 956 | .. _ref-classes-insane: |
972 | 957 | ||
973 | ``insane.bbclass`` | 958 | ``insane.bbclass`` |
diff --git a/documentation/ref-manual/faq.rst b/documentation/ref-manual/faq.rst index e06dfd972b..e06b5e6caa 100644 --- a/documentation/ref-manual/faq.rst +++ b/documentation/ref-manual/faq.rst | |||
@@ -455,7 +455,4 @@ changing it? | |||
455 | **A:** The first most obvious change is the system stripping debug symbols from | 455 | **A:** The first most obvious change is the system stripping debug symbols from |
456 | it. Setting :term:`INHIBIT_PACKAGE_STRIP` to stop debug symbols being stripped and/or | 456 | it. Setting :term:`INHIBIT_PACKAGE_STRIP` to stop debug symbols being stripped and/or |
457 | :term:`INHIBIT_PACKAGE_DEBUG_SPLIT` to stop debug symbols being split into a separate | 457 | :term:`INHIBIT_PACKAGE_DEBUG_SPLIT` to stop debug symbols being split into a separate |
458 | file will ensure the binary is unchanged. The other less obvious thing that can | 458 | file will ensure the binary is unchanged. |
459 | happen is prelinking of the image. This is set by default in local.conf via | ||
460 | :term:`USER_CLASSES` which can contain 'image-prelink'. If you remove that, the | ||
461 | image will not be prelinked meaning the binaries would be unchanged. | ||
diff --git a/documentation/ref-manual/variables.rst b/documentation/ref-manual/variables.rst index c9d7cfbe92..005456f0c4 100644 --- a/documentation/ref-manual/variables.rst +++ b/documentation/ref-manual/variables.rst | |||
@@ -8537,12 +8537,11 @@ system and gives an overview of their function and contents. | |||
8537 | 8537 | ||
8538 | :term:`USER_CLASSES` | 8538 | :term:`USER_CLASSES` |
8539 | A list of classes to globally inherit. These classes are used by the | 8539 | A list of classes to globally inherit. These classes are used by the |
8540 | OpenEmbedded build system to enable extra features (e.g. | 8540 | OpenEmbedded build system to enable extra features. |
8541 | ``buildstats``, ``image-prelink``, and so forth). | ||
8542 | 8541 | ||
8543 | The default list is set in your ``local.conf`` file:: | 8542 | The default list is set in your ``local.conf`` file:: |
8544 | 8543 | ||
8545 | USER_CLASSES ?= "buildstats image-prelink" | 8544 | USER_CLASSES ?= "buildstats" |
8546 | 8545 | ||
8547 | For more information, see | 8546 | For more information, see |
8548 | ``meta-poky/conf/local.conf.sample`` in the :term:`Source Directory`. | 8547 | ``meta-poky/conf/local.conf.sample`` in the :term:`Source Directory`. |