Hacker News new | past | comments | ask | show | jobs | submit login
Building a tiny ARM-based server (ntua.gr)
106 points by ttsiodras on Dec 15, 2013 | hide | past | web | favorite | 41 comments

Well done, OP.

I forsee Apple and Google (and Microsoft?) devices will increasingly be aimed solely at consuming content. This will be the "interactive television" of the future.

If you haven't noticed, it is not easy is it to turn an iPad into a router/server. Perhaps it was not meant to be. It is an "interactive TV", for sharing and consuming content. These type of devices are not under the control of users; they are ultimatly controlled by large corporate interests, in the same way that TV is the medium of government and large corporations. That is not "revolutionary", just business as usual.

As such, I posit that it is another computer -- the computer that retrieves data from the internet and sends the content to your TV-like device -- that is the most interesting, and hence the most "revolutionary". That is your router/server. The OP, a programmer, calls it "one of [his] best hacks."

This I believe is the "PC" of the future. The "PC" was at one time a revolutionary device that brought the power of computers, once reserved only for those who could purchase and administer mainframes, to the home and business. Where would Apple, Google if not for the PC revolution?

I believe the home router/server (not your beautiful form factor, high priced device) is, going forward, the "PC" of the future. This is the device that you can program for free, that can run open source software, including an open source OS of your choice, that you the user can fully control, and where real innovation can occur. This is where the "PC revolution" can continue.

The OP says he does not see why there should be a separation between programming and administration (e.g., a subset of programming that, allong with basic networking know-how, allows the user to install and configure her own "server" at home).

As a user, if I could only master one and had to choose between the two, I'd pick administration over programming. This is because I feel it is more useful to me as a user (like the OP, "one of my best hacks"). As such, I am biased toward administration and believe if there is to be another "PC revolution" I believe it should be focused on the home server/router and, if so, must be lead by those who can at least administer computers performing these crucial functions.

I think you're close.

The only PC of the future I can see is what would be considered an embedded system of some description at the moment; not a re-purposed one but one that is designed to be used for something else.

I don't see ARM or Intel getting a look in here as they are not open architectures. ARM is almost always in a notoriously unknown licensing status from experience.

I reckon that the market will divide into consumption, some open architecture that doesn't exist yet (for power users, enthusiasts running Linux) and this sector which is hacking devices.

The PC of the future doesn't exist. Yet.


It is the evolution of "development board".

It is the "home computer kit" in the back of Popular Science that started the PC revolution, but this time much, much easier. Because we have heaps of free software.

As another comment suggested, hardware has been commoditized. It follows that system software will also be commoditized.

Agree entirely including BSD.

If we agree 100% on this vision, maybe we should team up. It's rare for HN commenters to agree on what the future holds.

I agree that the "curator" role you're describing will be important, but I doubt it'll come in the form of user-programmed home servers.

Sure the techie types will always want to get into the nitty-gritty, but my mom can't even set up a router, let-alone program it.

I think the future is cloud-based (ugh, buzzwords, but true) services like IFTTT (https://ifttt.com/) that let non-technical users manipulate content/events without touching code.

It is the "techie types" I'm focused on. They are the ones who drive progress in computing, not your mom.

When every device in your home is connected to a public network, I imagine that you, a techie type, are going to want some control over what and how those devices communicate with the public network.

That control will not likely come through the device (at least, not easily, anyway). However it could come through your router/server.

If you dislike buzzwords, don't use them. Calling IFTTT "cloud-based" adds nothing over calling it "online" or "a web site". It might use the cloud, or it might know exactly where its servers are, but that isn't important here.

> The "PC" was at one time a revolutionary device that brought the power of computers, once reserved only for those who could purchase and administer mainframes, to the home and business. Where would Apple, Google if not for the PC revolution?

Not really, there were other platforms already.

What PC brought was commoditization of hardware instead of proprietary extensions used by other competing home computers.

This is true. The commoditization of hardware gave way to a focus on software. Perhaps we will next see the commoditization of "operating system" instead of proprietary OS that serve to limit the uses of commodity hardware sold to users.

After being not very satisfied with OpenWRT on a router as a fileserver (it's great overall, but file transfers are just too slow), I'm now using an IFC6410 as my home server.

It doesn't use much more power than the linked NAS device, but comes with basically the same hardware as the Nexus 4, on a nice board with all those useful connectors. Quad-core 1.5 Ghz CPU, 2GB of RAM, SATA and Gigabit ethernet.

This is something I am looking for to experiment with. Where did you buy your IFC6410? I keep looking for a source of ARM based machines where I can play with Linux or Android...but in a different form factor than a phone (Something I could put on top of my rack), and a little more power than a Raspberry PI.

I bought mine directly from inforce (http://www.inforcelive.com/index.php?route=product/product&f...). There are a few similar boards like the odroid-xu, but the IFC6410 is currently the only one with both SATA and real gigabit ethernet, not something attached via USB. And it uses the GPU with the best open source driver support (https://github.com/freedreno/freedreno/wiki/Ifc6410), so it runs the full Gnome 3 desktop and even weston/wayland.

There's a small community forming around the board, so there's some degree of support available. But currently it's not comparable to what's available for the Raspberry PI, you still need decent linux skills to set it up. But that's half the fun anyways.

Thank you!

I've been looking for something to replace my Dreamplug for a while and this might do it

Thanks for the info...really appreciate it. That is exactly what I was looking for.

Great post!

On a side note, for the newer (not the newest) edition of the WD My Book Live (and its 2-disk brother My Book Live Duo) NAS device, the OS is a full-featured Debian already, and you can easily enable SSH to login and `apt-get` almost everything you want. The processor is a MIPS one, though, not an ARM one, which might affect the availability of Debian packages. However, I've heard the newest edition called WD My Cloud NAS runs on an dual-core ARM processors.

People who are less hardware-hack-oriented (like myself) should definitely give those a try.

Or you could buy a Beaglebone Black. I did the exact same project above, with more memory and way faster speed for $49. I just nfs-mount my drive instead of using the onboard SATA.

I looked at the alternative ARM boards too, but unfortunately they are only 100Mbps ethernet, which is really slow for a media server :(

Any ideas of boards with gigabit ethernet?

I think the Cubietruck has it (along with a SATA port), never used one though: http://www.cubietruck.com/collections/frontpage/products/cub...

Also worth checking that the hw is good enough to fill a gigabit connection. Many of the cheaper machines (for instance, the WD MyBook World, like in the article) cannot really sustain gigabit disk<->network transfers. The limiting factor is often the CPU or a slow bus connecting the NIC, hard drive and CPU.

Some hardware (such as the raspberry pi) has its network speed limited by the usb network adaptor.

Yup. Utilite: http://utilite-computer.com/web/utilite-specifications. Dual GbE, though one is limited to around 470Mbps because of a limitation of the board.

I have one. Great specs, but I am not totally happy with the ubuntu 12.04 that comes with it. GCC is broken, for one thing: http://www.utilite-computer.com/forum/viewtopic.php?f=64&t=1.... Hoping this gets fixed soon.

I'm not using my ARM board as a media server or content renderer, just as an edge gateway much like the OP is.

The OP is "sharing media files with Samba to an Android tablet", but if you really need >100mbit to do that, I don't know what to tell you. I'm puzzled by everyone that wants to grind every random cheap SoC into a media server.

Some of these have gigabit ethernet and are pretty cheap


I learnt about the IFC6410 board in this thread which seems to have real gigE rather than gigE-via-USB like many other single board computers.

Cubieboard 3 (aka Cubietruck) will do 1gbit as well as 1 sata port.

Great post. I've got an old WD MyBook lying around, I should try and get some use out of the thing.

You don't have to hack it too much in order to get a 'full' linux on there. You can enable SSH access on the system via the web UI. From there, you can set up a simple packaging system to install most other common binaries (and a functioning build environment to add anything else)

Take a look at: http://mybookworld.wikidot.com/optware for instructions.

This is pretty cool and (disclaimer) the reason I started Amahi: running a low power home server for my media.

If you are interested in this space, join the Amahi community! People interested in building hardware are especially welcome https://www.amahi.org

Edit: one person asked how to join - there's the forums and there are the github repos to contribute[2]. There is also the developer mailing list[3]

[1] https://forums.amahi.org [2] https://github.com/amahi [3] http://sourceforge.net/p/amahi/mailman/amahi-devel/

FYI the freedom box project had a list of hardware you can buy for this type of thing. It sounds like raspberrypi 's raspbian project isn't really considered a Debian in their eyes, and instead the ones on list run a purer Debian than the pi.


nas-central.org is full of useful information about hacking with different NAS hardware. It helped me install debian with a custom kernel on my Lacie NAS without even opening it up.

Great post, OP. Always love this type of HN content the most.

Thanks! I really enjoyed building the thing :-)

As someone who doesn't own a soldering iron, I've found the $35 Raspberry Pi board [1] [2] [3] to be an excellent choice as a low-cost low-power general-purpose ARM-based server.

It also has a number of GPIO pins, UART, i2c and SPI, which may be of interest to those who do own soldering irons :)

[1] http://www.raspberrypi.org/faqs

[2] A model with no Ethernet is available for $25, but Ethernet is kind of non-optional for a server :)

[3] The price doesn't include power supply, case or boot media.

While we are plugging fun toys I'm going to piggie back on your comment, for those who don't own a soldering iron the Weller WES51 [1] is great! Extremely high quality, great selection of tips, very durable and reliable. You get by far the most for your money with it. The price is low enough for a hobbyist but the quality is high enough for some professional work.

[1] http://www.amazon.com/dp/B000BRC2XU/?tag=googhydr-20&hvadid=...

I'm not quite the target market for the Pi, and I love how much attention it's got but even with a home-server workload you may find that you need something a bit beefier.

I had a plug-computer before they were cool (the Globalscale Dreamplug) and it's been pretty good for almost 3 years now.

Unless I am mistaken, though, there's no SATA connector on the Pi - is there?

This is all very cool, but I can't help but think that it would be easier to get a used 12" HP 2530p for ~$150, install 2 hard drives inside it, install whatever distribution of Linux you want and connect it via its fast Gigabit port.

Less headache (though not as fun!), more storage space, less latency, more processing power at a still very low power consumption :-)

Always agreeable to see a link from softlab.ntua.gr high in the HN front page!

any .gr would do the job for me :-P

Are there any suggestions for a low-energy (possibly arm) server with raid 1? I guess software raid over USB would not be very satisfying, right?

Synology NAS servers will do that. Many of them are ARM-based, they run Linux - albeit a cut-down version, but there are add-on package managers to install more stuff (and SSH access is available without any hacks). They are quality IMO. However, they are not cheap hardware.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact