On 10.06.22 10:38, Mou, ChengShu(Ben) wrote: > Thanks for your reply. Unfortunately, the parameters can't be reduced. This > kernel is well-tuned for special real time purpose. I think we should find > another way to solve this issue.
Henning, Adriaan, do we really have to create such long lines with isolcpus, rcu_nocbs & Co. that would exceed 256 chars easily? If so, this topic needs to be prioritized. > After checking the code of tools, I found that struct BG_ENVDATA is used for > recording environment variables. It will be written to(or read from) a > specific file located in configuration partition by bg_setenv. > Reading or writing data with fixed size is more convenient than handling data > with variable size. The field kernelparams is defined the same as field > kernelfile with the length limitation of Linux file names. > I think we can add a new constant variable larger than 255(e.g. 1024) for > field kernelparams and modify related logic code to avoid this limitation. > This solution won't break the current mechanism of handling environment > variables. > I don't know if I misunderstood something about this solution. Hope your > suggestions. As I wrote, we can't change anything in the layout of EBGENV.DAT without breaking existing solutions or future versions. The only way forward is to carefully introduce a new version and add backward compatibility to EBG to process both variants. Jan > > With best regards, > Cheng Shu Mou > > Siemens Ltd., China > RC-CN DI FA BL IE > Tianyuan road No.99 > 611731 CHENGDU, China > mailto:[email protected] > www.siemens.com > > > -----Original Message----- > From: Kiszka, Jan (T CED) <[email protected]> > Sent: Tuesday, June 7, 2022 2:57 PM > To: Mou, ChengShu(Ben) (DI FA CTR SVC CN) <[email protected]>; > [email protected] > Subject: Re: Length limitation for kernel parameters > > On 07.06.22 07:58, Mou, ChengShu(Ben) wrote: >> Hello all, >> >> I’m sorry to trouble you. I met a problem when I use bg_setenv. I >> tried to specify kernel parameters but it failed with message “Error, >> kernel arguments string is too long. Maximum of 255 characters permitted.” >> >> After checking the code, I found that a constant variable >> ENV_STRING_LENGTH limited the length of file names and kernel >> parameters. As we know, Linux has a length limitation(255) for file >> names. For kernel parameters, there is no limitation like this. If I >> use a customized Linux kernel with parameters more than 255 >> characters, it will fail. >> >> So, can you provide a workaround for this? Thanks. >> > > You are right, EFI Boot Guard has this unfortunate limitations. We cannot > easily overcome it for the existing versions because it would break backward > compatibility in the field. However, I'm planning to renovate the config file > with a "version 2" and enable EBG to read both versions. No code written yet, > though, just the intention. > > Meanwhile, there might be ways for you to reduce your command line length. > Can you explain what makes it that long? E.g., we recently dropped MTD layout > parameters from an embedded board by moving it into the device tree [1]. That > wasn't hitting EBG's limits yet but was getting close and also improved > readability and maintanability. > > Jan > > [1] > https://github.com/siemens/meta-iot2050/commit/85040da46f6ec3009b96a934bc12fb6cb28de508 > > -- > Siemens AG, Technology > Competence Center Embedded Linux > -- Siemens AG, Technology Competence Center Embedded Linux -- You received this message because you are subscribed to the Google Groups "EFI Boot Guard" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/efibootguard-dev/86f79251-0d82-064b-a0b2-a4eb2d5d7386%40siemens.com.
