Please check the status of this specification in Launchpad before editing it. If it is Approved, contact the Assignee or another knowledgeable person before making changes.
Launchpad Entry: kernel-oem-bsp
Packages affected: linux-source, gcc
Vendors providing third-party modules for OEM's are used to working with distro agnostic packaged cross-compilers and kernel headers to build these modules. Currently we require vendors to install Ubuntu and compile out of our system.
This section should include a paragraph describing the end-user impact of this change. It is meant to be included in the release notes of the first release in which it is implemented. (Not all of these will actually be included in the release notes, at the release manager's discretion; but writing them is a useful exercise.)
It is mandatory.
- Embedded vendors are used to BSPs
- They are required to target multiple distros, on a single dev system
- cross compiler for generic x86 build
- cross compiler for generic amd64
- Targets: lpia, lpiacompat?
Will be provided as a manually built tarball. Most likely from kernel.ubuntu.com. These tarballs should be updated in conjunction with kernel uploads (when ABI bumps).
Tarball will contain a script (updateheaders.sh?) that will update the headers, so that developers can have newer headers when we do an ABI bump. Toolchain should not need updates.
The toolchain and kernel headers should be packaged separately to reduce the amount of downloading required. As the toolchain changes rarely, and is the largest part of the package, it should not have to be downloaded as often.
Toolchain consists of gcc and binutils. Plan is to build the tarball out of pre-existing DEB packages.
Need to include an example Makefile for using this toolchain and headers for out of tree module builds.
We should be able to perform testing of the toolchain/headers by installing on a non-Ubuntu x86-Linux system, and building modules for our distributed kernels.
This should be done regularly, and especially with the planned released BSP.
Talk to Mathias about which libc we should link the toolchain binaries against to ensure compatibility on the most host machines. Perhaps compiling the toolchain on dapper would be best?
- We could consider packaging this into a Vmware appliance so that developers could run this on other Operating Systems too
- Need to check the scripts we have to generate VMs from daily builds