Am Mon, 13 Jun 2022 09:24:52 +0200
schrieb Jan Kiszka <[email protected]>:

> 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.

I just checked one target booting with preempt and several tuning
params. 

$ wc -c /proc/cmdline 
424 /proc/cmdline

I bet one could drop or shorten some, but going up to 1k or simply 4k
might be a good idea. The number should probably be taken from what the
kernel has, or what other bootloaders might have hardcoded.

grub seems to take the value from a header of the kernel binary, for
recent kernels
https://git.savannah.gnu.org/cgit/grub.git/tree/grub-core/loader/i386/linux.c#n715

Henning

> > 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
> >   
> 

-- 
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/20220613104639.585c2dea%40md1za8fc.ad001.siemens.net.

Reply via email to