Support a selection of boot loaders in Linaro hwpacks and support multiple boards

Registered by Mattias Backman

We want to support more than one boot loader in hwpacks so that a single hwpack can offer UEFI and u-boot as well as other boot loaders. A single hwpack should also contain metadata for several boards based on the same SoC.

Blueprint information

Status:
Complete
Approver:
Данило Шеган
Priority:
High
Drafter:
Данило Шеган
Direction:
Approved
Assignee:
Milo Casagrande
Definition:
Approved
Series goal:
Accepted for trunk
Implementation:
Implemented
Milestone target:
milestone icon 2012.07
Started by
Milo Casagrande
Completed by
Milo Casagrande

Related branches

Sprints

Whiteboard

[asac, Feb 11 2012]: acceptance could include to posting example hwpacks for all planned variations and ask concretely to validate those with lmc. In this way our PMs can better confirm that the feature was delivered and works as planned...
[dzin, Apr 7, 2012]: Assigning this a series backlog so it does not get lost
[dzin, Jun 19, 2012]: Assigning to 12.07 milestone. To be better defined.
[milo, July 9, 2012]: Created proposal hwpack config file syntax: https://pastebin.linaro.org/645/ based on YAML
[dooferlad, July 9, 2012]: YAML metadata with old linaro-media-create fails. Fails more nicely if you change the FORMAT file to contain "3.0"...
[milo, July 9, 2012]: Wrote wiki page explaining hwpackv3 and all its fields: https://wiki.linaro.org/HardwarePacksV3
[milo, July 9, 2012]: Pushed new branch with preliminary converter from INI-style syntax to YAML-syntax: lp:~milo/linaro-image-tools/multiple-boards-support/
[milo, July 10, 2012]: Discussed via email about the syntax, applied changes to the proposed one on the wiki.
[milo, July 10, 2012]: Marked workitem as postponed for now, will work on it later in the cycle.
[dzin, July 17, 2012]: At risk for delivery for July 26, but from Infra meeting on July 17, can be delivered for use by next month, close to the beginning of the cycle.
[milo, July 23, 2012]: Released Linaro Image Tools 2012.07.
[milo, July 25, 2012]: Added --read-hwpack option to linaro-media-create.
[dzin, July 27, 2012]: the following items did not make it into the 12.07 release, but were delivered shortly after:
  Extend linaro-hwpack-create to support multiple boards: DONE
  Extend linaro-hwpack-create to support bootloader definitions: DONE
  Make linaro-media-create probe hwpack metadata: DONE
  Make linaro-media-create support choosing bootloaders on image creation: DONE
[milo, July 27, 2012] Blogged about work done: http://www.milo.name/2012/07/27/multiple-boards-bootloaders/

Meta:
Headline: Support multiple boards and multiple bootloaders on a single hardware pack
Acceptance: A new hwpack format has been defined which supports multiple boot loaders and multiple boards. Linaro-hwpack create is updated to create such hwpacks and linaro-media-create has been updated to use them.

http://summit.linaro.org/lcq1-12/meeting/20065/linaro-toolchain-q112-hwpack-extensions-1/
http://summit.linaro.org/lcq1-12/meeting/20066/linaro-toolchain-q112-hwpack-extensions-2/

l-m-c should have
    --dev <boardname> where boardname is not in a hard coded list in l-m-c
    --boot-loader <bootloader> where boot-loader also shoud be unknown to l-m-c
    --probe-hwpack should provide info about what the hwpack supports

Using the --dev option to select appropriate parts of the hwpack metadata would also solve the OneHardwarePackPerSOC topic: https://wiki.linaro.org/Platform/Specs/11.11/OneHardwarePackPerSOC

This would still not reduce maintenance of l-a-m-c which does not use hwpacks.

(?)

Work Items

Work items:
[milo] Define the hwpack format extensions to support multiple boards and bootloader definitions: DONE
[milo] Write converter from INI-style syntax to newly YAML-based one: DONE
[milo] Extend linaro-hwpack-create to support multiple boards: DONE
[milo] Extend linaro-hwpack-create to support bootloader definitions: DONE
Make linaro-media-create support multiple boards: DONE
[milo] Make linaro-media-create probe hwpack metadata: DONE
[dooferlad] Make linaro-media-create support choosing bootloaders on image creation: DONE
[dooferlad] Ensure that YAML metadata fails nicely for old linaro-image-tools version: DONE
[milo] Create new metadata file, based on YAML, for new hwpack config files: DONE
[milo] Release Linaro Image Tools 2012.07: DONE
[milo] blog about the state of this new feature as of 2012.07: DONE

This blueprint contains Public information 
Everyone can see this information.