I think we should create a new loader(maybe separating common linux and
android code into a lib) for this rather than a filesystem because it would
simplify grub.cfg files.
Also in case we'll ever need to support 2ndloader(I'm like 99% sure this
will never happen though) it would be easier to implement this in the
android loader rather than adding another command for that.

On Fri, Jan 29, 2016 at 3:12 PM, Shea Levy <s...@shealevy.com> wrote:

> On 2016-01-29 04:18, Andrei Borzenkov wrote:
>
>> On Fri, Jan 29, 2016 at 2:48 AM,  <s...@shealevy.com> wrote:
>>
>>> Is it important that this go the "dedicated loader" route? It looks like
>>> quite a bit of work to abstract out the functionality of the "linux" and
>>> "initrd" commands in a way that enables reuse from other commands.
>>>
>>>
>> "It needs work" is rather weak argument against doing something.
>>
>> Actually it is not that much work, at least for initial
>> implementation. You could use "anonymous" files that are instantiated
>> on the fly (see verify command for example how to do it); that needs
>> minimal changes to linux/initrd to split out front end part that opens
>> files. All further processing would then be shared.
>>
>>
> OK, will take this approach.
>
>
>>
>>> The main reason was that it wasn't clear how to easily reuse the code in
>>> the
>>> linux module to load the kernel and initrd; a secondary reason is to
>>> allow
>>> overriding the kernel command line or whatever provided in the bootimg.
>>> If
>>>
>>
>> Dealing with stored command line on grub shell level is not simpler
>> due to fun with word splitting and quoting. Working with it in C would
>> be easier. But here again is the question if we can treat Android as
>> Linux. E.g. does Android support (or required to support) vga and mem
>> parameters? If not, this part is obviously redundant.
>>
>>
> At least for android-x86 (the part I'm most familiar with), android is
> just a normal Linux as far as bootloading/command line is concerned.
>
>
>
>> Nothing prevents Android command from supporting extra kernel
>> arguments that override stored command line.
>>
>> there is a relatively straightforward path to fix the first one, though,
>>> I'm
>>> happy to do that and figure out ways to override later once the need
>>> actually arises, if ever.
>>>
>>> ~Shea
>>>
>>>
>>>
>>> ----- Original Message -----
>>> From:
>>> "The development of GNU GRUB" <grub-devel@gnu.org>
>>>
>>> To:
>>> "The development of GNU GRUB" <grub-devel@gnu.org>
>>> Cc:
>>> "Shea Levy" <s...@shealevy.com>
>>> Sent:
>>> Wed, 27 Jan 2016 10:22:34 +0300
>>> Subject:
>>> Re: [PATCH v2] Initial support for the android bootimg filesystem.
>>>
>>>
>>> On Tue, Jan 26, 2016 at 10:42 PM, Shea Levy <s...@shealevy.com> wrote:
>>>
>>>> Currently, the kernel and, if present, the ramdisk are made available as
>>>> regular files.
>>>>
>>>
>>> ...
>>>
>>>> +
>>>> +struct boot_img_hdr
>>>> +{
>>>> + uint8_t magic[BOOT_MAGIC_SIZE];
>>>> +
>>>> + uint32_t kernel_size;
>>>> + uint32_t kernel_addr;
>>>> +
>>>> + uint32_t ramdisk_size;
>>>> + uint32_t ramdisk_addr;
>>>> +
>>>> + uint32_t second_size;
>>>> + uint32_t second_addr;
>>>> +
>>>> + uint32_t tags_addr;
>>>> + uint32_t page_size;
>>>> + uint32_t unused[2];
>>>> +
>>>> + uint8_t name[BOOT_NAME_SIZE];
>>>> +
>>>> + uint8_t cmdline[BOOT_ARGS_SIZE];
>>>> +
>>>> + uint32_t id[8];
>>>> +
>>>> + uint8_t extra_cmdline[BOOT_EXTRA_ARGS_SIZE];
>>>> +} GRUB_PACKED;
>>>> +
>>>>
>>>
>>> What is the use case for exposing it as filesystem in the first place?
>>> Dedicated android loader that reads them looks more logical.
>>>
>>> Should this layout/content ever change in the future it will be near
>>> to impossible to modify without breaking unknown number of users
>>> relying on it; while simple
>>>
>>> android hd1,msdos4
>>>
>>> can transparently handle any forward and backward compatibility
>>> without impacting existing grub.cfg.
>>>
>>> _______________________________________________
>>> Grub-devel mailing list
>>> Grub-devel@gnu.org
>>> https://lists.gnu.org/mailman/listinfo/grub-devel
>>>
>>
>> _______________________________________________
>> Grub-devel mailing list
>> Grub-devel@gnu.org
>> https://lists.gnu.org/mailman/listinfo/grub-devel
>>
>
>
> _______________________________________________
> Grub-devel mailing list
> Grub-devel@gnu.org
> https://lists.gnu.org/mailman/listinfo/grub-devel
>
_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel

Reply via email to