Hi! A quick follow up on the discussion started by Arnd regarding the removal of old or unmaintained architectures from the mainline kernel [1]. Debian has unofficial releases for various old or exotic architectures like alpha, m68k or sparc64. Fresh installation images are built on a regular basis and allow the installation of Debian unstable on these architectures with a recent kernel version [2]. We are running buildds - i.e machines building Debian packages - for all the architectures that can be seen in [3]. The buildds are running a current release of Debian with recent kernels. The cross-buildds for m68k, sh4 and x32 are currently running Debian Jessie, but they will be upgraded soonish. For m68k and sh4, we are using qemu-based buildds using qemu-user. However, there are also real machines up and running which are used for testing, development and also building packages. Those are running Debian unstable. Some notes per architecture: alpha ===== There are two servers running which are hosting buildd instances to build Debian unstable on alpha. Around 11600 source packages out of around 12900 packages (for x86_64) build fine. The port is stable and has only a few issues here and there. There is a QEMU target available, although I ran into issues from time to time trying to build Debian packages for alpha using qemu-user, it probably works better with qemu-system. One of the common problems on qemu-user are atomics. There is one active maintainer of the Debian Alpha port with several other people from Debian Ports co-maintaining. Having an additional fast Alpha machine available as a buildd would be desirable. hppa ==== There are many machines running as buildds, the port is maintained by the same people who are also the upstream kernel maintainers (Helge and Dave). Around 11700 packages out of 12900 packages build fine. One of the issues is that there is no support for hppa in OpenJDK at the moment due to the unusual stack layout. There is a QEMU target available that was just recently added. I have played around it a bit and Helge wanted to set up a QEMU-based buildd for hppa, so I assume QEMU for hppa is quite usable already. ia64 ==== ia64 was recently re-added as an unofficial port in Debian. Around 10000 packages out of 12900 packages build fine. There are still some toolchain issues here and there and we haven't added ia64 support back to the kernel source package in Debian yet. We have two HP BL-860c Integrity blade servers running which are building Debian packages. QEMU used to have KVM support for ia64 but that was recently removed. Getting additional HP blades would be useful for the port though. There is one active maintainer of the Debian Itanium port with several other people from Debian Ports co-maintaining. There is no target support for ia64 in QEMU that I know of. m68k ==== m68k has been revived some years ago by Thorsten Glaser. The port builds around 11100 packages out of 12900 packages just fine. There are quite a number of people working on the port in different areas, there is even a work-in-progress port of LLVM and the list of packages that build fine include even things like OpenJDK and LibreOffice. I am also working on a Rust port which depends on the LLVM port, of course. There is an out-of-tree QEMU version (qemu-m68k) by Laurent Vivier with both qemu-user and qemu-system support. We are using the qemu-user variant to operate four buildds to build packages. m68k target support is currently being upstreamed in QEMU by Laurent Vivier. Installing Debian's m68k port on qemu-m68k is a lot of fun. On a fast Core i7, the kernel reports an emulated 68040 machine with 1.5 GHz clock speed and 1 GiB. There are also various new drivers for m68k hardware in development, i.e. a driver for Amiga Zorro ESP SCSI host controllers or the X-Surf100 network card by individual computers. There is also a surprisingly large group of users of the port who are running Debian m68k on accelerated Amigas and Ataris, I am one of them. This port is maintained by the Debian Ports team. powerpcspe ========== This is a Debian port for the PowerPC e500v2 variant found in various embedded systems. There are currently three buildds running with two more being added soonish. Two of the buildds are Tabor A1222 boards from A-EON technologies which require an out-of-tree Linux kernel as lots of the necessary changes were unfortunately never upstreamed by Freescale. The primary concern of PowerPCSPE is LLVM which has target support for it but the backend is unfortunately broken as it's missing support for the actual ABI specialties of PowerPCSPE. The port builds around 11000 packages out of 12900. This port is maintained by the Debian Ports team. There is also support for PowerPCSPE (PPC e500v2) in QEMU, both user and system mode. sh4 === This port builds around 10500 packages out of 12900. There are four qemu-user instances running as buildds plus one Renesas SH-7785LCR board as an addtional buildd. The main concern with the port is the lack of hardware. The evaluation boards by Renesas are very hard to come by, but there are cheap alternatives: The LANDISK NAS systems developed by IO-DATA (Japan) which feature an SH7751 CPU clocked at 266 MHz with 64 MiB RAM. A better alternative are Video-on-Demand devices from Taiwan called "NextVoD" based on the ST-40 SoC clocked at 450 MHz with 256 MiB RAM. Those machines can be obtained for as little as 5 US-Dollars. I have many of those available which I will happily ship out for free to anyone who would like to work on the Linux SuperH kernel port (or other projects like glibc, gcc and so on). The port was planned to be revived as the open source J-Core architecture with two new maintainers. Unfortunately, after the initial work on the port, the port seems to have gone into hiatus. The Debian port for sh4 is mostly usable with some open gcc issues that have all reported upstream. However, since there is only one active SH maintainer left in gcc, progress is a bit slow. QEMU has both usable system and user support. sparc64 ======= This port was restarted around early 2016 by me after it went into hiatus after Debian's 32-bit sparc port was removed in 2015. The sparc64 port was never an official release architecture of Debian although we have had plans for that for at least two years now. Unfortunately, Debian has been unable to find any sponsor for modern SPARC hardware which could be used to set up a buildd and porterbox infrastructure. While we have several SPARC machines up and running as buildds and porterboxes, all of these machines are old (the newest one being a SPARC T5) and without support. Having in-warranty hardware at redundant hosting locations is one of the release criteria for a Debian port though. If Debian managed to find a sponsor for new and in-warranty SPARC servers (e.g. Oracle SPARC Sonoma S7), we would be able to add sparc64 as a release architecture in Debian. There was some interest from one large vendor's side to send out hardware, but that project eventually died down in the end. The port itself is in very good shape with around 11400 out of 12900 packages building fine. The biggest concerns are missing support for sparc64 in the Go compiler (gccgo is available, however and there is an incomplete out-of-tree port from Oracle) and the fact that some JIT compilers like they are found in Javascript engines are stumbling over the 52-bit virtual address space as it is found on sparc64 systems. The problem are tagged pointers used in the JIT compilers which assume that only 48 bits are used for addressing physical memory (as found on x86_64). QEMU target support is there and usable with QEMU upstream actively working on SPARC target support. To conclude, if anyone is interested to work on any of Debian's port architectures as mentioned above, be it the kernel support or any of the userland or toolchain pieces, please get in touch with the Debian Ports team as we have porterboxes available for which we can hand out accounts. And if there are potential sponsors for Alpha, Itanium or SPARC hardware, we would be interested as well. Thanks, Adrian
[1] https://marc.info/?l=linux-arch&m=151931431107183&w=2 [2] https://cdimage.debian.org/cdimage/ports/ [3] https://buildd.debian.org/status/package.php?p=linux&suite=sid
-- .''`. John Paul Adrian Glaubitz : :' : Debian Developer - glaubitz@xxxxxxxxxx `. `' Freie Universitaet Berlin - glaubitz@xxxxxxxxxxxxxxxxxxx `- GPG: 62FF 8A75 84E0 2956 9546 0006 7426 3B37 F5B5 F913