Re: [OE-core][PATCH] grub: update search parameter

Xiangyu Chen
2026-04-23T07:18:48Z

在 2026/4/23 14:38, Yoann Congal via lists.openembedded.org 写道:
> CAUTION: This email comes from a non Wind River email account!
> Do not click links or open attachments unless you recognize the sender and know the content is safe.
>
> On Thu Apr 23, 2026 at 8:04 AM CEST, Xiangyu Chen via lists.openembedded.org wrote:
>> Hi Richard,
>>
>>
>> Since the behavior was found in OE scarthgap branch, could you please
>> help to cherry-pick this
>>
>> commit: 42b530581f72 ("grub: update search parameter") to whinlatter and
>> scarthgap branch?
> Hello,
>
> For whinlatter, that will be too late (the last build has already left for
> QA).
>
> For scarthgap, I would need to look into it (change does not look
> trivial). Can you send a rebased patch targeting scarthgap?
>
> Thanks!

Thanks for your info, a rebased patch will be sent later.

Br,

Xiangyu

>
>>
>> Thanks.
>>
>>
>> Br,
>>
>> Xiangyu
>>
>> 在 2026/3/31 10:57, Xiangyu Chen 写道:
>>> Hi Paul,
>>>
>>>
>>> On 3/5/26 19:49, Paul Barker wrote:
>>>> I'm not sure that this can work for all use cases. The grub
>>>> documentatation for hints says "First try the device HINT" (i.e. it's
>>>> explicitly a device), whereas the documentation for cmdpath says that it
>>>> is "an absolute directory name".
>>> While the documentation defines $cmdpath as a directory and hints as
>>> devices, grub’s internal implementation of
>>> grub_disk_open (grub-core/kern/disk.c [1]) is designed to handle this
>>> exact "device+path" format.
>>>
>>> When a hint like (hd0,gpt1)/EFI/BOOT/ is passed, grub_disk_open calls
>>> find_part_sep to locate the partition/path delimiter.
>>> It then uses grub_memcpy to extract only the device part (e.g., (hd0)
>>> into the raw buffer for the disk driver.
>>>
>>> The remaining string (gpt1)/EFI/BOOT/) is passed to
>>> grub_partition_probe, which identifies the partition and gracefully
>>> ignores the trailing directory path.
>>>
>>> The current syntax ($cmdpath) results in double parentheses ((hd0...))
>>> if the variable is already populated.
>>> In grub_disk_open, this extracts a malformed device name ((hd0 which
>>> no driver can open, triggering a hard no such device error.
>>>
>>>
>>> Ref:
>>>
>>> [1]
>>> https://elixir.bootlin.com/grub/grub-2.14/source/grub-core/kern/disk.c#L192
>>>
>>>
>>> Br,
>>>
>>> Xiangyu
>>>
>
> --
> Yoann Congal
> Smile ECS
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#235740): https://lists.openembedded.org/g/openembedded-core/message/235740
> Mute This Topic: https://lists.openembedded.org/mt/118009422/7175143
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [xiangyu.chen@eng.windriver.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>