grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 4/4] Allow protocol to be separated from host with a semicolo


From: Andrei Borzenkov
Subject: Re: [PATCH 4/4] Allow protocol to be separated from host with a semicolon
Date: Wed, 25 Jan 2017 10:37:09 +0300

On Wed, Jan 25, 2017 at 10:16 AM, Matthew Garrett <address@hidden> wrote:
> On Tue, Jan 24, 2017 at 10:56 PM, Andrei Borzenkov <address@hidden> wrote:
>> On Wed, Jan 25, 2017 at 7:25 AM, Matthew Garrett <address@hidden> wrote:
>>> If prefix isn't set then won't bootfile be interpreted as the device plus 
>>> file?
>>>
>>
>> No. That would mean "parsing URI" that I mentioned.
>
> My experience is that configfile (http,example.com)grub/config works
> as you'd expect it to, and that set
> endpoint=$net_efinet0_dhcp_boot_file; configfile $endpoint does the
> same. Am I hitting some corner case where things are being incorrectly
> parsed and so giving me unintended functionality?
>

When grub starts it tries to determine device and path it was booted
from. For network boot it currently means examining DHCP ACK packet
that is normally provided by firmware and setting device to
tftp,$next_ip and path to $bootfile. There is no provision to set
protocol to anything else nor to parse $bootfile to extract
protocol/server.

If you speak about "configfile something" you are past this point so
DHCP $bootfile option is not relevant at all.

>>> We need the ability to pass port as well, so that would still be 
>>> insufficient.
>>
>> Good. So start with design proposal that is extensible enough.
>>
>> But TBH - all of this can already be implemented using grub scripting.
>> Use custom DHCP options or parse bootfile using regex. No code changes
>> is needed - we support generic scripting for a reason.
>
> How are custom DHCP options handled? I can't find anything in the
> documentation about them being interpreted, and a quick look at the
> code only shows it setting known variables.

You have net_get_dhcp_option to fetch arbitrary option value from DHCP
ACK packet and put it in variable for further processing. I'm
definitely open to improving this command to make it more useful if it
turns out lacking something.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]