[PATCH 4/6] build: Add support to make bootloader images

Sebastian Huber sebastian.huber at embedded-brains.de
Thu Mar 7 06:22:15 UTC 2024


On 05.03.24 22:33, Gedare Bloom wrote:
> On Mon, Mar 4, 2024 at 12:19 AM Chris Johns<chrisj at rtems.org>  wrote:
>>
>>
>> On 1/3/2024 9:57 pm, Sebastian Huber wrote:
>>> On 29.02.24 00:05, Chris Johns wrote:
>>>>>> If it is will the details be exported in the pkgconfig file and made available
>>>>>> for users building applications in a consistent and easy to use way?
>>>>> Application build systems can query the tool using the RTEMS_MKIMAGE package
>>>>> configuration varible, for example:
>>>>>
>>>>>     pkg-config --variable=RTEMS_MKIMAGE
>>>>> ${prefix}/lib/pkgconfig/${ARCH}-${BSP_NAME}.pc
>>>> Nice. This is my preferred way of handling this.
>>>>
>>>>> If the BSP does not provide a tool, then the variable RTEMS_MKIMAGE is set to
>>>>> "false".
>>>> So the process has to be a single command?
>>> Yes, a single command which is written in Python. For the U-Boot image it
>>> converts the ELF file to binary, then to a gz file, then to the U-Boot image.
>> I see it is in a YAML spec file. Sorry that is a no from me. See below.
>>
> +1
> 
> We should not be in the habit of serializing source code inside a data
> file without very good reasons to do so. This feels wrong.

I don't see the issue here. The variable substitution in the build 
specification items is not as obscure as with m4.

> 
> If script generation needs to be done, it should be implemented in
> Python with input from the yml spec item as necessary to fill out a
> templated script with variables to customize for the BSP, and with
> appropriate injection of comments etc to allow traceability backward
> to the original source data and source program that generated the
> script.

I think this is exactly the approach of the patch set. The Python script 
which fills out the templated script with variables to customize for the 
BSP is the wscript. You can of course also put comments into the 
generated script. If you use the

if __name__ == "__main__":

approach, you could even provide an executable script and a module.

-- 
embedded brains GmbH & Co. KG
Herr Sebastian HUBER
Dornierstr. 4
82178 Puchheim
Germany
email: sebastian.huber at embedded-brains.de
phone: +49-89-18 94 741 - 16
fax:   +49-89-18 94 741 - 08

Registergericht: Amtsgericht München
Registernummer: HRB 157899
Vertretungsberechtigte Geschäftsführer: Peter Rasmussen, Thomas Dörfler
Unsere Datenschutzerklärung finden Sie hier:
https://embedded-brains.de/datenschutzerklaerung/


More information about the devel mailing list