A tool that drives linaro-media-create, downloading any image files and hardware packs needed.

Registered by James Tunnicliffe

In order to remove the need for users to know where to get OS images and hardware packs, download them and drive linaro-media-create a tool will be developed to allow the user to specify what OS they want to run, what version of it they would like to use and what hardware they would like to run it on. The tool will take care of everything else. A CLI and GUI will be developed.

Blueprint information

James Tunnicliffe
Series goal:
Beta Available
Milestone target:
Started by
James Westby

Related branches



Headline: linaro-fetch-image-ui is a wizard style graphical tool that guides the user through the process of creating a fully functional operating system for Linaro supported hardware, downloading all the required files for them, and driving linaro-media-create. This makes installing an operating system extremely easy. For developers the tool provides an easy way to run daily builds, and for those who like a command line, linaro-fetch-image will download and install an operating system with a single command.

Full time development of this tool is on hold, so the last set of work items don't have a target milestone:

Work items (11.07):
Remove status prints from indexer: DONE
Add download sizes to UI: DONE
Remove GUI references from create_media: DONE
Remove all GUI code from common library: DONE
Download sh1sums and pass to linaro-media-create: DONE
Rename and move files to match other modules: DONE
If file exists, force download if not of correct size: DONE
pkexec has config file so we have a "program x is doing this" message, not "/path/to/program is requesting root": DONE
Rename scripts to have "linaro-" prefixed and good names, to match the other scripts in linaro-image-tools: DONE

Work items (11.08):
Fix unit tests so they don't use downloaded/cached configuration + database: DONE
Update user interface in line with discussions from Linaro Connect: DONE
Improve error handling when linaro-media-create does something unexpected: DONE

Work items (Future):
Move filtering of directories (old etc.) into indexer: DONE
Indexer uses configuration file instead of configuration inside code: TODO
Remove places where release_or_snapshot leeks out of UI code: DONE
Log linaro-media-create commands to somewhere: DONE
Testing: Need a fake linaro-media-create for fault injection and a regression suite. Also need a GUI testing strategy beyond manually running it so I can run nightly tests: TODO
Add support for multiple sources of snapshots (and releases?): TODO
Keep a list of files in all directories in the index to avoid screen scraping in def list_files_in_dir_of_url(self, url): TODO
Try to gracefully terminate threads instead of just calling sys.exit() where possible: TODO
Android media create support: TODO
Modify linaro-media-create to send status messages to UI to avoid localisation issues parsing the l-m-c output: TODO
Remove instances of release_or_snapshot variable being used in string concatenation: TODO
Break out database code into a separate file: TODO
Revisit parameterisation of strings, particularly SQLite queries: TODO
Check documentation of database schema and YAML config is up to date: TODO
Remove need for releases to be put in config YAML: TODO
Add name mapping scheme for build names (http://snapshots.linaro.org/precise/linaro-p-nano/ should just be Nano): TODO
Add sensible defaults to command line (e.g. Panda provided as hardware or a panda hardware pack picked, use as default for the other. No OS chosen? Pick Ubuntu desktop...): TODO


Work Items

This blueprint contains Public information 
Everyone can see this information.


No subscribers.