DebConf18
History of Debian Embedded & ARM ports
Héctor Orón Martínez (zumbi@debian.org)
- 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
- 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)
- 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
- 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 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: