Ramble about embedded ARM boards (was: Firefox OS and ZTE phone)

On 27 November 2013 17:14, Robin Humble <rjh+luv@cita.utoronto.ca> wrote: [snip]
I digress, but in general if you just want a small linux computer then things like RPi, cubieboard are somewhat easier to get real OS's (fedora, ubuntu, etc.) running on. even then, accelerated graphics remains problematic. I think all small arm thingies still have binary blob graphics, but some have linux/glibc blobs instead of android blobs(?). kernel versions are typically frozen because of these blobs. lima and freedreno etc. are making progress fast though :)
I really like the little ARM single-board computers. I just wish the distros would manage to sort the hardware support out properly, and then continue to support previous versions for just a bit longer. It's your typical case that a new version comes out, and then all the dev focus moves to it and the older version is stuck in time. Usually not too hard to bring it up to date if you know what you're doing, but it's a barrier to adoption for people who just want to have a small, stable platform, rather than spend all their time maintaining the platform. (Most of the distros are really just maintained by one or two people in their spare time. I was one of them, until I ran out of time.) Most of the boards sit a fair bit behind the current ARM tech, sadly. Eg. The common boards are a single or dual core 1GHz ARM A8 or A7. (And the raspberry pi is far behind that in terms of processing power) Meanwhile the ARM cpu in the Nexus 5 phone can get up to 2.3 GHz on four cores! I'd love to have that sitting in a cheap, low-powered server the size of a deck of cards.. (You can get Snapdragon dev kits, but they're expensive and aimed at developing for new devices, not just running as mini computers) TC

On Thu, 28 Nov 2013 11:30:46 AM Toby Corkindale wrote:
I really like the little ARM single-board computers. I just wish the distros would manage to sort the hardware support out properly, and then continue to support previous versions for just a bit longer.
The big problem/challenge with ARM is that the hardware isn't discoverable, you need to either have a boardfile compiled into the kernel for your particular board or a devicetree file (for DT supported systems). There's a nice article on it by the chap who did device tree support for the GTA04 board on LWN here: https://lwn.net/Articles/572692/ # This is where devicetree comes in. A devicetree essentially # describes a specific device. There is no BIOS component to # the platform (which is likely a good thing given what kernel # engineers seem to think of BIOS quality) but rather a list of # devices or device-details that cannot be discovered by # poking. This devicetree (encoded as a binary "dtb" file) can # be stored in ROM on the system, or can be loaded from # wherever the kernel is loaded. The theory is that when a # system (e.g. motherboard) is created, a "dtb" can be # created for it, and it will work with all future software # releases. It is a nice theory... and part 2 of his explanation & experiences is here: https://lwn.net/Articles/573409/ [...]
Meanwhile the ARM cpu in the Nexus 5 phone can get up to 2.3 GHz on four cores! I'd love to have that sitting in a cheap, low-powered server the size of a deck of cards..
Just wait for big.LITTLE systems too, where you've get a combination of low- power low-energy cores and high-power cores for heavy work. The kernel folks are still working on how best to support that.. Oh, and then there's AMD's 64-bit ARM Seattle due out next year. All the best! Chris -- Chris Samuel : http://www.csamuel.org/ : Melbourne, VIC This email may come with a PGP signature as a file. Do not panic. For more info see: http://en.wikipedia.org/wiki/OpenPGP

On Thu, Nov 28, 2013 at 11:30:46AM +1100, Toby Corkindale wrote:
I really like the little ARM single-board computers. I just wish the distros would manage to sort the hardware support out properly, and then continue to support previous versions for just a bit longer.
does debian on ARM have long term support? I suspect when the 64bit ARM chips come out then RedHat/CentOS will support them and we'll get long term support. I doubt they will bother until we're out of the 32bit ARM era - 2G of ram for 4 or 8 cores to share (even if they are slow) is very limiting. IIRC debian has had an aarm64 port since the start of this year. Ubuntu seems to have gone the other way - chasing the phone and tablet markets (which outside the big two is increasingly cluttered - firefox OS, tizen, jolla/sailfish, aosp respins, 'doze, ubuntu touch, ??), but I guess that doesn't preclude them doing a LTS ARM server spin too.
It's your typical case that a new version comes out, and then all the dev focus moves to it and the older version is stuck in time. Usually not too hard to bring it up to date if you know what you're doing, but it's a barrier to adoption for people who just want to have a small, stable platform, rather than spend all their time maintaining the platform.
or if you "install once and forget" then it limits their usefulness to being intranet only. can't have world-facing un-updated boxen...
Most of the boards sit a fair bit behind the current ARM tech, sadly. Eg. The common boards are a single or dual core 1GHz ARM A8 or A7. (And the raspberry pi is far behind that in terms of processing power)
Meanwhile the ARM cpu in the Nexus 5 phone can get up to 2.3 GHz on four cores! I'd love to have that sitting in a cheap, low-powered server the size of a deck of cards.. (You can get Snapdragon dev kits, but they're expensive and aimed at developing for new devices, not just running as mini computers)
generally agree, but cpu specs aren't everything. cache and main memory bandwidth, being able to run 2xSATA and 1gige NIC at full speed (handling interrupts & DMA efficiently), some PCIe, etc. are probably way more important to servers than a bit more cpu GHz. AFAICT ARM hardware/kernels still have some way to go to catch up in these areas. also if the SMP architecture is poor then sometimes adding more cores to a chip results in more contention and each core goes noticeably slower. I'm not clear what the state of SMP scalability is like on the myriad of ARM chip designs. cheers, robin

On Thu, Nov 28, 2013 at 11:30:46AM +1100, Toby Corkindale wrote:
I really like the little ARM single-board computers. I just wish the distros would manage to sort the hardware support out properly, and then continue to support previous versions for just a bit longer.
does debian on ARM have long term support?
I suspect when the 64bit ARM chips come out then RedHat/CentOS will support them and we'll get long term support. I doubt they will bother until we're out of the 32bit ARM era - 2G of ram for 4 or 8 cores to share (even if they are slow) is very limiting.
A little OT but the subject is "ramble" so I think it's fair game :) How much power does RAM use? If you had a phone with 8GB of RAM, would powering the RAM contribute significantly to the power consumption? Just curious. James

On 2 December 2013 14:04, Robin Humble <rjh+luv@cita.utoronto.ca> wrote:
On Thu, Nov 28, 2013 at 11:30:46AM +1100, Toby Corkindale wrote:
I really like the little ARM single-board computers. I just wish the distros would manage to sort the hardware support out properly, and then continue to support previous versions for just a bit longer.
does debian on ARM have long term support?
I suspect when the 64bit ARM chips come out then RedHat/CentOS will support them and we'll get long term support. I doubt they will bother until we're out of the 32bit ARM era - 2G of ram for 4 or 8 cores to share (even if they are slow) is very limiting.
IIRC debian has had an aarm64 port since the start of this year.
Ubuntu seems to have gone the other way - chasing the phone and tablet markets (which outside the big two is increasingly cluttered - firefox OS, tizen, jolla/sailfish, aosp respins, 'doze, ubuntu touch, ??), but I guess that doesn't preclude them doing a LTS ARM server spin too.
Ubuntu are doing ARM releases for the server flavour of their distro, and Linaro have been doing releases for a while. I'm unsure where Debian stands. The problem is that in all cases, you tend to need a custom kernel for your board, and the distro makers are only supporting one or two boards. (eg. Ubuntu server is available for three boards, with a fourth in preview status) So all the amateur distros are basically taking those, and injecting a jury-rigged custom kernel into them. This means you do get updates to userland coming through regularly, since you're hooked into an official repository for them -- but not kernels. Chris explained that this is because ARM hardware isn't discoverable. That makes more sense to me now. It's also rather annoying :( The device-tree overlays are a massive PITA for hackers, because the learning curve is steep and the hurdles are high before you can do something simple like switch some GPIO pins, let alone configure more complex things. But it sounds like DTO is going to be good in the long run for making more-supportable hardware. T

Quoting Toby Corkindale (toby@dryft.net):
Ubuntu are doing ARM releases for the server flavour of their distro, and Linaro have been doing releases for a while. I'm unsure where Debian stands.
Summary and links here: https://wiki.debian.org/ArmPorts -- Cheers, And we all know the saying, which is true as well as witty, Rick Moen that a camel is a horse that was designed by a committee. rick@linuxmafia.com -- Allan Sherman, 'Peter and the Commissar' McQ! (4x80)
participants (5)
-
Chris Samuel
-
James Harper
-
Rick Moen
-
Robin Humble
-
Toby Corkindale