Slashdot Mirror


Facebook Joins Linaro Linux-on-ARM Effort

dgharmon writes "It has been more than two years since Freescale Semiconductor, IBM, Samsung, ST-Ericsson, and Texas Instruments formed a non-profit software company called Linaro to help focus the disparate efforts to get Linux running well on ARM processors and system-on-chip designs. A slew of companies, some new to the ARM racket, have joined the Linaro effort – and as of Thursday afternoon, so has social media juggernaut Facebook."

38 of 60 comments (clear)

  1. Makes sense. by cultiv8 · · Score: 4, Informative
    --
    sysadmins and parents of newborns get the same amount of sleep.
    1. Re:Makes sense. by hendridm · · Score: 3, Informative

      FTFA: "Facebook and AMD are joining the Linaro Enterprise Group, which was formed to focus on "the development of foundational software for ARM server Linux," as the announcement put it."

    2. Re:Makes sense. by cultiv8 · · Score: 1

      can't figure out why I was modded down. ARM/Linux on smartphone makes sense, no? If someone can fucking tell me otherwise, great, still don't get why I was modded down for "redundant".

      --
      sysadmins and parents of newborns get the same amount of sleep.
    3. Re:Makes sense. by MichaelSmith · · Score: 1

      But there are so many working distributions out there right now, why start from scratch with a new one. For example there are about three linux based distros for the openmoko, all with custom UI front ends.

    4. Re:Makes sense. by Anonymous Coward · · Score: 1

      ARM/Linux on smartphone? Genius! Quick, call Google and Samsung and tell them about your amazing new discovery.

    5. Re:Makes sense. by rtfa-troll · · Score: 2

      There are about three linux based distros for the openmoko, all with custom UI front ends.

      Most "distros" that you see are exactly that; ways of experimenting with different UI, usability and system administration concepts. The guys that do them don't want to do much of the low level plumbing. Think of Linaro as being similar to Mer which is the underlying developer whilst Plasma Active and Nemo the consumer distros built on top of it.

      In the case of Linaro, though, they are trying to support completely embedded customers. These users often don't end using a proper distro at all. For this reason Linaro is less building a distro that people build on top and more building examples of working systems people can copy from. Let's say you are an SOC or sensor vendor that wants to sell to Android vendors in future. Your first place to start would be cooperating (paying) Linaro to get it working. Once that's done, everybody can can see how it works and is confident that they can also get it working in their own build of Android. At the same time you get access to the massive embedded Linux market.

      This is one of the ways in which modern community oriented FOSS software works a bit differently from proprietary software. You see all of these experiments and development versions out in the open where each of them would be hidden somewhere deep inside Microsoft's R&D. For the hardware company this is a great way to address all the different Linux distros via one place. For the Linaro guys this is great because they continue to get the latest hardware to develop on all the time and they don't need to stop working and integrate to other distros. For the developer this is a great opportunity to understand which hardware will be best supported in future. For the normal user the message is "don't worry be happy".

      --
      =~ s,(.*),<sarcasm>$1</sarcasm>,g if any_point_you_wish();
  2. Um... by epp_b · · Score: 1, Redundant

    I'm posting from a Linux on ARM device right now.

    1. Re:Um... by godrik · · Score: 5, Informative

      Of course, that's not what Linaro is about. They are looking forward to stop the explosion of code and architecture within the ARM familly. No two ARM machine boots the same. No two ARM processors expose component the same way. You did not read Linus saying "what about stoping the ARM crap?"

      http://linux.slashdot.org/story/11/08/18/1728227/arm-is-a-promising-platform-but-needs-to-learn-from-the-pc

    2. Re:Um... by cultiv8 · · Score: 1

      ...and you were modded down as redundant for saying this... same as I was.

      --
      sysadmins and parents of newborns get the same amount of sleep.
  3. " to get Linux running well on ARM processors" by Gaygirlie · · Score: 3, Informative

    I guess it depends on what you mean with "running well": I have a Pandaboard and, well, it has been a major clusterfuck all the way from the beginning, what with constant breakage of features, on some releases of the software the features disappear completely, and then there's the constant crashes in the kernel. Imagine my surprise when I installed the latest stable Texas Instruments - release of the kernel only to find that networking is completely broken and the kernel goes to a hard lock-up after being on for 5-10 minutes, whether or not it just sits idle this whole time.

    If all I want out of it is unaccelerated X or just console applications then yes, it runs very well, and it works great as a low-foothold server for all kinds of things. I'm just saying that I sure have no high expectations for these guys and their efforts.

    1. Re:" to get Linux running well on ARM processors" by rdnetto · · Score: 2

      The very reason it's a clusterfuck is because of the fragmentation these guys are trying to address. Each device has a different kernel, even those that use the same SoC (because the GPIOs, etc. are hardcoded). That means that the developers efforts are fragmented - only a small number of people see the bugs and put in the effort to fix them, which undermines Linus' law. 3.7 will help, but there's still a lot to be done before ARM has the kind of compatibility that x86 does.

      tldr: These guys are doing useful, important work that will vastly improve the state of Linux ARM.

      --
      Most human behaviour can be explained in terms of identity.
    2. Re:" to get Linux running well on ARM processors" by drinkypoo · · Score: 1

      I'm sorry to hear your Pandaboard is a clusterfuck, but the Raspberry Pi is pretty stable now so long as you don't try to use turbo mode so clearly it's not impossible to get something working.

      Personally I only know linaro exists because someone compiled an advanced kernel for the Nook Simple Touch with it, and it's supposed to have improved performance considerably. I can't speak to that, because this kernel also provides a lot of other things including overclocking, and I didn't even try to make a direct comparison. But, if they've optimized gcc to make better ARM code, they have made me happy.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
  4. Re:Stealing Credit by Elbereth · · Score: 3, Informative

    According to the Wikipedia article, these guys are simply trying to simplify, optimize, and reduce fragmentation in the ARM/Linux world. They're not trying to claim anything except that their tools and validation suite make your life easier.

    It's sort of like the Linux Standard Base, if you remember that initiative. The LSB was invented to address concerns of fragmentation and difficulty in porting applications to Linux, because the distributions were so radically different from each other. While it didn't work out as well as hoped, it did manage to reduce the idiosyncrasies.

  5. Re:Android? by Gaygirlie · · Score: 2

    Isn't Android itself a Linux-derived OS? I thought Torvalds said that Android will be converging back to Linux in the future.

    Yes, Android runs on a slightly modified Linux-kernel. Most of the modifications have now made their way into the mainline kernel, so in the future it may well be possible that there is no need for modifying the kernel at all. The userland on Android and any Linux-distro is entirely different, but I s'spose you knew that already.

  6. Re:Stealing Credit by Anonymous Coward · · Score: 2, Informative

    For that matter Linaro has been making ARM patchsets for various hardware for over 10 years (maybe even longer!). Probably 3/4 of the ARM Linux hardware you'll find (be it routers, IPCams, print servers, etc) will be running some kernel with a -linaro in it, and even the ones that aren't usually have a -linaro in the gcc/binutils buildversion.

    They're just trying to reduce their own costs by consolidating the majority of necessary changes into patchsets that will be accepted into the kernel, so that minimal additional, potentially conflicting, code will end up outside of the kernel in the long run.

    Can't fault them for wanting to make both our and their lives easier.

  7. ARM servers by symbolset · · Score: 2

    It's long past time for this. China is doing MIPS servers too.

    --
    Help stamp out iliturcy.
  8. Not About Mobile by fm6 · · Score: 4, Interesting

    Even if Facebook is planning a smartphone (huh?) they don't have a lot of motivation to improve core Linux on ARM. I think it more likely that they're seriously looking at transitioning their (huge) data centers to ARM in order to save energy costs.

    I've poo-pooed ARM-server speculation in the past, but this goes way beyond speculation.

  9. Re:While you are at it by sensei+moreh · · Score: 1

    My first personal computer had a 6502 (and a Z80) on the motherboard. Now get off my lawn!

    --
    Geology - it's not rocket science; it's rock science
  10. Zoos are Expensive by mrbluze · · Score: 1

    Of course, that's not what Linaro is about. They are looking forward to stop the explosion of code and architecture within the ARM familly. No two ARM machine boots the same. No two ARM processors expose component the same way. You did not read Linus saying "what about stoping the ARM crap?"

    Soon they will have to address this problem, not so much as to allow Linux to spread, but because it drives the cost of ARM based devices for the companies that make money writing the operating systems for them, such as Microsoft. It is a competitive disadvantage for ARM to be in charge of a zoo.

    --
    Do it yourself, because no one else will do it yourself. [beta blockade 10-17 Feb]
  11. Re:While you are at it by Rhinobird · · Score: 1

    Ah...I still have fond memories of my C=128

    --
    If Mr. Edison had thought smarter he wouldn't sweat as much. --Nikola Tesla
  12. Downsides to running ARM servers? by AlphaWolf_HK · · Score: 1

    I understand the upsides of ARM servers, namely lower cost hardware and much better energy efficiency. However, what are the downsides? I've heard mixed stories about whether or not we can achieve the same performance from ARM as we can from x64, but nothing concrete.

    If there are no significant shortcomings, I'd wager that Intel's days are numbered. A lot of AMD's revenues come from server deployments, and they've already jumped on board with ARM, but Intel shows no interest in doing so. You'd figure that *maybe* intel would license its architecture similar to how ARM does, rather than keeping everybody else out except for AMD through cross patent agreements, in order to keep x86 alive, but they don't show interest in doing that either.

    Sure there's always the desktop market, but that segment is seeing very limited growth at the moment, and there aren't any indications that this will improve any time soon, especially with Microsoft and its apparent plans to push everybody over to architecture agnostic applications (although, whether or not that will succeed depends on who you ask.)

    --
    Careful with names containing L slashdot.org/~AiphaWolf_HK slashdot.org/~AlphaWoif_HK slashdot.org/~AiphaWoif_HK
    1. Re:Downsides to running ARM servers? by imsabbel · · Score: 2

      Server chips make less than 12% of AMDs revenue, tieing with chipsets, of all thing. Graphic chips are more than twice that.

      --
      HI O WISE PRINCE. WHT TOOK U SO DAM LONG?
    2. Re:Downsides to running ARM servers? by sky770 · · Score: 1

      ARM is the future. Period. Atleast for the mobile segment and for those who want to cut down development costs, save on energy efficiency and on top of all that "increase in processing power" ( LOL din't I just covered every "major" aspect of the needs of our immediate future?) More and more ARM SoC's are having better and better GPU's in them which are coming up quite well. Also, you should have a look at the Adapteva's Kickstarter Project Parallella. Its based on a dual-core ARM A9 SoC. Now this might spark enough ideas to convert this baby into a ARM based server..idk for what not but it'll be cool enough for scientific applications.

    3. Re:Downsides to running ARM servers? by banbeans · · Score: 1

      It really depends on the load.
      I don't see them taking over totally anytime soon but for some tasks they will be good enough.

      sql back end of any kind forget about it, not even worth discussing anytime some.
      They could need hardware accelerators to even be really useful on anything but the lightest loads.

      Even middle-ware processing, not soon.
      This is an area where accelerators could shine.

      Front end web servers, This is the place they will show up and shine.
      A lot of power is wasted waiting to serve a heavy load that only comes a few hours a day.
      The small standby power of ARM is a good start. Get the i/o up and add some accelerators.
      Hook them up to a fast fabric and go.

      File servers are a real possibility many NAS already are running them, but they don't scale yet.
      They do have the potential to do so however if the r&d is spent on them.
      Many raid controllers are nothing but lower end arm cores running firmware, put 5 or 6 of these on a single chip with some fast 64 bit cores to run the OS and a 10GB network controller on a fast fabric and you would have the basis of a killer server.
      Routers, many already are ARM and they will scale farther up the food chain in the future.

    4. Re:Downsides to running ARM servers? by drinkypoo · · Score: 2

      It remains to be seen if ARM will ever offer the same single-thread performance as x86, but it offers better performance per watt now, so embarrassingly parallelizable tasks are already better done on ARM so long as the servers don't cost so much that you don't save any money using less power. Power is pretty expensive these days though, which is one big reason you're seeing so much interest in ARM servers, and intel isn't exactly known for offering their chips at unbelievably low prices.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
  13. Re:While you are at it by rubycodez · · Score: 2

    no, it has no MMU

  14. Re:Stealing Credit by rdnetto · · Score: 2

    For that matter Linaro has been making ARM patchsets for various hardware for over 10 years (maybe even longer!).

    Citation needed. According to wikipedia, Linaro was only founded 2 years ago.

    --
    Most human behaviour can be explained in terms of identity.
  15. Re:Android? by Johnny+O · · Score: 1

    Android runs ON Linux. end of story... Including all the utilities unix/linux provides. It is a Linux distribution that relies on Java for the desktop. SuSE, Slackware, and RedHat are based on Linux. They have different desktops based on different technologies.

    They are all Linux.

  16. Re:Android? by Gaygirlie · · Score: 1

    Android runs ON Linux. end of story... Including all the utilities unix/linux provides. It is a Linux distribution that relies on Java for the desktop.

    Incorrect. Taken from the Wikipedia - page for Android:

    Android's linux kernel has further architecture changes by Google outside the typical Linux kernel development cycle.[43] Android does not have a native X Window System by default nor does it support the full set of standard GNU libraries, and this makes it difficult to port existing Linux applications or libraries to Android.[44] But the support of simple C and SDL applications is possible by injection of a small Java shim and usage of the JNI[45] like e.g. in the Jagged Alliance 2 port for Android.[46]

  17. Re:Android? by Gaygirlie · · Score: 1

    So, you're saying the exact same thing I said?

  18. Re:Android? by Gaygirlie · · Score: 1

    I don't get your point? You're just saying the same thing as I said?

  19. Re:While you are at it by serviscope_minor · · Score: 1

    no, it has no MMU

    Actually, that's not the big problem. I think that the MMUless code was merged back into the mainline at some point. Either way there's still ucLinux.

    The more fundemental problem is that the stack pointer can't be moved, which makes preemptive multitasking painful.

    But it has been done, and it's called lunix.

    --
    SJW n. One who posts facts.
  20. Linaro is not *a distribution* by DrYak · · Score: 1

    Linaro is not a distribution. It's a joint effort to *help linux run on ARM hardware*.

    For example there are about three linux based distros for the openmoko, all with custom UI front ends.

    And for these "linux based distros" to work you need a running linux (kernel) on which to base them. That's the work of the software company named Linaro.

    To give into more details:
    as a point of comparison, in the x86 processor world, things are rather standardized, and well modularized. There's more or less only one single main platform (the PC) with some weirder variant (BIOS vs. (U)EFI, or even weirder PC vs. custom Apple Intel Macs) and a few exception (they are really rare and don't matter much for mass consumption). With clearly organized components (no matter if you go for Intel, AMD, Via or more rare hardware: you've got the same basic CPU, northbridge, south bridge, PCIe bus, etc.). And well defined procedure to initialise and control everything. On the software side, all this is controlled by using clearly modularized and segregated components.
    When something new arrive to the market (like the jump from BIOS to EFI, the move from PCI to PCIe, etc.) you only need to write a module and leverage what already exists for everything else.
    To boot into linux, you use the same kernel everywhere, and only load different drivers depending on the local variations.

    in the hardware arm world, things are much more messy: lots of weird SoC are put together, with far less standardisation. Also, whereas the x86 hardware is general purpose and widely available to everyone (just think about all the beige boxes everywhere. Then think that if you need server, a compute node or a home theaterPC you use the samecomponents. And branded machine (brand servers) use the same componenents too), lots of the ARM hardware tend to be put together for very specific custom usage (a company using their own SoC + PCB for a router. Another for a smart phone. Another for a NAS. Another for TV set top box. Etc.). Lots of this hardware is one-shot (there's few design re-use between a router and a smartphone).

    as a consequence, before Linaro, Linux on ARM was a big mess: each time a company put together some hardware, they also do their own port in a one-shot fashion: they download the linux source, write a big monolithic patch to support their own weird variant, compile it, even sometimes publish the code (to be compliant with the GPL) and call it a day.
    when another company wants another ARM-based machine, they just to the same.
    No modularisation. No code re-use. No easy rebasing of the kernel.
    That's why for several pieces of hardware, you're basically stuck with one very specific kernel version (openmoko is still at 2.6.x something) even when the source is available: the hardware depends on a huge monolithic platform drivers which is tighly dependant on the very specific kernel version against which the patch was written.
    If there's any known kernel bug, your only hope is to wait for the back-port. you can't just move to a recent kernel (to 3.6.x).
    If you want to provide a distribution for several pieces of hardware, you need one separate kernel per each separate device, sometimes different kernel version (depending against which kernel version was the patch written).
    A big mess.

    It's not a surprise that Microsoft is having big difficulties with Windows 8 on tablets and smartphones: the hardware landscape is really weird (and their own approach is to impose 1 single specific type of platform, so writing Windows 8 is easy and have everyone else standardize on it) (that's why they won't end up being as much popular on smart phone as they wished).

    The role of Linaro was to put some order in this mess, by gathering together several of the people involved (there are hardware companies here) and giving them opportunities to work together and coordinate their effort. Among them as well as together with the kernel developers and the rest of the community.
    Split every

    --
    "Sufficiently advanced satire is indistinguishable from reality." - [Tips: 1DrYakQDKCQ6y52z6QbnkxHXAocMZJE61o ]
  21. Android convergence vs. Linaro by DrYak · · Score: 1

    The Android convergence was about bringing the specificities needed to run android userland back into the main kernel tree, instead of a special separate fork.
    (e.g.: Among other, Android uses some special type of IPC)
    Since recent kernel (was it 3.5? 3.6? memory fails me) these modifications are back into the main tree.
    So, today, *as long as the hardware is supported*, you can run Android using any modern kernel. (for example: there are some interesting experiment of having both Ubuntu and Android running on the same ARM device using the same kernel)

    Linaro is about the rest, about the "as long as the hardware is supported" part. As said above by godrik:

    No two ARM machine boots the same. No two ARM processors expose component the same way.

    As I've explained elsewhere in this topic, this has lead in the past to a situation where every single ARM machine has a seprate monolithic patch which was custom-written in one shot by the machine maker.

    The point of Linaro is to bring some discipline in this, bring cooperation between all makers & developpers, and help modularize all this into small independent component.
    So when the next machine comes to the market, instead of writing yet another new monolithic patch completely from scratch, as much work as possible can be leveraged from what already exist.
    And the other way around: when a new kernel version comes, instead of having to port several thousand different monolithic patches (which never happens. end-users are always stuck with hardware specific versions), it will be easier to just maintain the few modules affected by the update changes.

    When both are combined, that means it'll be incedibly easy to use Android on as many devices as possible. For the manufacturer, that's a no-brain choice. The mainline kernel contains everything needed to run android, and contains a lot that can be leveraged to support the hardware. Either write just a few new needed drivers, or even better (if you're lucky) only write new settings for some generic hardware.

    BTW: Microsoft has chosen a different path - screw everything else, we're only supporting one specific way, one single type of machine. Either go our way, or pick another OS. My bet is that this isn't going to work very well, specially given the flexibility that android is offering on the other hand.

    --
    "Sufficiently advanced satire is indistinguishable from reality." - [Tips: 1DrYakQDKCQ6y52z6QbnkxHXAocMZJE61o ]
  22. Re:While you are at it by UnderCoverPenguin · · Score: 1

    Emulate an x86 or supported ARM on a 6502. Of course, performance would likely be seconds (or minutes) per FLOP. Aside from the slow instruction cycle rate of the fastest made 6502, all your "emulated" RAM would have to be on disk.

    --
    Don't try to out wierd me, three-eyes. I get stranger things than you, free with my breakfast cereal. --Zaphod Beeblebr
  23. Re:While you are at it by rubycodez · · Score: 1

    ucLinux is not Linux

  24. Re:While you are at it by rubycodez · · Score: 1

    there are the ARM patches to 2.6.14 t o 2.6.19 work on an MPU (Memory Protection Unit rather than MMU) of certain ARM systems

    so, you need something to manage memory
    and ucLinux is not Linux

  25. Re:While you are at it by rubycodez · · Score: 1

    also, the ARM patches to a few of the 2.6 kernels that use the MPU of certain ARM systems still is relying on a memory management/protection hardware

    no memory management/protection, no full Linux