Installing Linux On ARM-Based Netbooks?
An anonymous reader writes "I am sure that many other Slashdotters have noticed an increase in ARM-based netbooks over the past several months. For example, the Augen E-Go. It is a widely touted theory that it is impossible to install Linux on one of these notebooks, replacing the commonly installed Windows CE operating system. The sub-$100 netbooks carry decent specs, including 533MHz ARM processor; 128MB DDR RAM; and a 2GB Flash drive, as well as most expected netbook components (USB, Wi-Fi, etc.). I find it hard to believe that a computer with these specs is impossible to hack and install Linux to, but Google searches have been largely unsuccessful in finding proper information. Do any Slashdot readers have experience in installing ARM Linux distros to these cheap netbooks like this? If so, what distros do they recommend?"
(In particular, I wonder if anyone can comment on Ubuntu on ARM.)
Debian GNU/Linux on ARM
512 MB RAM, 20 GB disk, 200 GB transfer, five datacenters. $19.95/month.
Angstrom Linux
With Linux on ARM is that ARM devices are substantially less standardized that x86s are when it comes to such niceties as the preboot/early stage of boot process.
Because of the decades-long Wintel monopoly, pretty much any x86 board(with the exception of a few oddball embedded things and OLPCs), boots in almost the same way. Worst case, the ACPI implementation is so shot that you have to boot with -noacpi in order to get the kernel up and running.
ARM devices, though, have had considerable freedom to do their own thing, so long as the vendor provided a BSP that papered over the weirdness enough to run the OS of the customer's choice(historically WinCe/VXworks, more recently this has included Linux). On the plus side, this has meant some fairly interesting capabilities in some of the bootloaders. On the minus side, this has meant a multitude of bootloaders(a few OSS, redboot, u-boot), some fairly common, and some horrid oddball crap that even Google has only heard mentioned a few times.
If you can get the kernel booted, userland is not such a big deal. Debian has had a pretty decent one for a while, and the Ubuntu guys have recently been doing some "suitable for low-rez screens" type polishing. The issue will be figuring out the bootloader. And, of course, there is absolutely no assurance that the drivers for whatever oddball devices are crammed into the cheapo SoiCs in these things exist, or work properly.
If you get to the stage of "what distro do I want", you are ahead of the game.
Is more a tablet or a cellphone than a netbook, but the N900 runs it, and is ARM based. And probably will be a Meego version for it too soon. Anyway, the N900 have twice that RAM, completes to 1gb counting the swap, and several times that flash on storage, you could feel a bit stretched with it.
There are also several mini linux distributions specially targetted to low ram/hardware (i.e. damn small linux), but not sure if there are ARM ports of them.
Or OpenBSD.
Plenty useable.
Computer memory is just fancy paper, CPUs just fancy pens with fancy erasers; the 'net is just a fancy backyard fence.
Do you ever use www.google.com/linux or www.google.com/bsd ?
Don't blame me, I voted for Kodos
I have installed Linux on an HP iPAQ hx4700 PDA (624MHz XScale PXA270, 64Mb RAM, 128Mb flash, 480x640 screen). As others have pointed out the main problems are finding (1) a boot loader and (2) drivers for your device. In the case of the hx4700 these problems were already solved for Familiar Linux (familiar.handhelds.org); SDG Systems produced a boot loader and others produced the kernel patches and drivers. A more generic boot loader is HaRET (Handheld Reverse Engineering Tool), a Linux bootloader which works from the Windows CE environment. I haven't used it myself because I wiped WinCE off my iPAQ years ago. Drivers and platforms for ARM devices are being developed for the Linux kernel all the time; check out the source code under ./arch/arm. But you may not find exactly the right combination for your device. Being a kernel hacker helps!
As for a Linux distro, I first used Familiar Linux. But that is no longer actively developed. So I switched to Angstrom Linux (www.angstrom-distribution.org). But that doesn't offer the latest version of the Mozilla Fennec browser. And in both cases I found the desktop environment (e.g. GPE) to be too resource hungry.
So I have now rolled my own distro from the latest software sources. In particular I am using a window manager called PAWM (Puto Amo Window Manager), which is small and perfect for a device without a keyboard, and fennec-2.0a1pre built from bleeding edge sources. Yes, they do actually work in 64Mb of RAM! It does take some effort to port, configure, debug and fix the software, but it's fun to do.
The problem with changing what an arm device runs is in the bootloader that arm devices run. What most arm devices have is firmware that not only configures the CPU and other devices but loads the OS. Unlike a PC where it loads some code off the first sector of the drive most arm devices actually have the code to load the file system, put a file in memory, and execute it. This is great except there is no standard on how to do this and can be configured from very easy to change(i.e just change the file it loads) to very hard(i.e the firmware checks the file checksum). Your best bet is to do some googling on the device and see who makes the CPU. Then google and CPU and you should find what the standard firmware the manufacture uses. Next you need to hook a serial device(most devices have these just no serial port on the board, you need to sodier it on). Then you can start hacking away. Marvell based devices are great since the OpenRD and Netplug devices have plenty of documentation and they all use the same boot loader and such.
So here's a little more background for those who haven't followed development of it closely:
MeeGo is the arranged marriage of Intel's Moblin + Nokia's Maemo.
MeeGo is still under heavy development, and although source and builds are available, everything is still experimental.
The steering group is "planning [a] release of MeeGo version 1 in the second quarter of 2010", according to the FAQ. It'll be here soon; don't start making plans to run it as your daily OS until v1.0 is actually released.
To give a taste of how raw development of the OS is right now, even basic tutorials on how to write a "Hello, World" application aren't useful to the community yet as most tutorials depend upon the MeeGo SDK, a component that hasn't yet been released by Intel.
But what you care about most is: "Will it run on my hardware?"
The best place to determine that is on the Devices page on the MeeGo Wiki. If you find that you can run the current development images on a different piece of hardware, please make a note of it on that page.
coding is life
I haven't tried with 128MB, but Etch + E17 runs dandy on a Pentium 2 with 192MB of RAM.
look! it's a bird, it's a plane, it's....a girl? yes, a girl browsing Slashdot on Linux