Posted
by
timothy
on Saturday April 05, 2014 @05:20PM
from the embed-and-deploy dept.

A few months back, we posted a video interview with some of the folks behind the Linux-friendly, x86-based MinnowBoard. TechCrunch reports the release of a more powerful version of the same all-in-one computer, now with a 1.91GHz Atom E3845 processor. According to the linked article, "The board's schematics are also available for download and the Intel graphics chipset has open-source drivers so hackers can have their way with the board. While it doesn’t compete directly with the Raspberry Pi – the Pi is more an educational tool and already has a robust ecosystem – it is a way for DIYers to mess around in x86 architected systems as well as save a bit of cash. The system uses break-out boards called Lures to expand functionality."

That truly is interesting. One use case would be functioning as a router/firewall, and I wonder to what extent the Open Switch folks [arstechnica.com] will support this level of hardware. I have no real background in that area, but it seems to me it would not be too much extra effort to add support for this level. Then the/. folks could replace their Open/DD-WRTs & Tomatos, while adding neat features like IDS.

What with the Anonymous/NSA nonsense and all, I'd prefer more frequent updates than the DD-WRTs & Tomatos pr

There are plenty of other single or dual processor boards that will run Linux or Android, that are out already. Some are considerably cheaper. Unless the 64-bit Intel architecture is spectacularly more efficient than the A10, A13 and A20s we have access to already it's difficult to see what this board has that the Cubies and Olimex's don't already provide.

As it turns out, Intel's latest Atom offering is quite efficient and powerful. So it's not a bad deal if you've got something specific in mind. For example the cubietruck board, another $100 almost, only has a dual core A7 (I've no idea where you pulled those a10,13, and 20 numbers from). And Intel's processor here just outclasses that in every way.

It's "expensive" from the standpoint of other miniboard computers like the rasberry-pi, but it appears you're still paying for what you get here, because what yo

The CPU on any of these boards is probably adequate for most tasks. The big difference between Intel and most ARM SoCs for open source development? The GPU drivers. Intel releases documentation and code for their drivers. Most ARM SoC makers release blob drivers that work with a specific windowing system and kernel version. Trying to get X.org running on one that only provides Android drivers, or trying to get any non-Linux OS running on them with acceleration is painful.

The vast bulk of the functionality comes from an Intel processor about whose internals they will tell you approximately NOTHING, let alone let you modify it. Most of the rest comes from other equally closed chips.

How is that open source?

There's basically NO open source hardware out there. And if there were nobody would be in a position to do much with it, because it would take a fab to make any change.

There's basically NO open source hardware out there. And if there were nobody would be in a position to do much with it, because it would take a fab to make any change.

1. There is the good old solder-it-yourself scene, ham radio style, hardware with a hard H.

2. There is a lively FPGA scene, with the complication of mostly closed-source synthesis tools (like compilers). I don't regard this as a huge problem, as long as I can make hardware do what I want. If you're new to the scene, I recommend fpga4fun [fpga4fun.com].

You can implement ARM, MIPS, SPARC, x86 (if you're a masochist) and other architectures on FPGAs. You can modify them to your heart's content and have an absolute guarantee that it isn't backdoored. If you're really paranoid about the underlying FPGA being compromised, you can validate the contents in real time with another manufacturers device.

FPGAs aren't in any sense "open source hardware". Their physical embodiment is opaque and unmodfiable, although you do get at least some vague idea how they're organized. They're just devices that run a rather unusual form of software. That may or may not be a problem, but it's still true.... and if you use them to emulate traditional processors, they will do it slowly and expensively, wasting their very real technical advantages.

Being concerned about back doors isn't the only reason you'd want something

For most of the FPGAs I've used complete documentation for the clbs and different slices is available.In fact if you open up the design tools you can manually place hardware macros which means that you have exact information about the organizaiton of the FPGA.The parts that are hidden are mostly the software tools and bitstream format which they don't like people reverse engineering. But it's certainly possible.

There is also a whole lot of papers, theses and doctorates about dynamically reconfiguring FPGA's, showing that obtaining information about their structure is very possible (the most advanced of this is IMHO, the work of Dirk Koch).

We're just about to open source our MIPS IV implementation (I'll post something to Slashdot when it's done - lots of legal paperwork for creating a community interest company to coordinate it and so on). It's written in Bluespec, which is a high-level HDL and very easy to modify (we've been setting an exercise to replace the branch predictor[1] in it to students for a couple of years now and they're able to in a couple of hours and get the required prediction rates).

MIPS IV is nice, because it's a 64-bit ISA that's over 20 years old (the magic number for patents). FreeBSD 10 runs on it out of the box with the BERI kernel config on the Altera DE4 boards and in simulation and 10.1 should include a kernel config for the NetFPGA 10G board. These boards are pretty expensive, but we have a couple of configurations that will let it run on smaller FPGAs. Removing the FPU makes it a lot smaller and you can also build a microcontroller variant (simple static branch predictor, no MMU) that's even smaller. The simulator is slow, but just about useable (it takes about an hour to boot to single user mode, but it's enough for testing).

It's only in the last couple of years that FPGAs have become interesting for this kind of thing. There are a few high-level HDLs appearing, because hardware is sufficiently complex that the traditional approach of throwing it all away and starting again every CPU revision is increasingly impractical. The devices themselves are now fast enough that they're useable for prototyping and getting a reasonable feel for behaviour. We can get 100-200MHz with 4 cores in a single FPGA with the latest generation - not competitive with an ASIC, but fast enough that you can actually use them. I gave a demo that ended up being more compelling than I expected because I was showing people some things running on the UART console and I'd left the network cable connected so the screen kept being spammed with messages about invalid ssh connection attempts. Nothing I was doing said 'this is a real computer' quite as much as people on the Internet trying to attack it...

I only stopped using a 1200MHz P3 a couple of years ago. It was nice because it was the newest machine I owned that you could get deterministic CPU timing results out of. Building LLVM on it was a pain (over an hour), but 4 of them would be quite reasonable. My NAS / media centre box is currently using an AMD E-350, which is a dual-core 1.6GHz part - I think this would probably be faster. If it has a well-supported GPU and a decent collection of SATA ports, I might be tempted...

Nobody said it was better. It " doesn’t compete directly with the Raspberry Pi – the Pi is more an educational tool and already has a robust ecosystem – it is a way for DIYers to mess around in x86 architected systems as well as save a bit of cash".
Pi = 700 MHz ARM
Minnowboard = 1.9 GHz x86-64
It's a really small x86 system for someone who needs a really small x86-64 system

I will be following this with great interest. The closest device that compete with this, I think, is the ARM-based cubieboard/cubietruck. I have a cubieboard 2 with Debian for development that runs Apache, MySQL, DNS, DHCP, and a Mumble server from a SATA laptop hardrive - costs about 80 dollars without the hard drive and runs on 5V. For the Linux enthusiast, this class of device is about as good as it gets.

The Intel Galileo board has 8 GPIO pins, but these are not nearly as useful as on an Arduino or Raspberry Pi because they are actually multiplexed through I2C [intel.com] rather than connected directly to the processor, and thus are much slower to read or toggle than on other project boards. Is the same true of the MinnowBoard Max, or does it have real GPIO? This might not matter if you're going to use it as a router or NAS, but for embedded projects it can make a big difference.

The $50 BeagleBone Black has many of these features and more GPIO, but lacks RAM and has only one CPU. The ODROID series can be specced with multiple ARM cores. This "Minnow" seems like the next step up, for users who really need SATA, lots of RAM and multiple x86 cores. There's probably a big enough niche for portable/cheaper PC-based hardware for this to find traction, but for anything that doesn't need x86 or huge RAM there are cheaper options. I just hope the supply issues with the BeagleBone Black get

I got one from Adafruit - they run out all the time but seem to get new stock frequently. I've basically given up on Element14 though - I ordered from them in November. First the ETA kept slipping back, now they don't even show an ETA. It's a sorry state of affairs when Adafruit can ship one to me in Australia, from New York, about ten times faster than the local supplier (and still counting!)