Forgot your password?
typodupeerror
Handhelds Power Ubuntu Linux Hardware

Surveying the Challenges of Linux On Cortex A9-Based Laptops 119

Posted by timothy
from the multiple-fronts dept.
Charbax writes "In this video, Jerone Young, lead partner engineer at Canonical, explains some of the challenges facing Canonical and other companies who are part of the new Linaro project, in preparation for the now imminent release of a whole bunch of ARM Cortex A9 Powered laptops and desktops likely to be manufactured by giants of the industry such as HP, Dell, Lenovo, and Toshiba, as well as lesser names such as Quanta, Invetec, Pegatron, and Compal, all of whom have been showing tens of early prototype designs of these ARM-powered laptops at trade shows around the world during the past year and a half. They're working to standardize the boot process, write drivers to use graphics and video hardware acceleration, optimize the web browser (Chrome and Mozilla), and implement faster DDR3 RAM and faster I/O bus speeds, as well as to optimize the software to use the new faster dual core ARM Cortex A9 processors."
This discussion has been archived. No new comments can be posted.

Surveying the Challenges of Linux On Cortex A9-Based Laptops

Comments Filter:
  • by Qubit (100461) on Tuesday July 06, 2010 @09:12AM (#32810370) Homepage Journal

    As their main webserver quietly melts in the background, please direct your attention to a video here [pirillo.com] (Coral Cache [nyud.net]) that has the exact same title as the url in this article.

    This link/video mentions Jerone Young, one of the "main engineers at Canonical" responsible for ARM development.

  • Lesser names? (Score:5, Informative)

    by ArhcAngel (247594) on Tuesday July 06, 2010 @09:15AM (#32810406)

    as well as lesser names such as Quanta, Invetec, Pegatron, and Compal

    They may not be household names but I would hardly call them lesser names. In fact I would be shocked if hp's Slate offering wasn't built by Quanta.

    Quanta Computer Incorporated [wikipedia.org] (TWSE: 2382) is a Taiwan-based manufacturer of notebook computers and other electronic hardware. It is the largest manufacturer of notebook computers in the world.[1] Its customers include ACER, Alienware, Apple Inc., Cisco, Compaq, Dell, Fujitsu, Gateway, Gericom, Hewlett-Packard, Lenovo, Maxdata, MPC, Sharp Corporation, Siemens AG, Sony, Sun Microsystems, and Toshiba. It was founded by Barry Lam in 1988. Lam continues to head the company.

    Compal [wikipedia.org] is the second largest notebook manufacturer in the world

    3 January 2008: Asus [wikipedia.org] formally splits into three companies: ASUSTeK, Pegatron [pegatroncorp.com] and Unihan

  • Re:ARM vs Geode (Score:5, Informative)

    by TeknoHog (164938) on Tuesday July 06, 2010 @09:22AM (#32810518) Homepage Journal
    AMD Geode is a series of processor models implementing the x86 architecture. ARM is a whole architecture with multiple manufacturers and a bazillion different models. ARM CPUs tend to be extremely power efficient, so they are the natural choice for mobile and many other classes of computers.
  • Re:ARM vs Geode (Score:5, Informative)

    by fuzzyfuzzyfungus (1223518) on Tuesday July 06, 2010 @09:41AM (#32810832) Journal
    A few reasons: With Geode, you have your choice between the two main branches of the family: the original Geodes, descendants of the embedded x86 line that AMD bought from National Semiconductor; and the AMD-designed Geode, which is basically their 32 bit athlon design with some modifications to make it embedding friendly.

    The first are genuinely low power and heavily integrated; but those suckers are slow. The second are pretty zippy by embedded standards; but only low-power by the standards of the desktop/laptop athlons they were derived from(ie. not very). Neither is an especially compelling choice. The former is slow enough that x86 compatibility doesn't really help you in the consumer market(virtually nothing remotely modern will run fast enough, and if you are going to roll a custom ultra-zippy OS and application suite, x86 isn't a huge feature) and the latter is power hungry enough that you can't really get it into anything smaller than a netbook(where, if it weren't for the fact that it tends to get paired with a fucking SiS chipset, it would actually be OK).

    Second, "ARM" gets to piggiback on development work done for contemporary high-end smartphones. The board going into a "smartbook" will be virtually identical to that going into a high end smartphone, just with a bigger screen, battery, and keyboard, and quite possibly some bumped clock speeds made possible by the larger battery and greater heat-dissipation capacity of the form factor.
  • by tlhIngan (30335) <.slashdot. .at. .worf.net.> on Tuesday July 06, 2010 @09:49AM (#32810982)

    These are ARM based platforms, but unlike the PC, there's not one single platform.

    On a PC, you know where everything is - and if not, the BIOS helps you. A lot of basic peripherals are at well-known locations (serial ports, keyboards, mice, etc). And for PCI, it exists in a well-known location as well. The BIOS does offer a memory map, but it's just to map physical RAM (which also exists at a well known location - it starts from 0).

    If you wanted to write a basic OS, you can accomplish a lot since you know RAM starts at 0, BIOS puts tables at well-known locations (ACPI, memory, etc), and where to expect a video adapter (already set up for you by BIOS), serial port, basic I/O. Add in a little code to do a little PCI probing to discover other adapters (mass storage, USB, etc), but that can wait since the basics are there. Heck, you can often guess a network controller might be placed at IO 0x300.

    On ARM, there's no such thing. You can't buy an "ARM Processor" - they don't really exist except as SoCs with onboard memory controllers, display controllers and other peripherals. And each chip can have different addresses for them. And while the ARM cores start at well-known location (0 - reset vector), there's often ROM there that does security boot, or just boot from NAND/SD/etc. And each peripheral exists in a different location - serial ports may be at 0x80000000 physical on one SoC, 0x80108000 on another, etc. RAM isn't based in any standard location - 0x40000000, 0x80000000, 0xC0000000 or other locations are possible. Ditto a PCI(e) bridge - it's somewhere in the memory map, but where you need to read the SoC manual to find out. End result is the OS has to be customized per-SoC and per-hardware because people can put things anywhere (for Linux, this just means the kernel since the POSIX abstraction layer hides the rest - provide a nice userspace and devices don't care).

    We don't think of it much, but the PC hasn't differed that much since IBM released their version of a desktop nearly 30 years ago. Heck, Intel's Pine Trail isn't PC-compatible, but it's an x86-based platform. Which is why Linux runs, but not Windows (desktop - you can probably get Windows CE running on it).

    That itself is a huge challenge. It's akin to consoles - all three consoles currently out (PS3, Xbox360, Wii) all have PowerPC processors inside them, but you can say none are compatible with each other, even though the lowlying ISA is the same.

  • by david.given (6740) <dg@NOsPaM.cowlark.com> on Tuesday July 06, 2010 @10:14AM (#32811392) Homepage Journal

    These are ARM based platforms, but unlike the PC, there's not one single platform.

    Having worked on this sort of thing... you are so right. (Aside: there are some non PC x86 devices. SGI made some non-PC x86 workstations at one point, and the new generation of Atom phones won't be PCs.)

    However, all is not lost: this is exactly the kind of problem that Open Firmware [wikipedia.org] was designed to solve. Each machine has an Open Firmware interpreter on it that acts as a boot loader. Once loaded, the OS can query Open Firmware to find stuff out about the machine. What's more, Open Firmware has the ability to find basic device drivers written in bytecode on the devices themselves. Plug in a PCI mass storage device and you can boot from it --- regardless of your machine's architecture! And since Open Firmware is based around a Forth interpreter, you have a complete programming environment out of the box, which is fantastic for troubleshooting.

    Anyone who's used a Sun workstation, a PowerPC Mac or an OLPC will have been exposed to it. Unfortunately, Intel's adoption of EFI as the official next-gen PC boot architecture pretty much squashed Open Firmware's momentum.

    You can find a BSD/MIT licensed version here [openfirmware.info]... and yes, there is an ARM version.

  • by tlhIngan (30335) <.slashdot. .at. .worf.net.> on Tuesday July 06, 2010 @10:21AM (#32811482)

    Is there any particular reason why there isn't a standard way of doing things?

    I mean, is there a competitive advantage to the chip makers who license the ARM tech if they decide on their own addresses for various components? Or is it just that it hasn't been as big an issue with embedded systems in the past, and nobody large enough has stood up and said "here's the standard way of doing things"?

    Becvause it's embedded, so each manufacturer has a different way of doing things that they feel is "better". It's why there's no standard for network cards - Intel, Broadcom, Marvell and the like all have differing ideas on how to do things that they feel will give them the edge.

    Compatibility itself was never a consideration for embedded - at best you had source code compatibility, and some SoCs maintained memory maps for next-gen chips (so developers of previous-gen chips can reuse stuff like drivers). Intel's StrongARM and PXA25x chips come to mind (and Marvell has continued, which results in oddball placement of registers in the memory map these days, and things like "compatible small memory" and "large memory" maps when things have to be moved around).

    And in embedded systems, since the OS and applications (even if they run Linux) tend to be heavily customized anyways, the real need for cross-SoC compatibility is pretty minimal. The customer says they want an Samsung processor in their device (because they have a good deal with Samsung, for example), you use a Samsung processor. Next guy wants a Marvell one, you use Marvell. Third guy wants Freescale, etc.

  • by TheRaven64 (641858) on Tuesday July 06, 2010 @10:35AM (#32811696) Journal
    Mod parent up! I wish OpenFirmware got more press, it's a really beautiful system. One of the really nice things you can do with it is compile the OFW drivers once you've booted. Each card comes with a little Forth program describing how to control it. The firmware interprets this, but an OS can compile it for the target CPU at boot time (or later) if it wants. Or it can replace it with its own driver. EFI seems pretty backwards by comparison, and LinuxBIOS (or OpenBoot, or whatever it's calling itself now) is just incredibly bloated. I'd love to see ARM systems ship with an OpenFirmware implementation.
  • Re:Lesser names? (Score:4, Informative)

    by Charbax (678404) on Tuesday July 06, 2010 @11:00AM (#32812138) Homepage
    I didn't formulate it "as lesser names", my submitted text was edited.
  • Re:ARM vs Geode (Score:3, Informative)

    by fuzzyfuzzyfungus (1223518) on Tuesday July 06, 2010 @11:01AM (#32812154) Journal
    I'm not going to say that it was good; because it was "built right down to price" back when good hardware cost a lot more than it does today; but the Geode's virtualized hardware was actually rather clever.

    It's a sordid tale going back to the Cyrix MediaGX(a cost and heat-optimized cutdown of the already cheap-seats Cyrix 6x86 line). The MediaGX creatively abused x86 System Management Mode to emulate the presence of a hardware VGA and sound card that did not actually exist. Working in concert with a specially modified BIOS, the chip would drop into SMM whenever the VGA or sound hardware was supposed to be active, do the job on the CPU, and then pop back into normal execution mode. The fake VGA also used system memory rather than dedicated video RAM, just to keep things even cheaper.

    You have to admire the pluck and creativity of this approach; but not the performance it resulted in.

    When Cyrix was sold to National Semiconductor(their designs went to Nat Semi, their trademarks to VIA), the MediaGX became the National Semiconductor GeodeGXm. Traces of the MediaGX design persisted through the GXLV and GX1. The GX2 might have been a clean break.

    Then AMD took over. They issued the GeodeGX and GeodeLX, both of which were direct descendants of the National Semiconductor designs, though the LX was speed boosted a fair bit. Because this was insufficiently confusing, the GeodeNX appeared, which was derived from the Athlon XP-M. To complete the confusion, the GeodeNX 2001 was, in fact, just an Athlon 2200+ with a different label.
  • Re:Tablet Design (Score:3, Informative)

    by peppepz (1311345) on Tuesday July 06, 2010 @11:05AM (#32812236)
    Is Android OSS enough for you? People seem to like its user interface.
  • by Charbax (678404) on Tuesday July 06, 2010 @11:58AM (#32813080) Homepage
    I filmed Mitch Bradley demonstrating Open Firmware as well: http://www.youtube.com/watch?v=KvxxAeuhPp0 [youtube.com]
  • by whizzard (177251) on Tuesday July 06, 2010 @12:10PM (#32813268) Homepage

    Not in Economy on any of the international flights I've been on.

    A number of airlines actually do have limited in-flight power in economy these days, such as Delta [delta.com] and Continental [continental.com]. A good website for finding out which airlines have this feature on which equipment is SeatGuru [seatguru.com].

  • Re:Tablet Design (Score:3, Informative)

    by evilviper (135110) on Tuesday July 06, 2010 @03:04PM (#32816392) Journal

    : in the 15 years I've been involved with Linux, OSS developers still can't seem to get a handle on building intuitive, user-friendly, clean, fluid user interfaces.

    That's okay... Neither can the closed-source world.

    As a counter-example, I submit MPlayer. And I don't mean the GUI that comes with it (though it doesn't affect the point). With MPlayer, if I want it to go full-screen, I hit "f". If I want to pause, I hit "p". If I want to seek forward, I hit the right-arrow key. If I want to seek backwards, left-arrow key. Mute: "m". Quit: "q". Audio-sync delay: "+" and "-". How dammed simple is that?

    With Windows Media Player, Full-screen is "ALT-Enter". Forward-seek is something like right-bracket. Quit needs Alt+F4 or similar. et al.

    And sadly, it's not just Microsoft's media player. Just about all use similarly obtuse keys for their functions. And don't get me started on the user-unfriendly implications of media players that support encoding and playback of several codecs and container formats, (eg. MPEG-4 audio/video) but ONLY in specific combinations of codec and container, and NOT in any others (eg. AVI). It makes no sense on either a user-interface or technical level.

... when fits of creativity run strong, more than one programmer or writer has been known to abandon the desktop for the more spacious floor. -- Fred Brooks

Working...