From 109a6addc28305ecbb580907db86e0ea05880258 Mon Sep 17 00:00:00 2001 From: Christos Gavros Date: Sat, 17 May 2025 16:48:45 +0200 Subject: ref-manual/variables.rst: document the IMAGE_ROOTFS_MAXSIZE variable This variable specifies the maximum allowed size of the generated image in kilobytes. CC: Yoann Congal CC: Randy MacLeod CC: Antonin Godard CC: Quentin Schulz (From yocto-docs rev: 7b3996064f539474d2204da7a8bb9ff531cf8b0c) Signed-off-by: Christos Gavros Signed-off-by: Antonin Godard (cherry picked from commit f3ddc92081363aa7ef7d4fc2c3b918f32f7bda05) Signed-off-by: Antonin Godard Signed-off-by: Steve Sakoman --- documentation/ref-manual/variables.rst | 30 +++++++++++++++++++++++++++--- 1 file changed, 27 insertions(+), 3 deletions(-) diff --git a/documentation/ref-manual/variables.rst b/documentation/ref-manual/variables.rst index 643a3e7ae8..72e0c35a35 100644 --- a/documentation/ref-manual/variables.rst +++ b/documentation/ref-manual/variables.rst @@ -4299,9 +4299,33 @@ system and gives an overview of their function and contents. IMAGE_ROOTFS_EXTRA_SPACE = "41943040" :term:`IMAGE_ROOTFS_MAXSIZE` - Defines the maximum size in Kbytes for the generated image. If the - generated image size is above that, the build will fail. It's a good - idea to set this variable for images that need to fit on a limited + Defines the maximum allowed size of the generated image in kilobytes. + The build will fail if the generated image size exceeds this value. + + The generated image size undergoes several calculation steps before being + compared to :term:`IMAGE_ROOTFS_MAXSIZE`. + In the first step, the size of the directory pointed to by :term:`IMAGE_ROOTFS` + is calculated. + In the second step, the result from the first step is multiplied + by :term:`IMAGE_OVERHEAD_FACTOR`. + In the third step, the result from the second step is compared with + :term:`IMAGE_ROOTFS_SIZE`. The larger value of these is added to + :term:`IMAGE_ROOTFS_EXTRA_SPACE`. + In the fourth step, the result from the third step is checked for + a decimal part. If it has one, it is rounded up to the next integer. + If it does not, it is simply converted into an integer. + In the fifth step, the :term:`IMAGE_ROOTFS_ALIGNMENT` is added to the result + from the fourth step and "1" is subtracted. + In the sixth step, the remainder of the division between the result + from the fifth step and :term:`IMAGE_ROOTFS_ALIGNMENT` is subtracted from the + result of the fifth step. In this way, the result from the fourth step is + rounded up to the nearest multiple of :term:`IMAGE_ROOTFS_ALIGNMENT`. + + Thus, if the :term:`IMAGE_ROOTFS_MAXSIZE` is set, is compared with the result + of the above calculations and is independent of the final image type. + No default value is set for :term:`IMAGE_ROOTFS_MAXSIZE`. + + It's a good idea to set this variable for images that need to fit on a limited space (e.g. SD card, a fixed-size partition, ...). :term:`IMAGE_ROOTFS_SIZE` -- cgit v1.2.3-54-g00ecf