Generate a Script to Get and Rebuild a Pre-Built Images Kernel

Registered by Zach Pfeffer on 2011-09-16

Builds like: https://android-build.linaro.org/builds/~linaro-android/panda/#build=286 produce a boot.tar.bz2 that contains a uImage. People frequently want to replace this uImage with one they build locally. To do this they need to click around the build page to find all the relevant info. All of this info is available in each build, so to make it easy a script should be generated that someone can run locally to generate this uImage. The script should clone the kernel, rebuild it and program it on an SD card.

Blueprint information

Status:
Complete
Approver:
Zach Pfeffer
Priority:
Medium
Drafter:
Andy Doan
Direction:
Approved
Assignee:
Andy Doan
Definition:
Discussion
Series goal:
Accepted for 2012q1
Implementation:
Implemented
Milestone target:
milestone icon 12.03
Started by
Frans Gifford on 2011-11-09
Completed by
Zach Pfeffer on 2012-04-02

Whiteboard

Notes:
[?] I have concerns about "program it on an SD card". Which card is that? Generated by linaro-android-media-create? If so, then probably ok, otherwise I guess it's better to idea to leave it to user question of where and how to put the built kernel (i.e. end with just leaving uImage at user fingertips).
[2011/12/26 pfalcon] Didn't fit into 11.10.
[2011/10/28 dzin,mansson] Move to backlog, possibly re-assign it to an Android resource.
[2011/11/04 fgiff] Personally, when I rebuild kernels I manually copy the uImage to the boot partition of a card imaged with l-a-m-c. We can get either get the user to provide a partition or provide a device so we can find the partition labelled 'boot'.
[2011/11/09 fgiff] I expect this to be a very short shell script, though implementation is dependent on first getting in https://blueprints.launchpad.net/linaro-android/+spec/linaro-android-proc-config.
[2011/11/16 fgiff] Blocked waiting for https://blueprints.launchpad.net/linaro-android/+spec/linaro-android-proc-config to land. This shouldn't take too long.
[2011/11/23 fgiff] There has been some recent talk about changing the env var that specifies the kernel toolchain. The proposal is:
"TARGET_TOOLS_PREFIX - used for platform builds
[2011/11/25 dzin] move to 11.12
[2011/12/21 pfefferz] Want to revisit this in the next cycle.
[2012/1/22 pfeffer] Will work on in 12.02
[2012/2/15 doanac] Spoke with pfalcon at Connect. I'm not sure we can do exactly what pfeffer wanted, so this will likely fall under 12.03.
[2012/3/27 doanac] This has been deployed to android-build. Boot tested panda, build tested imx6
[2012/3/27 doanac] snowball/origen can't reproduce exact build due to bug lp:959369.

U_BOOT_TARGET_TOOLS_PREFIX or U_BOOT_CROSS_COMPILE - used for u-boot

KERNEL_TARGET_TOOLS_PREFIX or KERNEL_CROSS_COMPILE - used for kernel"
Marking this BP as blocked until this is decided.

[2011/11/24 fgiff] Also need to deal with case where build uses default toolchain, e.g. https://android-build.linaro.org/builds/~linaro-android/staging-snowball/#build=84
[2012/2/28 pfefferz] Changed Roadmap id from TCWG2011-GCC-O3 to ANDROID2012-TOOLS

Meta:
Roadmap id: ANDROID2012-Q1-TOOLS
Headline: Kernels of prebuilt images can now be swapped out easily.
Acceptance: A user can run a script, downloaded from a build page which will clone the kernel, rebuild it and program it on an SD card.

(?)

Work Items

Work items:
Draft script: DONE
Test script: DONE
Elaborate script: DONE
Verify script to work for all supported boards: DONE
Rework script to be generated from build: DONE
Get script posted on android-build site: DONE

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.