ArmelSubarchitectureImageBuilds

Differences between revisions 1 and 2
Revision 1 as of 2009-07-07 13:01:13
Size: 2470
Editor: p5098ed03
Comment:
Revision 2 as of 2009-07-07 16:03:50
Size: 2938
Editor: p5098ed03
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
due to the nature of armel hardware it is required that every board flavour has its own kernel and bootloader. there is sadly no such thing like a standarized BIOS as you find it on x86 based systems nor something similar to openfirmware as you find it on powerpc hardware.  * '''Launchpad Entry''': UbuntuSpec:mobile-arm-karmic-subarches-in-debian-cd
 * '''Created''': 2009-06-30
 * '''Contributors''': OliverGrawert
 * '''Packages affected''': debian-cd
Line 3: Line 6:
the above requirement enforces that we build separate images for every board flavour in the armel architecture, an image built with the redboot bootloader built for an imx51 board would for example not boot on a OMAP beagleboard, either of them need ther specific image with the secific bootloader and kernel subarchitecture. == Summary ==
Line 5: Line 8:
in jaunty the only officially supported armel image we built was aimed at the imx51 subarchitecture so we could get through with a general armel image that was focused at this architecture and did not need subarchitecture differentiation. Adding support for different subarchitectures of the armel architecture to ubuntus build system and produce images for each supported board flavour.
Line 7: Line 10:
in karmic the situation has changed as we will start to support more than the imx51 subarchitecture. the image build system needs to be adjusted to support building images for multiple subarchitectures. == Rationale ==
Line 9: Line 12:
luckily our buildsystem already has example code to do this in the form of the ps3 powerpc subarchitecture. images for such subarchitectures currently follow a specific naming scheme that appends the subarchitecture to the architecture name with a plus sign. we will adopt this scheme for the armel builds as following: ubuntu-$version-$flavour-$architecture+$subarchitecture.img Due to the nature of armel hardware it is required that every board flavour has its own kernel and bootloader.
There is sadly no such thing like a standarized BIOS as you find it on x86 based systems nor something similar to openfirmware as you find it on powerpc hardware.
Line 11: Line 15:
to achieve the implementation of this the following changes to the existing build system are necessary: The above requirement enforces that we build separate images for every board flavour in the armel architecture.
An image built with the redboot bootloader built for an imx51 board would for example not boot on a OMAP beagleboard, either of them need their specific image with the secific bootloader and kernel subarchitecture.
Line 13: Line 18:
debian-cd/tools/boot/boot-armel which is currently responsible for adding the imx51 specific bootloader code to images will be renamed to boot-armel+imx51. for any further subarchitecture similar scripts will be created with a similar naming scheme
t
he livecd-rootfs script will be changed to use armel+$subarchitecture instead of just armel. due to the fact that kernel modules are included in the squashfs we will need to build a squashfs for each subarchitecture (this could be avoided through instaling all modues for all subarchitectures in the squashfs instead, but would massively increase the size of the live images)
t
he different crontab entries on the build server will undergo the same change from armel to armel+$subarchitecture
t
he make-web-indices script will have to grow support for the naming scheme change and needs properly phrased header lines that are in sync with the vendor branding of the boards.
In jaunty the only officially supported armel image we built was aimed at the imx51 subarchitecture so we could get through with a general armel image that was focused at this architecture and did not need subarchitecture differentiation.

In Karmic the situation has changed and we will start to support more than the imx51 subarchitecture.
The image build system needs to be adjusted to support building images for multiple subarchitectures.

== Design ==

Luckily our buildsystem already has example code to do this in the form of the ps3 powerpc subarchitecture.
Images for such subarchitectures currently follow a specific naming scheme that appends the subarchitecture to the architecture name with a plus sign.
We will adopt this scheme for the armel builds as below.
{{{
ubuntu-$version-$flavour-$architecture+$subarchitecture.img
}}}

== Implementation ==
To achieve the implementation of this the following changes to the existing build system are necessary:

 *
debian-cd/tools/boot/boot-armel which is currently responsible for adding the imx51 specific bootloader code to images will be renamed to boot-armel+imx51. For any further subarchitecture similar scripts will be created with a similar naming scheme.
 * T
he livecd-rootfs script will be changed to use armel+$subarchitecture instead of just armel. Due to the fact that kernel modules are included in the squashfs we will need to build a squashfs for each subarchitecture (this could be avoided through installing all modues for all subarchitectures in the squashfs instead, but would massively increase the size of the live images).
 * T
he different crontab entries on the build server will undergo the same change from armel to armel+$subarchitecture.
 * T
he make-web-indices script will get added support for the naming scheme change and needs properly phrased header lines that are in sync with the vendor branding of the boards.

----
Categor
ySpec

Summary

Adding support for different subarchitectures of the armel architecture to ubuntus build system and produce images for each supported board flavour.

Rationale

Due to the nature of armel hardware it is required that every board flavour has its own kernel and bootloader. There is sadly no such thing like a standarized BIOS as you find it on x86 based systems nor something similar to openfirmware as you find it on powerpc hardware.

The above requirement enforces that we build separate images for every board flavour in the armel architecture. An image built with the redboot bootloader built for an imx51 board would for example not boot on a OMAP beagleboard, either of them need their specific image with the secific bootloader and kernel subarchitecture.

In jaunty the only officially supported armel image we built was aimed at the imx51 subarchitecture so we could get through with a general armel image that was focused at this architecture and did not need subarchitecture differentiation.

In Karmic the situation has changed and we will start to support more than the imx51 subarchitecture. The image build system needs to be adjusted to support building images for multiple subarchitectures.

Design

Luckily our buildsystem already has example code to do this in the form of the ps3 powerpc subarchitecture. Images for such subarchitectures currently follow a specific naming scheme that appends the subarchitecture to the architecture name with a plus sign. We will adopt this scheme for the armel builds as below.

ubuntu-$version-$flavour-$architecture+$subarchitecture.img

Implementation

To achieve the implementation of this the following changes to the existing build system are necessary:

  • debian-cd/tools/boot/boot-armel which is currently responsible for adding the imx51 specific bootloader code to images will be renamed to boot-armel+imx51. For any further subarchitecture similar scripts will be created with a similar naming scheme.
  • The livecd-rootfs script will be changed to use armel+$subarchitecture instead of just armel. Due to the fact that kernel modules are included in the squashfs we will need to build a squashfs for each subarchitecture (this could be avoided through installing all modues for all subarchitectures in the squashfs instead, but would massively increase the size of the live images).
  • The different crontab entries on the build server will undergo the same change from armel to armel+$subarchitecture.
  • The make-web-indices script will get added support for the naming scheme change and needs properly phrased header lines that are in sync with the vendor branding of the boards.


CategorySpec

Specs/ArmelSubarchitectureImageBuilds (last edited 2009-07-07 16:13:25 by p5098ed03)