Cross compiling and Bootstrapping stories
Use cases for cross-compiling of and in Debian-based systems. Including bootstrapping new flavours and architectures from scratch.
Known use cases to satisfy are:
1) ALIP/AEL images, which must be cross-buildable, and bootstrappable as far as an X desktop.
2) Cross-autobuild
3) Toolchain release testing.
Want to test new toolchain releases by building a lot of stuff and running an image built from it. This is much faster if cross-building, and more resource is available.
Issues: Their releases are tarballs, not packages, so some munging is needed - either adding packaging info, or making 'fakedebs' with links and equivs.
4) OEM integrators basing images on Ubuntu.
They modify sources and rebuild the modified packages often. They only build against the standard Ubuntu arm archive (and their own packages), so no bootstrapping is needed. They do not have sufficient arm resource for native building, so cross-building of a selected set of packages is important. They do need to be able to build from a local repo of modified sources, and upload to a local repo, using apt priorities to ensure correct sources are used.
Important questions:
1) dpkg-cross vs multiarch cross-building. when/how can we switch? Can we mix?
Blueprint information
- Status:
- Complete
- Approver:
- Ricardo Salveti
- Priority:
- Undefined
- Drafter:
- Wookey
- Direction:
- Needs approval
- Assignee:
- Wookey
- Definition:
- Obsolete
- Series goal:
- Accepted for 11.11
- Implementation:
- Unknown
- Milestone target:
- None
- Started by
- Completed by
- David Zinman
Whiteboard
Subblueprint: Bootstrapping
Work Items
Work items:
Upstream ppearse cross-patches where suitable to Debian/Ubuntu: INPROGRESS
Add multiarch-cross support to dpkg: DONE
Add multiarch-cross support to sbuild: DONE
Add multiarch-cross support to xdeb: TODO
Add builddependency annotations to all other tools that read build-deps: INPROGRESS
Update linaro cross-building wiki with quick-start info: DONE
Add exception annotations to build-dependencies of needed packages: INPROGRESS
Fix apt to act as cross-dependency satisfier: DONE
split flex for multiarch: DONE
add multiarch support to dpkg-checkbuild
Dependency tree
* Blueprints in grey have been implemented.