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."
http://mobile.slashdot.org/story/12/05/28/1632226/is-facebook-working-on-a-smartphone
sysadmins and parents of newborns get the same amount of sleep.
I'm posting from a Linux on ARM device right now.
I'm pretty damn sure Linux worked quite well with ARM long before this group decided to pretend that they invented everything. Apple, much?
So from what I've heard, each participant has to pony up some nontrivial amount of $ and people. Where's all that money going?
Isn't Android itself a Linux-derived OS? I thought Torvalds said that Android will be converging back to Linux in the future.
Now Facebook can promote posts and move its important news, links and photos higher on Slashdot's news feed. This post will be marked as Sponsored. Enter your Facebook corporate P-Card details below.
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.
It's long past time for this. China is doing MIPS servers too.
Help stamp out iliturcy.
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.
Can you get Linux to run on a 6502? Thanks.
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]
Work to make sure their mobile app doesn't blow chunks on a certain linux based os that runs on arm....
Seriously, the android version absolutely blows compared to the iOS version. You're better off just opening your browser and hitting up m.facebook.com
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
Isn't El-diablo means the "devil" ?
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 ]
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 ]