[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Using conditionals in embedded config?
From: |
Andrei Borzenkov |
Subject: |
Re: Using conditionals in embedded config? |
Date: |
Sat, 6 Feb 2016 21:13:48 +0300 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 |
06.02.2016 17:07, Shea Levy пишет:
> I'm setting up an unassisted android boot process, where I first check
> to see if the system has requested boot into recovery and boot from the
> recovery bootimg if so (booting from the normal bootimg otherwise). None
> of the traditional android partitions are appropriate for a grub config.
You can build standalone image with GRUB on internal memory disk that is
embedded into core.img. That memory disk may then contain grub.cfg with
full scripting capabilities.
OTOH it just another argument in favor of dedicated android loader that
handles all this logic internally. From what you said so far it does not
look like there is much flexibility in boot process anyway.
> I can just add an extra partition (which I'm doing for now), but a) this
> is not supported by official flashing/update mechanisms and b) this
> increases the window during an update to the bootloader where loss of
> power would result in a corrupt system (with embedded config doing all
> of the work, I only need to update boot.img and core.img, with a config
> on a separate partition I also need to update that partition.
>
This is rather orthogonal, but yes, having better support for alternate
install location would indeed reduce risk of unbootable system.
> ~Shea
>
> On 2016-02-06 08:59, Andrei Borzenkov wrote:
>> 06.02.2016 15:28, Shea Levy пишет:
>>> I see. This seems to severely limit the possible use cases of embedded
>>> configs; it also contradicts the example in the manual [1]. Is there
>>
>> Yes, someone already complained about manual. Patches are welcome.
>>
>>> really no way to branch in embedded configs? Would it be possible to
>>> enable branching by including some optional module in the core img?
>>>
>>
>> Why do you need to do it in the first place? What is your use case?
>>
>>> ~Shea
>>>
>>> [1]
>>>
>>> https://www.gnu.org/software/grub/manual/html_node/Embedded-configuration.html#Embedded-configuration
>>>
>>>
>>> On 2016-02-06 00:42, Andrei Borzenkov wrote:
>>>> 06.02.2016 06:24, Shea Levy пишет:
>>>>> Hi all,
>>>>>
>>>>> How can I use if statements in an embedded config? When I try, I get
>>>>
>>>> You can't. embedded config is processed early using rescue mode parser
>>>> which is very simple. Embedded config exists to locate device where
>>>> grub
>>>> is installed in case this information is not available from firmware.
>>>> Everything else cam be done using grub.cfg in this location.
>>>>
>>>>> "unknown command "if"", "unknown command "fi"", etc. I'm including
>>>>> normal, part_gpt, android_bootimg, android_bcb, linux, test, and
>>>>> biosdisk in the core.img (the android_* modules are local
>>>>> modifications,
>>>>> see the grub-devel list for their details but they shouldn't matter).
>>>>>
>>>>> Thanks,
>>>>> Shea
>>>>>
>>>>> _______________________________________________
>>>>> Help-grub mailing list
>>>>> address@hidden
>>>>> https://lists.gnu.org/mailman/listinfo/help-grub
>>>>
>>>>
>>>> _______________________________________________
>>>> Help-grub mailing list
>>>> address@hidden
>>>> https://lists.gnu.org/mailman/listinfo/help-grub
>>>
>>>
>>> _______________________________________________
>>> Help-grub mailing list
>>> address@hidden
>>> https://lists.gnu.org/mailman/listinfo/help-grub
>>
>>
>> _______________________________________________
>> Help-grub mailing list
>> address@hidden
>> https://lists.gnu.org/mailman/listinfo/help-grub
>
>
> _______________________________________________
> Help-grub mailing list
> address@hidden
> https://lists.gnu.org/mailman/listinfo/help-grub