[U-Boot] [PATCH V2] add README.distro file

Stephen Warren swarren at wwwdotorg.org
Mon Jan 12 18:34:17 CET 2015


On 01/11/2015 11:15 AM, Tom Rini wrote:
> On Sun, Jan 11, 2015 at 10:54:03AM -0700, Stephen Warren wrote:
>> On 01/11/2015 02:45 AM, Ian Campbell wrote:
>>> On Sun, 2014-12-28 at 09:26 +0000, Ian Campbell wrote:
>>>>> +boot_scripts:
>>>>> +
>>>>> +  The name of U-Boot style boot.scr files that $bootcmd searches for.
>>>>> +
>>>>> +  Example: boot.scr.uimg boot.scr
>>>>> +
>>>>> +  (Typically we expect extlinux.conf to be used, but execution of boot.scr is
>>>>> +  maintained for backwards-compatibility.)
>>>>
>>>> I'm slightly concerned by the implied deprecation of the boot.scr method
>>>> here, since at least Debian uses boot.scr exclusively and not the
>>>> extlinux stuff. Will boot.scr be maintained going forward or are there
>>>> plans to eventually remove it?
>>>
>>> Can someone confirm that there is no long term plan to drop boot.scr
>>> support?
>>
>> extlinux.conf *is* the standard Linux boot process that
>> config_distro_bootcmd.h enables. boot.scr is *not*. The whole point is
>> to introduce a new simple standard that works the same everywhere (for
>> Linux: across boards, across distros, across bootloaders).
>
> Well, the only problem I see with this statement is that, uh, do we have
> buy-in from Debian?

Well, there was some discussion about standard boot setups on the 
cross-distro mailing list. I believe someone from Debian is at least 
familiar with Dennis's proposal to use extlinux.conf as the standard. 
There was certainly no definitive agreement in those discussions though.

That said, I don't think there's much choice but to standardize on 
/something/ other than boot.scr. boot.scr really isn't scalable for 
generic distros (as opposed to board-specific BSPs):

* boot.scr works differently on different boards, since the set of 
environment variables and U-Boot commands/features available to the 
script are different. This leads to extremely complex boot.scr 
implementations that distros each have to maintain.

I suppose we could fix this by standardizing the boot.scr execution 
environment; providing a consistent set of variables indicating where to 
load kernel/DTB/..., the board name (to auto-generate DTB filename), 
etc. However, standardizing this is more complex that standardizing on 
extlinux.conf and still doesn't solve:

* boot.scr doesn't work across different bootloaders. There's no reason 
generic distros should know anything much about bootloaders, other than 
how to generate a config file so the bootloader knows which 
kernel/initrd/DTB binaries to load.

* boot.scr must be generated (to boot.scr.uimg) using 
bootloader-specific tools, rather than extlinux.conf, grub.conf, ... all 
just need the generation of a text file.


More information about the U-Boot mailing list