summaryrefslogtreecommitdiffstats
path: root/documentation
diff options
context:
space:
mode:
authorMichael Opdenacker <michael.opdenacker@bootlin.com>2022-02-14 17:20:08 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2022-03-04 09:39:37 +0000
commit6df5aa347544bb52e72d641524aaaeffd8b8f6c3 (patch)
tree4fe04bfd89e8c36921caba8d76b17f278ef07e9e /documentation
parent0966ba1ebb5ca9feb60eb41316a9abc5d242ffe8 (diff)
downloadpoky-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>
Diffstat (limited to 'documentation')
-rw-r--r--documentation/dev-manual/common-tasks.rst75
-rw-r--r--documentation/overview-manual/concepts.rst8
-rw-r--r--documentation/overview-manual/yp-intro.rst33
-rw-r--r--documentation/ref-manual/classes.rst15
-rw-r--r--documentation/ref-manual/faq.rst5
-rw-r--r--documentation/ref-manual/variables.rst5
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
2544Following Recipe Style Guidelines 2537Following Recipe Style Guidelines
2545--------------------------------- 2538---------------------------------
2546 2539
@@ -8273,26 +8266,39 @@ in a format suitable for use in global configuration (e.g.,
8273output from this command:: 8266output 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
8373Other than ``IMAGESIZE``, 8376Other than ``IMAGESIZE``,
8374which is the total size of the files in the image in Kbytes, the 8377which 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`
1037variable for additional information. 1037variable for additional information.
1038 1038
1039Optimizing processes that are run across the image include ``mklibs``, 1039Optimizing processes that are run across the image include ``mklibs``
1040``prelink``, and any other post-processing commands as defined by the 1040and any other post-processing commands as defined by the
1041:term:`ROOTFS_POSTPROCESS_COMMAND` 1041:term:`ROOTFS_POSTPROCESS_COMMAND`
1042variable. The ``mklibs`` process optimizes the size of the libraries, 1042variable. The ``mklibs`` process optimizes the size of the libraries.
1043while the ``prelink`` process optimizes the dynamic linking of shared
1044libraries to reduce start up time of executables.
1045 1043
1046After the root filesystem is built, processing begins on the image 1044After the root filesystem is built, processing begins on the image
1047through the :ref:`ref-tasks-image` 1045through 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
953Normally, you do not use this class directly. Instead, you add "live" to 953Normally, 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
961The ``image-prelink`` class enables the use of the ``prelink`` utility
962during the :ref:`ref-tasks-rootfs` task, which optimizes
963the dynamic linking of shared libraries to reduce executable startup
964time.
965
966By default, the class is enabled in the ``local.conf.template`` using
967the :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
456it. Setting :term:`INHIBIT_PACKAGE_STRIP` to stop debug symbols being stripped and/or 456it. 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
458file will ensure the binary is unchanged. The other less obvious thing that can 458file will ensure the binary is unchanged.
459happen 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
461image 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`.