Support booting a uImage

Registered by Michael Hudson-Doyle

Implement a new action that allows us to boot a uImage with a kernel command line provided by the tester.

Blueprint information

Status:
Complete
Approver:
None
Priority:
Undefined
Drafter:
None
Direction:
Needs approval
Assignee:
None
Definition:
Obsolete
Series goal:
None
Implementation:
Unknown
Milestone target:
milestone icon backlog
Completed by
Neil Williams

Related branches

Sprints

Whiteboard

Meta:
Headline: TBD
Acceptance: TBD

Implement new action somewhat like:

{
    "action": "uboot",
    "paramters": {
        "file_urls": ["http://people.linaro.org/~l33t-hacker/uImage"],
        "boot_script": ["tftp uImage", "bootm"],
        "success_pattern": "\(initrd\)#",
        "timeout": 300
    }
}

This would download the files referenced by file_urls, make them available via tftp, boot into uboot, set up the tftp parameters in uboot so that they can be downloaded, execute the commands from boot_script, wait for success_pattern and report success if it appears before timeout seconds elapse.

Setting up uboot involves:

1. Giving the board an ip address (setenv ipaddress or something)
2. Setting the address of the tftp server (setenv serverip)
3. Set the port of the tftp server (setenv tftpdstport)

My idea is to run a separate (probably Python) tftp server on a random (bind(('', 0))) port and then tell the board to pull files from there.

Implementation-wise this can probably be done by adding a "to_bootloader" argument to power_on().

(?)

Work Items

Work items:
find tftp implementation: TODO
implement making files available to tftp: TODO
implement rest of action: TODO

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.