DebConf18


History of Debian Embedded & ARM ports

Héctor Orón Martínez (zumbi@debian.org)

Debian 'arm'

  • Initial ARM Linux work by Russel King for the RiscPC
  • Scott Bamborough and co for the rebel Netwinder made a lot of stuff work
  • Jim Pick did the initial Debian port
  • Lots of 'unsigned char' fixing and unaligned access issues to work through
  • There was a lot of new board support and then the switch to EABI

ARM and StrongARM

  • Netwinder
  • RiscPC
  • Shark
  • Lart
  • Thecus N2100

Debian 'armel'

  • Code sourcery 1st cross-tools q3 2005 GCC v3.4.4
  • 2005: Early Linux adopters (montavista, nokia)
  • Debian port started q1 2006 - all new
  • ADS/Lennert Buytenhek working port Jan 2007 (v4t build)
  • DD-signed (Riku Voipio) buildd announced April 2007 (v4t build)
  • Debian ARM EABI port wiki page

ARM EABI

  • Marvell Orion
  • Marvell Kirkwood
  • Intel IXP4xx
  • Intel IOP3xx
  • Versatile

Emdebian 'cross-toolchain'

  • pre-lenny cross gcc-2.95
  • Emdebian cross toolchains:
    • arm, armel, mips, mipsel, powerpc, sparc, s390, m68k, hppa, alpha, ia64, i386 and amd64
  • 2004 Nikita V. Youshchenko creating and updating patches for cross gcc-3.x
  • 2005 Héctor Orón Martínez picking up from Nikita (gcc-3.x, gcc-4.x, cross gdb, multilib)
  • 2014 Cross toolchain merged into Debian archive in December
  • 2014 Wookey and Marcin Juszkiewicz pick up maintenance and enable multiarch (Linaro)
  • 2015 Matthias Klose current gcc-cross package uploader and maintainer in Debian (synced uploads with native compilers)

Emdebian 'grip'

  • 2009-2014 Emdebian grip (Neil Williams)
  • Filter binary packages, removed relevant files and repacked them. Reducing the overall size of the package, the package meta-data and final installation size of the package.
  • Innovations: multistrap, dpkg-vendor, dpkg filters and others
  • Sizes:
    • A basic multistrap of Emdebian Grip (sid-grip) came out at 56Mb installed, not compressed
    • A basic multistrap of Debian (sid) comes out at 90Mb installed, not compressed
    • A basic debootstrap of Debian (sid) comes out at 269Mb installed, not compressed

Emdebian 'crush' & 'baked'

  • Crush: cross build minimal userland, replacing coreutils with busybox
  • Baked: cross build minimal userland, ready to bake (dd) without updating capabilities
  • This morning at debian-cross BoF, some people might be wanting to pick up this ideas

Debian 'armhf'

  • 2009 Initial port done by Konstantinos Margaritis and Héctor Orón Martínez
  • ...sponsored by toby Churchill and Genesys for Efika MX devices
  • Linaro/Canonical helped a lot on upstream hardfloat support
  • Debian ARM HardFloat wiki page

ARM EABI Hardfloat

  • Freescale mx5
  • Later moved to armmp unified kernel and device tree support

Debian 'arm64'

  • Debian port bootstrapped (internally) at ARM/Linaro
  • ...using fast model and later QEmu, since hardware was unavailable
  • Merge into debian-ports later into Debian
  • ...using Juno and X-Gene hardware
  • Debian ARM 64 bit wiki page

ARM 64 bit hardware support

  • Boot loading: u-boot, ACPI tables and UEFI
  • arm64 unified kernel

Thanks for attending this lighting talk


More info, contact: