[ Please note the cross-post and Reply-To ] Hi folks,
As promised, here's a quick summary of what was discussed at the BoF session in Portland. Apologies for the delay - it takes a while to write these up... :-/ Thanks to the awesome efforts of our video team, the session is already online [1]. I've taken a copy of the (partial!) Gobby notes too, alongside my small set of slides for the session. [2] As part of the "Ports" track at DebConf, We spoke about the past/present/future state of ARM ports in Debian. Existing port: armel ==================== * Current port, first released with Lenny. Older ports have gone away. * Targets the ARM EABI, soft-float, to run on ARMv4t and newer processors. These are older generations of processors, but there are lots of people still running hardware based on them. * Still supported upstream in kernel, toolchain, etc. but there are places where this support may be starting to go away. * ARMv4 devices are still readily available and now very cheap - see the ARM7TDMI as an example. But for most people they want newer, more powerful systems. * At some point in the future we may have to drop armel. Most other distros don't give real support for anything older than ARMv7, so we're almost alone here. However, for the various *Plug machines and Kirkwood-based NAS boxes (ARMv5), armel is still very much a desired port. We keep on considering moving to ARMv5 as a baseline, but there's little that we can identify to make that really worthwhile. Existing port: armhf ==================== * Current port, first released with Wheezy. * Targets the ARM EABI, hard-float variant, VFP3-D16, to run on ARMv7. These are the current generation of 32-bit ARM processors, for example in almost all currently-shipping Android phones. This is the agreed cross-distro standard for ARM distributions. * We have moved to a single armmp kernel flavour in Debian. This uses Device Tree Blobs (DTBs) and should run on a massive range of different ARMv7 hardware. Some of the peripherals on some devices may not yet have actual driver support, but going forwards we expect no new platforms to be added without using DT. In theory, we don't need to go and test all the different devices here - most should just work assuming upstream kernel support. Buildds and hardware ==================== * Still relying mainly on development boards as buildd machines. For both armel and armhf, we've updated recently to using new Armada XP machines donated by Marvell (thanks!). Quad-core fast CPU, 4G, onboard SATA, Gigabit ethernet - really nice machines, much faster than the older Freescale imx53 dev boards. We've now retired the older Marvell v5 buildds that we were using for armel building, so we can drop the old kernel flavour we have been using. * We had minor teething troubles with the new machines (as is common with using dev boards as build machines and running them 24/7!), but with some local modifications to the cases to fit bigger fans etc. they've been much 100% reliable since. Thanks to Vince Sanders for the help there! * We've had offers of real ARMv7-based servers to augment/replace the dev boards, bit that's not happened yet. We're still working on those as they should be better and more reliable in the long run than using dev boards forever. New port: arm64 =============== * Brand new port that's just entered the main archive recently [3]. for more details. Arm64 has already been mostly-bootstrapped in debian-ports by Wookey over the last 2-3 years, working hard to get packages to build, breaking bootstrap loops etc. Now we're in the main archive using those debian-ports packages as a seed. We can also use more packages from the d-p archive to help us break loops as we get to them. * Strongly hoping to release with Jessie. There are some concerns from DSA and the Release Team on that front, but we're getting on with things OK and they seem to trust us to fix issues as they come up. * 2 official builds hosted at ARM: Juno dev boards (6-core ARMv8, 8GB RAM, USB disks etc.). These are still dev boards, but they've been wonderfully stable for us while thrashing them 24/7 so far. Fingers crossed! * In 2 weeks from the start, we got to ~50% of the archive built on arm64. Starting to slow down as we get further up the package chains to bigger, more complex packages. * ppc64el was added to the archive just after arm64, but built faster due to massively more powerful server hardware (cheating!). We're not actually racing *each other* here, but instead both of the new arches are racing to get enough of the archive built to get in for Jessie. * The build graphs for the two arches are slightly differently shaped, probably an artifact of differing build orders when breaking the complex build loops that we've encountered. After the initial hump, we've kept the machines building solidly so there have not been any gaps. Finally, as you have more and more of the archive built, there is ever-growing scope for package maintainers to upload new versions of their packages, triggering rebuilds. * We've been watching the Needs-Build list on #debian-buildd for arm64, making sure we keep the build machines busy so we don't waste time. Thanks to the people helping there! Bootstrapping is *hard*, or "fun". :-) Loops are *very* frustrating, e.g. gtk and qt in the same build chains around each other. New stuff ========= * Cool stuff: Andy Simpkins talking later about developing a laptop using an arm64 (ARMv8) CPU. Considering developing a replacement motherboard to go in a Thinkpad X220. See www.vero-apparatus.com for more details. * Donated hardware: Banana Pi boards donated as a giveaway by Lemaker (thanks!) for Debian people to use. These were handed out to people to help work on the armhf port. Boards are very similar to the Raspberry Pi, but more advanced - they're ARMv7 based (Allwinner A20) instead of ARMv6 so they'll run armhf. Doesn't quite work with the Debian kernel (yet!) * Donated software: announcement and demo from ARM, courtesy of Pawel Moll in ARM's Development Solutions Group. ARM's DS-5 Development Studio is now available free of charge for all Debian Developers [4,5]. Discussion ========== * State of Raspbian in the archive? They're quite isolated and short of manpower to get into the main archive. Not much interest any more in trying to move things over. We also don't want *yet another* ARM port in the Debian archive - we already have 3 ports! We could move armel up and merge things a little, but it's not likely to help very much. It's a shame the Broadcom SoC in the Pi was v6 - if it was v7 life would have been much easier for everybody... :-( * Future of the armel port? C++11 atomics are not supported directly on ARMv4 and ARMv5. We can just use the kernel-provided helpers, but performance will be slow compared to the better options that newer CPU versions include. We need to make sure this is sorted out - make sure that C++11 will work for us if we're going to keep armel going. Need more discussion on the list. Should armel become the first partial port in Debian? Not many people are going to be running the big desktop apps on a Guruplug, surely? * Toolchains etc. will have to continue targeting older ARM processors for a long time - *many* people still using smaller, cheaper cores so toolchain support has to continue. For Debian purposes, we're mainly going to be targeting bigger CPUs, though. * Bare-metal cross toolchain is in the main Debian archive too, to help with people targeting small ARM devices. * ARM/Debian stickers to give away too, but Wookey forgot them on the day. Were available later... * Vagrant has been working on a few different ARM boards for debian-installer, flash-kernel etc. to try and get more different boards working out of the box with Debian. Please help if you can! Help! ===== We're still always looking for more people to help on porter work. Join #debian-arm and/or debian-...@lists.debian.org to get involved. Also mentioned - upcoming mini-debconf hosted by ARM in Cambridge in November [6]. Thanks! ======= ARM and Linaro have been very involved in getting Debian working well on ARM. Wookey and Steve are both working for ARM and seconded into Linaro. Wookey's day job has involved getting the arm64 port bootstrapped; without that we wouldn't have got this far. Many ARM engineers are Free Software fans and contributors and want to get more involved in Debian and other projects! Expect to see more of them soon! [1] http://meetings-archive.debian.net/pub/debian-meetings/2014/debconf14/webm/State_of_the_ARM.webm [2] http://www.einval.com/~steve/talks/Debconf14-state-of-the-arm/ [3] https://wiki.debian.org/Arm64Port [4] http://ds.arm.com/debian [5] https://lists.debian.org/debian-devel-announce/2014/08/msg00014.html [6] https://wiki.debconf.org/wiki/Miniconf-UK/2014 -- Steve McIntyre, Cambridge, UK. st...@einval.com "The problem with defending the purity of the English language is that English is about as pure as a cribhouse whore. We don't just borrow words; on occasion, English has pursued other languages down alleyways to beat them unconscious and rifle their pockets for new vocabulary." -- James D. Nicoll
signature.asc
Description: Digital signature