Storing the image meta-information

Create a Launchpad team for the port maintainers. Use <vendor>-image-dev (ie. i9100-image-dev) as the name of the team. (Note: if <vendor> includes a _ (underscore), please use a - (dash) instead.)

Make the phablet-ports-admins team owner of your team. You can do that easily at https://launchpad.net/~<vendor>-image-dev/+reassign. We require this, so that we can easily add more port maintainers in case team members get inactive.

create manifest.json and put the URL of your image in there. The notation is in JSON formatand it has the following values:

Image URLs: You will need to provide URLs to images, which don't require any user interaction for downloading. Just pointing wget or curl at the URL should do the trick. (goo.im or ubuntuone.com for example.)

device (mandatory): it points to the image you're providing.

ubuntu (optional): the Ubuntu image, by default it's the latest official Ubuntu image.

hash (optional): hash sum of the current image.

hash_func (optional): either md5 or sha256.

revision (optional): provide a revision for the current image. The easiest is to just use an incrementing number.

storage (optional): specify where the contents of the .zip are pushed. (The i9100 port makes use of this for example.)

Updating the image

Once you updated the image, you will want to update the manifest again. Perhaps somebody is going to write a script for this in the future, but in general, you will want to do something like below for your image:

Change into your local image meta-data branch.

Run bzr pull to make sure you incorporate changes a team member may have done.

Edit manifest.json and update

the device key if the image URL changed,

the hash key if you use it,

the revision key if you use it.

Run bzr commit -m "update manifest for new image".

Run bzr push.

Debugging issues

Should anything go wrong with the manifest.json file, you're going to find out about it very early on. phablet-flash should let you know about malformed JSON notation and about unknown, missing or broken keys.

If anything during the download or verification steps should fail, you'll find out about it too.

If there's anything wrong after the download and in the process of flashing you might want to

get the copy of /cache/recovery/last_log and /cache/recovery/log right after flashing.

try to re-run with phablet-flash --debug community --device <vendor> and save the output.