ARMv8/arm64/aarch64 progress for r

Registered by Jeremy Kerr

Update on progress tracking for getting components together for aarch64 support in Ubuntu for the r cycle. Following on from https://blueprints.launchpad.net/ubuntu/+spec/foundations-q-aarch64-porting

Areas for development for 13.04:

== toolchain ==

Progress of toolchain support for aarch64-linux-gnu, following on from https://blueprints.launchpad.net/linaro-ubuntu/+spec/aarch64-cross-bootstrap-debian-ubuntu

== archive & package set ==

Progress of aarch64 archive:

 * Archive opened for aarch64?
 * Bootstrap progress
 * Initial package builds
  * dependencies of packages we care about, eg:
    * apache2
    * juju

See also:
 * https://blueprints.launchpad.net/linaro-ubuntu/+spec/aarch64-cross-bootstrap-debian-ubuntu

== kernel ==

Selection of kernel(s) for aarch64

  * assuming vexpress config
  * any other ports required in the 13.04 timeframe?

Blueprint information

Status:
Started
Approver:
Steve Langasek
Priority:
Medium
Drafter:
Matthias Klose
Direction:
Approved
Assignee:
Colin Watson
Definition:
Approved
Series goal:
Accepted for raring
Implementation:
Started
Milestone target:
milestone icon ubuntu-13.04
Started by
Colin Watson

Related branches

Sprints

Whiteboard

Areas for development for 13.04:

== toolchain ==
Progress of toolchain support for aarch64-linux-gnu, following on from https://blueprints.launchpad.net/linaro-ubuntu/+spec/aarch64-cross-bootstrap-debian-ubuntu

 * existing toolchain patches ported to Ubuntu/Debian toolchain, for bootstrap
  * in a public repo http://people.debian.org/~wookey/bootstrap.html
  * testing appreciated!
  * apw to build a linux-headers pkg - lp 1063895
 * sbuild & multiarch support done
 * slangasek suggests Ubuntu archive
  * concerns about bodginess
  * cjwatson is all for proper bodges

== archive & package set ==
Progress of aarch64 archive:
 * Archive opened for aarch64?
 * Bootstrap progress
 * Initial package builds
  * dependencies of packages we care about, eg:
    * apache2
    * juju
See also:
 * https://blueprints.launchpad.net/linaro-ubuntu/+spec/aarch64-cross-bootstrap-debian-ubuntu

Current multiarch cross-build status (in quantal-bootstrap repo) here:
http://people.linaro.org/~wookey/buildd/quantal-arm64/sbuild-ma/status.html
Notable issues (and Debian+Ubuntu bugs) recorded on: http://wiki.debian.org/Arm64Port

 * intention is to do a first bootstrap on Quantal
  * disagreement from slangasek
   * multiarch components not available in quantal, only raring
  * requires sync between multiarch components
 * requires patch for dpkg for adding aarch64 builds to (current custom) archive
  * dpkg requires a stanza for defining circular deps, for initial bootstrap
 * ~ 30 packages built
  * ~300 required for build-essential + bits, resulting in ~100 installed pkgs
 * still required:
  * sbuild needs a new chroot type

cross-building concerns
 * in parallel with armhf?
  - to show aarch64 failures vs. cross failures

autobuilding:
 * limited to main
 * using wookey's existing scripts
 * differing configuration results between native and cross builds
  - someone to monitor this?
 * libdose for dependency analysis?
 * juju charms (cjwatson):
  * cs:precise/postgresql
  * lp:~cjwatson/charms/quantal/wanna-build/trunk
  * lp:~cjwatson/charms/quantal/sbuild/cross

fix five (or more!) cross-build packages:
 * vorlon, adconrad, skaet, dannf, cjwatson, xnox, jk-ozlabs, micahg, rsalveti, riku, doko, wookey

porting issues:
 * there is a cross-distro effort for fixing these
 * add task against http://launchpad.net/linaro-aarch64 until the fix is committed/released upstream
 * also tag your bugs arm64
 * mail <email address hidden> with details of failures and/or fixes

== kernel ==

http://www.linaro.org/engineering/armv8 has pointers to pre-built binaries and instructions to rebuild the kernel, e.g.:
https://wiki.linaro.org/HowTo/BuildArm64Kernel

Selection of kernel(s) for aarch64
  * assuming vexpress config
  * any other ports required in the 13.04 timeframe?
 * requires board support patches - rsalveti to talk to apw

== bootloader ==

 * not required for this stage of initial hackery
 * done with boot wrapper
 * OVMF on ARM builds work!

(?)

Work Items

Work items for ubuntu-13.04-month-2:
[cjwatson] wrapper required for sbuild, to pass correct --host (http://paste.ubuntu.com/1372321/): DONE
[cjwatson] get some kind of autobuild going (currently armhf only but easily extensible: http://people.canonical.com/~cjwatson/cross/armhf/raring/): DONE
[apw] linux-headers for aarch64: DONE

Work items for ubuntu-13.04-feature-freeze:
[apw] get us a vexpress image for aarch64: TODO

Work items:
[wookey] get some kind of autobuild going: TODO
[doko] autobuild package builds on fast model for comparison vs cross: TODO
[lool] help wookey with autobuilder infrastructure: TODO
[wookey] page for current built versions / failures: DONE
[doko] upload crossbuild-essential: DONE
[jk-ozlabs] create workitems for fixing five cross builds: DONE
[jk-ozlabs] add link for binary comparison tool: TODO
[hrw] update armhf cross in raring: DONE
[doko] armv8 cross in raring: DONE
[jk-ozlabs] investigate OVMF on ARM, post details on ubuntu UEFI wiki page: TODO
[vorlon] fix five (or more!) cross-build packages (acct, acpica-unix, activity-log-manager et al): INPROGRESS
[adconrad] fix five (or more!) cross-build packages (gawk, apr, apache2, zip, whois, tk8.4, tk8.5, texinfo): DONE
[kate.stewart] fix five (or more!) cross-build packages: POSTPONED
[dannf] fix five (or more!) cross-build packages: TODO
[cjwatson] fix five (or more!) cross-build packages (anna, debian-installer-utils, mouseemu, libbsd, libpaper): DONE
[xnox] fix five (or more!) cross-build packages (bsd-mailx, btrfs-tools, adns, anacron, zsh): DONE
[jk-ozlabs] fix five (or more!) cross-build packages: TODO
[micahg] fix five (or more!) cross-build packages: TODO
[rsalveti] fix five (or more!) cross-build packages: TODO
[riku-voipio] fix five (or more!) cross-build packages: TODO
[doko] fix five (or more!) cross-build packages: DONE
[wookey] fix five (or more!) cross-build packages (coreutils, diffutils, tar, cpio, gmp, gdbm, slang2, base-files, tzdata): DONE