Andrew “bunnie†Huang & Sean Cross tell, in great detail, how they created the Novena laptop, using solely open source software and hardware. For anyone familiar with or even interested in how computers really work, it’s quite a gripping tale. I believe their work could have lasting beneficial effects on the hobbyist computing and open source communities. Even though it’s published in a trade journal for professional electrical engineers, the article is accessible, even rudimentary at times. They faced some considerable obstacles, such as a lack of driver support for their GPU. Fortunately, “the user community behind Novena is trying to create, through reverse engineering, open-source drivers that would allow the built-in GPU on the i.MX6 chip to render graphics directly.” Most interesting feature: “a field-programmable gate array (FPGA), a type of processor chip that can be reconfigured by its user to change the chip’s specs and capabilities. Basically, this reconfigurability allows the chip to do things in hardware that would otherwise have to be done in software.” Also, two ethernet ports.
I’m not sure why they went with the Freescale ARM over an Intel chip – yeah, Intel chips have updatable microcode, but it isn’t something that persists across boots – it gets re-loaded every time you boot the computer. You don’t have to use them, either.
This would also give you a GPU with an open source driver.
Intel is just not a CPU which gives you freedom anymore:
http://libreboot.org/faq/#intelme
https://en.wikipedia.org/wiki/Intel_Active_Management_Technology#Kno…
Right. I’d forgotten about that.
Are AMD platforms equipped with anything similar?
Not that I know off, otherwise I think we wouldn’t see things like this:
http://www.phoronix.com/scan.php?page=news_item&px=Libreboot-ASUS-K…
You know, Intel is a great company they make good products and they do a lot of good open source work.
But open source isn’t the same as free software (freedom for users).
Edited 2015-10-29 18:09 UTC
The closest thing is probably that AMD is in the process of phasing in ARM TrustZone cores on their x86 dies to meet the demands of DRM-using parties (starting with APUs for tablets and the like) who currently rely on the Intel Management Engine to implement trusted decode path.
http://www.alexrad.me/discourse/why-rosyna-cant-take-a-movie-screen…
By the very nature of TrustZone, that’d at least match the Intel management engine’s “higher privilege level than the OS” characteristic.
I don’t remember the URL for the press release I read, but here’s their feature page for it:
http://www.amd.com/en-us/innovations/software-technologies/security
Edited 2015-10-29 22:25 UTC
There were other issues that influenced going to FreeScale.
Like nearly every other GPU driver, recent Intel drivers require hardware descriptions in a data structure that isn’t easily reimplemented.
I have one and even now the GPU drivers are flaky as hell. I keep it on a shelf for headless stuff until etnaviv gets more mature.
The Exploration and Exploitation of an SD Memory Card [30c3]
https://www.youtube.com/watch?v=CPEzLNh5YIo
This explains everything about the Flash-based storage technology and market.
The guy really is a national treasure, isn’t he?
More like an international treasure 😉
I couldn’t tell by the article, but I’d be really curious to know which kind of default software setup they went for… The desktop environment, in particular. 😉
The article mentions:
Debian and Xfce4
There was no graphics acceleration, the community has developed a 2D driver for the GPU as I understand it from the article.
Thanks for pointing that out, I totally overlooked that part of the article. Also, I like their choice – seems quite safe / stable to me.
What I find a bit strange is that “The user community behind Novena is trying to create, through reverse engineering, open-source drivers”, even though this is supposed to be “A Laptop With No Secrets”.
****
After reading the relevant part of the article, it is very sad that apparently they couldn’t create a laptop with fully open source HW. I am wondering if it is possible at all.
KDE had a similar project for a their own tablet and were having issues with getting fully open source hardware too, namely because a lot of vendors have their own little firmwares that they don’t want to release the code to. (https://lwn.net/Articles/606100/)
Looks like they opted for a Xilinx Spartan-6 for the FPGA. Which requires closed-source tools to generate the bitstreams…
I would have expected them to go for Lattice iCE40.
sun have put some cpu in GPL.
Why not using them?
Because it’s similar to trying to build your own space ship if there is reference design available. To get such CPU even fit into FPGA’s resources and running, you need beefy and expensive FPGA, and still you will not get clock speeds comparable to ASIC. You will also need other parts like DDR controller,serial ports, GPIO, DMA, GPU, etc., so SoC itself would be a big project on its own.
I realise they only wrote the basics in this article, but they had to make some tough decisions that pushed them into very specific directions. They went with a 32 bit CPU and thus 4 GB maximum memory and a GPU that has no hardware acceleration support (as of yet)…but they mention not choosing Android because it is touchscreen focussed and thus wouldn’t fit CAD-purposes.
I was also shocked to find out that this machine costs 2000 dollars, selling 500 of them and purchasing machinery for 50.000 dollars. This is not a hobbyists for fun project, this is a serious business.
And although the focus of this article is “open, open, open”, I actually am most impressed by their hardware approach. A “one-click opens the hood” and “insert your own specialized hardware in one of these many places” design that really wows me
Ultimately, it’s clear that this project serves two purposes: 1) an ideological one, with a bit of a cautionary tale about the danger of ceding control of personal computing to untrustworthy unaccountable hardware and software vendors and 2) the possibility of creating a uniquely useful device; not particularly useful as a general purpose laptop, but potentially extremely useful as a customizable and flexible tool for all kinds of niche and research purposes.
Their margins are likely lower than you think. It’s basically a two person operation, so time is a huge factor. I would put the raw cost of parts at around $800 to $1000, not counting the time it takes to mill out the case parts, put it all together, test each unit before shipping, and so on. Time was also sunk into sourcing all the parts and finding vendors willing to work in such low volumes. Bunnie’s blog goes into great detail about the entire process:
http://www.bunniestudios.com/blog/?cat=28
4GB is address space limit. Unless you use some ancient ARM cores, you get LPAE
The industry is so easily gripped. As for those FPGAs, just check the state of WHO remains in the industry, and more importantly, WHO of those has been with WHO.
Understanding the uneasiness of Us public. And our wanders looking for ‘hardware’ answers.
States has always had a grip on communications.
It is the wildness of the approach what is causing most of the problems.
As is, everybody can and is in [surveillance business], causing severe damage.
Another problem is that never before that big stake of how We think an feel had been so publicly exposed. An that is OUR problem, not even relevant to the Industry, less to the States.
States could approach and gently ask for it. The easy way, come on. They have the stamina. On asking for a pair of keys, they are also asking for a door. Problem is: A door is a door. And lots of key masters out there.
Decades after, Public acknowledged damages have proven to be orders of magnitude greater than benefits. Not accounting for those surely still under the carpet.
On the benefit of Industry itself to survive, States have to side with the Public, and forbid dangerous hardware and software on the wild. As is siding with the Public on Health Issues. Simply because Public is the ultimate reason of being of States, and Industries.