Add Proper Bootloader Support for Versatile Express

Registered by Andy Doan

vexpress currently uses our master image approach which uses a fixed boot loader. However, vexpress can be configured/scripted to use different bootloaders. This would allow us to keep a fixed working bootloader, but also take the boot loader from the test iamge and instruct vexpress to boot it.

This will probably require creating a new vexpress.py device that extends master.py to deal with the new bootloader interactions.

Blueprint information

Status:
Complete
Approver:
None
Priority:
High
Drafter:
None
Direction:
Approved
Assignee:
Antonio Terceiro
Definition:
Approved
Series goal:
Accepted for trunk
Implementation:
Implemented
Milestone target:
milestone icon 2013.03
Started by
Antonio Terceiro
Completed by
Antonio Terceiro

Sprints

Whiteboard

[terceiro, 2013-02-28] blocked by problem with serial line on A9 board that I was going to use for tests
[terceiro, 2013-03-27] Ryan told me during Connect that UEFI was not working on A9. We should probably ship the support for TC2 and add A9 when it is fixed
[terceiro, 2013-04-07] splitting A9 support out to a new blueprint.
Meta:
Headline: VExpress test images no longer use the master image's boot loader
Acceptance: We have a vexpress board in lava configured with this new mechanism with a tag that can accept jobs.
Roadmap Id: CARD-231

Links:
https://wiki.linaro.org/ARM/UEFI - how to swap the bootloader on a vexpress board and other stuff

Builds to test:
Android, bad: http://snapshots.linaro.org/android/~linaro-android/vexpress-linaro-mp/169/
Android, good: http://snapshots.linaro.org/android/~linaro-android/vexpress-linaro-mp/170/
Ubuntu, bad: http://releases.linaro.org/12.12/ubuntu/vexpress
Ubuntu, good: http://releases.linaro.org/13.01/ubuntu/vexpress/

(?)

Work Items

Work items:
Ryan to supply a script with documentation demonstrating how to swap the bootloader on a vexpress board: DONE
agree on the actual procedure for updating UEFI on vexpress board: DONE
perform the procedure manually once to check it's sound: DONE
setup development environment at dispatcher01: DONE
code to copy UEFI from master/test image into the board: DONE
test TC2 x Ubuntu: DONE
test TC2 x Android: DONE

This blueprint contains Public information 
Everyone can see this information.