ARM in Debian

and

Debian in ARM

  1. Debian itself
  2. Ports
  3. arm64 bootstrap
  4. Cross-compilers
  5. Usage in arm
  6. Contributing
  • Old
  • Free Software - OSD
  • 1000 developers
  • 20,000 source packages
  • 14+8 architectures
  • Buildds, porterboxes
  • Snapshot, Backports, Sources
  • PTS, BTS, UDD, Alioth, git, wiki
  • Teams: FTPmaster, Release, DSA, Porters, ...
  • Debconf
  • Independent
  • Community
  • Ecosystem Root - 300 derived distros
    • Knoppix, Ubuntu, GRML, Mint, Linspire, Mepis, Doudou, Xandros, etc

  • Do-ocracy
  • Rigour

Debian-arm is us

Ports

armOABIv32000: Potato (discontinued 2011)
armebOABIv32006: unofficial
armelEABIv4t2009: Lenny
armhfEABIv72012: Wheezy
arm64v8v82014: Jessie
RaspbianEABI, v6 2012: Wheezy rebuild

Bootstrapping


Bootstrapping is normal. 25 ports in 22 years

i386, 68000, Alpha, Sparc, PowerPC, ARM, IA64, PA-RISC, MIPS (big endian), MIPS (little endian), S/390, AMD64, FreeBSD-i386, FreeBSD-amd64, armel, armhf, sh4, s390x, PowerPC64, Hurd-i386, x32, arm64, mips64el, ppc64el, or1k

  • Circular Dependencies
  • Build Profiles

Circular Dependencies

Debian Sid bootstrap size

SourceBinary
Base system65116
+build-essential69128
Sources including build-deps119503
Main SCC3832500
Everything1105122308

First Bootstrap - Internal (2011)

  • Ubuntu Maverick
  • xdeb + staging, equivs, bodgery
  • LAMP stack
  • No upstreaming
  • Good use of community tools
  • Failure to give back

2nd (Ubuntu) Bootstrap (Q4 2012)

  • 1st self-boostrap, cross, Quantal, then Raring
  • Public from start, upstream as we go
  • Started Oct 2012
  • Multiarch, cross, build-profiles
  • Debootstrappable Feb 2013
  • Canonical continued from June
  • 2/3rds built by Saucy

3rd,4th,5th (Debian) Bootstrap (Oct 2013-now)

  • Native bootstrap using Saucy chroot
  • 'Fast' model
  • Qemu Nov 2013, Linaro APMs off-limits
  • Debootstrap clean Debian rootfs
  • 350 source, 2100 binary
  • Chinese APMs, March 2014
  • Debian ports rebuild, native hardware, SCC completed
  • Offical rebuild, native hardware
  • 540 bugs: 401 fixed, 139 pending, ~200 unfiled

Arm64 Port

  • 2 Juno buildds, started 15th Aug 2014
  • Debootstrappable unstable
  • 2 months till freeze
  • +2 Linaro Mustang builds

Arm64 Port Status

  • Sufficient buildd power
  • 92% of archive built
  • 1 Mustang porterbox
  • Testing debootstrappable yesterday

https://wiki.debian.org/Arm64Port

Arm64 Buildd

Packaged Cross Toolchains

  • Emdebian 2005
  • Buildcross (experimental) 2008?
  • Linaro packaging 2010 -> Ubuntu
  • Multiarch, inside and out
  • GSOC 2012 Thibaut Girka multiarch builds
  • Debconf13: Bare-metal toolchain
  • secretsauce.net 2014
  • sbuild support, at debconf
  • dpkg --target-arch change
  • In archive now
  • More at miniconf...

Build Profiles


  • Working in Jessie!
  • dpkg
  • sbuild
  • apt
  • debhelper
  • lintian
  • dose3
  • libconfig-model-dpkg-perl

Bits and Bobs

  • popcon reports architecture
  • Debian clang rebuilds
  • Debile simple buildd
  • GCC got dpkg-vendor defaults (for Raspbian)
  • Multiarch crossbuilding: libtool, perl, flex

Usage in ARM

  • Laptops
  • Desktops
  • Devboards

But mostly Ubuntu

  • IT support
  • Linaro images
  • Fast Models
  • DS-5 on Ubuntu

Contribute

UK Miniconf, 6th-9th Nov

https://wiki.debconf.org/wiki/Miniconf-UK/2014