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

Yoann Congal
2026-04-23T07:29:38Z

On Thu Apr 23, 2026 at 9:18 AM CEST, Xiangyu Chen wrote:
>
> 在 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.

Received, thanks!

I will consider it for the next review cycle.

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

--
Yoann Congal
Smile ECS