Re: [OE-core] image.bbclass question

2023-08-02 Thread Ryan Eatmon via lists.openembedded.org


In looking at the poky tiny initramfs image, it sets:

IMAGE_FSTYPES = "${INITRAMFS_FSTYPES}"


Which would then make the two variable the same and make the check kick 
in.  But I cannot find where it manual says that you have to make them 
the same value and cannot generate an initramfs image along with all 
other image types.




On 8/2/2023 1:14 PM, Ryan Eatmon via lists.openembedded.org wrote:


I added some debugging to print out the various variables on interest 
and got this output:


DEBUG: image_fstypes= tar.xz wic.xz wic.bmap tar.xz.md5sum cpio cpio.xz
DEBUG: initramfs_fstypes=cpio.gz cpio cpio.xz
DEBUG: initramfs_maxsize=65536.00
DEBUG: base_size=74366

So I'm not sure I agree with what you are saying.  Again, I might be 
missing something in how the == is supposed to work when comparing the 
two variables...



On 8/2/2023 12:17 PM, Christopher Larson wrote:
Image builds obey IMAGE_FSTYPES. Initramfs images set that to 
INITRAMFS_FSTYPES, so it's comparing the two as a check to see if this 
is an initramfs image. It isn't making sure it matches a hardcoded 
list, so intersection isn't necessary.


On Wed, Aug 2, 2023 at 9:41 AM Ryan Eatmon via lists.openembedded.org 
 > wrote:



    I am trying to add support for the INITRAMFS_MAXSIZE into the meta-ti
    layer for our tiny image.

    I have added the following to our tiny image file:

    INITRAMFS_FSTYPES += "cpio cpio.xz"
    INITRAMFS_MAXSIZE = "65536"

    But I'm not seeing any errors about the image being too big being
    printed.

    In looking at the code in question:

      # Check the initramfs size against INITRAMFS_MAXSIZE (if set)
      if image_fstypes == initramfs_fstypes != ''  and
    initramfs_maxsize:
          initramfs_maxsize_int = int(initramfs_maxsize)
          if base_size > initramfs_maxsize_int:
              bb.error("The initramfs size %d(K) exceeds
    INITRAMFS_MAXSIZE: %d(K)" % \
                  (base_size, initramfs_maxsize_int))
              bb.error("You can set INITRAMFS_MAXSIZE a larger value.
    Usually, it should")
              bb.fatal("be less than 1/2 of ram size, or you may
    fail to
    boot it.\n")


    What is the purpose of the:

    if image_fstypes == initramfs_fstypes != ''


    It seems to looking for the ONLY images being built are the exact 
same
    as the INITRAMFS_FSTYPES...  Shouldn't that be more of an 
intersection
    check?  If any of the INITRAMFS_FSTYPES are in the IMAGE_FSTYPES, 
then

    check the size?

    Or am I missing something?



    --     Ryan Eatmon reat...@ti.com 
    -
    Texas Instruments, Inc.  -  LCPD  -  MGTS




--
Christopher Larson
chris_lar...@mentor.com, chris.lar...@siemens.com, kerg...@gmail.com
Principal Software Engineer, Embedded Linux Solutions, Siemens Digital 
Industries Software








--
Ryan Eatmonreat...@ti.com
-
Texas Instruments, Inc.  -  LCPD  -  MGTS

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#185427): 
https://lists.openembedded.org/g/openembedded-core/message/185427
Mute This Topic: https://lists.openembedded.org/mt/100509426/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [OE-core] image.bbclass question

2023-08-02 Thread Ryan Eatmon via lists.openembedded.org


I added some debugging to print out the various variables on interest 
and got this output:


DEBUG: image_fstypes= tar.xz wic.xz wic.bmap tar.xz.md5sum cpio cpio.xz
DEBUG: initramfs_fstypes=cpio.gz cpio cpio.xz
DEBUG: initramfs_maxsize=65536.00
DEBUG: base_size=74366

So I'm not sure I agree with what you are saying.  Again, I might be 
missing something in how the == is supposed to work when comparing the 
two variables...



On 8/2/2023 12:17 PM, Christopher Larson wrote:
Image builds obey IMAGE_FSTYPES. Initramfs images set that to 
INITRAMFS_FSTYPES, so it's comparing the two as a check to see if this 
is an initramfs image. It isn't making sure it matches a hardcoded list, 
so intersection isn't necessary.


On Wed, Aug 2, 2023 at 9:41 AM Ryan Eatmon via lists.openembedded.org 
 > wrote:



I am trying to add support for the INITRAMFS_MAXSIZE into the meta-ti
layer for our tiny image.

I have added the following to our tiny image file:

INITRAMFS_FSTYPES += "cpio cpio.xz"
INITRAMFS_MAXSIZE = "65536"

But I'm not seeing any errors about the image being too big being
printed.

In looking at the code in question:

      # Check the initramfs size against INITRAMFS_MAXSIZE (if set)
      if image_fstypes == initramfs_fstypes != ''  and
initramfs_maxsize:
          initramfs_maxsize_int = int(initramfs_maxsize)
          if base_size > initramfs_maxsize_int:
              bb.error("The initramfs size %d(K) exceeds
INITRAMFS_MAXSIZE: %d(K)" % \
                  (base_size, initramfs_maxsize_int))
              bb.error("You can set INITRAMFS_MAXSIZE a larger value.
Usually, it should")
              bb.fatal("be less than 1/2 of ram size, or you may
fail to
boot it.\n")


What is the purpose of the:

if image_fstypes == initramfs_fstypes != ''


It seems to looking for the ONLY images being built are the exact same
as the INITRAMFS_FSTYPES...  Shouldn't that be more of an intersection
check?  If any of the INITRAMFS_FSTYPES are in the IMAGE_FSTYPES, then
check the size?

Or am I missing something?



-- 
Ryan Eatmon reat...@ti.com 

-
Texas Instruments, Inc.  -  LCPD  -  MGTS






--
Christopher Larson
chris_lar...@mentor.com, chris.lar...@siemens.com, kerg...@gmail.com
Principal Software Engineer, Embedded Linux Solutions, Siemens Digital 
Industries Software


--
Ryan Eatmonreat...@ti.com
-
Texas Instruments, Inc.  -  LCPD  -  MGTS

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#185425): 
https://lists.openembedded.org/g/openembedded-core/message/185425
Mute This Topic: https://lists.openembedded.org/mt/100509426/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [OE-core] image.bbclass question

2023-08-02 Thread Christopher Larson
Image builds obey IMAGE_FSTYPES. Initramfs images set that to
INITRAMFS_FSTYPES, so it's comparing the two as a check to see if this is
an initramfs image. It isn't making sure it matches a hardcoded list, so
intersection isn't necessary.

On Wed, Aug 2, 2023 at 9:41 AM Ryan Eatmon via lists.openembedded.org
 wrote:

>
> I am trying to add support for the INITRAMFS_MAXSIZE into the meta-ti
> layer for our tiny image.
>
> I have added the following to our tiny image file:
>
> INITRAMFS_FSTYPES += "cpio cpio.xz"
> INITRAMFS_MAXSIZE = "65536"
>
> But I'm not seeing any errors about the image being too big being printed.
>
> In looking at the code in question:
>
>  # Check the initramfs size against INITRAMFS_MAXSIZE (if set)
>  if image_fstypes == initramfs_fstypes != ''  and initramfs_maxsize:
>  initramfs_maxsize_int = int(initramfs_maxsize)
>  if base_size > initramfs_maxsize_int:
>  bb.error("The initramfs size %d(K) exceeds
> INITRAMFS_MAXSIZE: %d(K)" % \
>  (base_size, initramfs_maxsize_int))
>  bb.error("You can set INITRAMFS_MAXSIZE a larger value.
> Usually, it should")
>  bb.fatal("be less than 1/2 of ram size, or you may fail to
> boot it.\n")
>
>
> What is the purpose of the:
>
> if image_fstypes == initramfs_fstypes != ''
>
>
> It seems to looking for the ONLY images being built are the exact same
> as the INITRAMFS_FSTYPES...  Shouldn't that be more of an intersection
> check?  If any of the INITRAMFS_FSTYPES are in the IMAGE_FSTYPES, then
> check the size?
>
> Or am I missing something?
>
>
>
> --
> Ryan Eatmonreat...@ti.com
> -
> Texas Instruments, Inc.  -  LCPD  -  MGTS
>
> 
>
>

-- 
Christopher Larson
chris_lar...@mentor.com, chris.lar...@siemens.com, kerg...@gmail.com
Principal Software Engineer, Embedded Linux Solutions, Siemens Digital
Industries Software

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#185418): 
https://lists.openembedded.org/g/openembedded-core/message/185418
Mute This Topic: https://lists.openembedded.org/mt/100509426/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core] image.bbclass question

2023-08-02 Thread Ryan Eatmon via lists.openembedded.org


I am trying to add support for the INITRAMFS_MAXSIZE into the meta-ti 
layer for our tiny image.


I have added the following to our tiny image file:

INITRAMFS_FSTYPES += "cpio cpio.xz"
INITRAMFS_MAXSIZE = "65536"

But I'm not seeing any errors about the image being too big being printed.

In looking at the code in question:

# Check the initramfs size against INITRAMFS_MAXSIZE (if set)
if image_fstypes == initramfs_fstypes != ''  and initramfs_maxsize:
initramfs_maxsize_int = int(initramfs_maxsize)
if base_size > initramfs_maxsize_int:
bb.error("The initramfs size %d(K) exceeds 
INITRAMFS_MAXSIZE: %d(K)" % \

(base_size, initramfs_maxsize_int))
bb.error("You can set INITRAMFS_MAXSIZE a larger value. 
Usually, it should")
bb.fatal("be less than 1/2 of ram size, or you may fail to 
boot it.\n")



What is the purpose of the:

if image_fstypes == initramfs_fstypes != ''


It seems to looking for the ONLY images being built are the exact same 
as the INITRAMFS_FSTYPES...  Shouldn't that be more of an intersection 
check?  If any of the INITRAMFS_FSTYPES are in the IMAGE_FSTYPES, then 
check the size?


Or am I missing something?



--
Ryan Eatmonreat...@ti.com
-
Texas Instruments, Inc.  -  LCPD  -  MGTS

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#185415): 
https://lists.openembedded.org/g/openembedded-core/message/185415
Mute This Topic: https://lists.openembedded.org/mt/100509426/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-