[Dev] Misleading information in EOMA68 news

Christopher Waid chris at thinkpenguin.com
Thu Aug 25 18:24:27 GMT 2016


On 2016-08-25 05:01 AM, Paul Kocialkowski wrote:
> Hi,
> 
> Le jeudi 25 août 2016 à 04:42 -0400, Christopher Waid a écrit :
>> The laptops we sell currently @ ThinkPenguin are not RYF'd and 
>> shouldn't
>> be RYF'd, but we are working on something better than LibreBoot in 
>> that
>> it solves the free software problems in a more permanent long term 
>> way:
>> EOMA68. X86 is dead and we do not need LibreBoot for non-X86 systems.
> 
> I'm very surprised to read this. How do we not need Libreboot in 
> general?
> 
> Having a fully free bootup software distribution is IMO crucial to pave 
> the road
> for free software support. Note that U-Boot includes proprietary 
> software and
> should not be included as-is in or recommended by any FSDG-compliant 
> dsitros.
> 
> Also, Libreboot is currently based on Coreboot (which, by the way, 
> supports an
> increasing number of ARM devices, with Chromebooks) but there's not 
> reason it
> can't handle U-Boot in the future too, or whatever other free bootup 
> software.
> 
> So with upcoming ARM Chromebooks, the very large number of ARM devices 
> that can
> boot up with free software and other interesting platforms such as 
> POWER8 and
> POWER9, Libreboot still has a bright future ahead.

We already have completely free versions of Uboot for various ARM and 
MIPS devices. All of our routers have shipped with the complete set of 
source code for the OS and bootloader. The devices are RYF certified and 
do not contain any proprietary bits in the version of Uboot run on our 
routers.

https://www.thinkpenguin.com/gnu-linux/free-software-wireless-n-mini-vpn-router-tpe-r1100

I want to make it clear that I don't dislike LibreBoot and I'm not 
saying it has no value. It's value right now to me is clear. It's 100% 
free software for what is otherwise proprietary. I value that. As we 
move away from X86 the value in it from a freedom-perspective will 
diminish as alternatives exist. In that position I would begin to think 
about alternative projects to work on if my primary focus was advancing 
software freedom.

What I believe will make it valuable to people down the line will be 
functionality (within the free software community and maybe even 
beyond). I don't know what this functionality is right now and I simply 
know that it's got value to some use case still. If I had to take an 
educated guess I'd probably say it has functionality which is useful to 
system administrators in server environments. From what I understand of 
CoreBoot from which LibreBoot is derived that functionality was what has 
in the past spurred CoreBoot's adoption by those outside the free 
software world.

If servers were a high priority for us (they aren't) I'd probably be 
pushing/sponsoring LibreBoot. I was the first person to suggest 
LibreBoot add a donation option. Right now our focus is on laptops, 
desktops, and typical end-user hardware. I want to see GNU/Linux and 
free software adopted by the masses. It's largely won in the server 
arena and there is a huge market opportunity here for free software 
servers to anyone who wished to pursue it.

> 
>> The reason this issue hasn't been solved by us is because it's simply
>> not possible given Intel's hostility and refusal to cooperate. Reverse
>> engineering is a non-trivial task and the resulting code would not run
>> on modern Intel systems due to digital signatures.
> 
> Of course, we all agree that x86 is a dead-end, at least in the long 
> run. There
> are still possibilities with somewhat old Intel and AMD hardware, but 
> these will
> be outdated eventually. Also, note that most of these old x86 platforms 
> are
> much, much faster than the A20.

Of course. The solution isn't intended to outperform. It's intended to 
solve a problem. That problem is X86 doesn't work for us and it's too 
costly to have to design and manufacture our own non-x86 hardware (which 
is critical given all newer non-X86 hardware is dependent on other 
proprietary components such as 802.11ac wifi chips). The solution to 
that is modularization. This has a side benefit of making it easy and 
cheap (relatively speaking, and therefore feasible) to manufacture new 
'models' in addition to giving us inroads to obtain source code for 
higher end CPUs [moving forward]. Even ones that aren't yet on the 
market! That's a huge change to the two steps forward one step back we 
were doing before. Right now we are several years behind because of our 
dependence on X86 and companies who won't cooperate. By moving away and 
modularizing we can let companies designing CPUs cater to our demands. 
This is what you get from competition.

> 
>> We can do a lot more  than what is feasible with LibreBoot, but it has 
>> taken
>> years. Now that EOMA68 crowd funding campaign has succeeded though or 
>> is about
>> to succeed we can do a 100% free software system
> 
> Note that the level of free software support brought by the EOMA68 is 
> not really
> something new.

This is incorrect or a misunderstanding of the value here. Its taken 
years and a lot of reverse engineering to get the Allwinner A20 
supported. While the first computer card is in part built off the work 
of others at a component level it's not the value for which I'm 
referring that EOMA68 adds in relation to free software. The value is in 
the modular standard and what it is enabling us to do in the free 
software world. To look at the CPU and components individually is to 
misunderstand the value in this project. It was not essential that we 
utilize the Allwinner A20. It just made a lot of sense given the work 
others have already done including the work of Luke (for which we 
sponsored). The value is we get to pick and choose each part that goes 
into a system and when one company upstream doesn't cooperate we can 
look elsewhere. We don't have to spend years reverse engineering parts 
thereof when we can work in collaboration with the companies upstream 
doing the design of these CPUs/SOCs. To achieve that we need control 
over the design and manufacturing process. This is not something we had 
before. This is not something most companies have. Most companies build 
off of reference designs and the product designs are little different 
than the reference designs in many if not most cases. A tweak or two at 
best.

> There have been dozens of computers, some of which come with a
> free board design, using platforms that are as good for freedom, 
> especially with
> Allwinner (but there are lots of others). The linux-sunxi community has 
> been
> working hard on those for years and years, so this is nothing new or 
> specific to
> the EOMA68.
> 
> Many ARM Chromebooks even go a step further, with a free software 
> embedded
> controller firmware.

I'm in many cases referring to laptop designs. This isn't totally 
correct though particularly as it relates to laptops. All of the ARM 
Chromebooks have fundamental problems in one way or the other. There are 
no free software friendly 802.11ac wifi chips and these wifi chips are 
integrated on every single modern Chromebook that is readily available 
[last I checked]. You can't easily replace these chips like you can with 
X86. To solve this problem and many others in the process is to gain 
control over the overall design and what you can utilize as your 
building blocks. With the laptop housing that is part of this crowd 
funding campaign you'll be able to get an Allwinner dual-core A20 on the 
Libre Tea Computer Card today and upgrade to a quad-core CPU tomorrow. 
It won't cost $500 either. It'll be under $100.

> 
>> (that is LibreBoot doesn't magically make a computer 100% free, there 
>> are
>> other problematic components).
> 
> Of course, but nobody claimed that it does. It is only a very 
> significant piece
> in the software freedom puzzle.

It's one of many pieces. It's not quite as significant as people think. 
If it were gone it wouldn't really make any difference.

There are many components for which we are dependent and there are no 
alternative options. Wifi firmwares are a great example. We have only 
one driver and chip for modern 802.11n that we can utilize (AR9271) and 
nothing for 802.11ac (in any format, PCIE/M.2/USB). It won't be the case 
that we can get AR9271 adapters manufactured forever and at some point 
it will become critical that we work on obtaining sources [another 
project we're working on].

Wifi cards are fundamental to modern computers. You can still get away 
without 3D acceleration, but good luck with a system that doesn't have 
internet connectivity.

There are zero good options for graphics right now too. Graphics are not 
quite critical because we can ship without it for the moment and the 
user experience is still "good enough", but it is certainly more 
important than LibreBoot.

LibreBoot is a duplication of effort as far as critical components are 
concerned and we should try to avoid duplication of efforts given the 
limited resources available.

> 
>> We've got the source code for LCD/Keyboard controller firmware,
> 
> Regarding LCD: are you talking about a MIPI interface done in software 
> with a
> MCU? Please feel free to share details about this LCD controller 
> firmware, I'd
> be very interested to learn more about it, it sounds unusual!

I know a little bit about it, but not enough to give you details. The 
details are readily available though.

Unlike many 'free' projects everything has been and is being documented. 
There is one piece that hasn't been published yet (schematics, but this 
isn't a libre issue, you can have a libre system and a non-libre design, 
however full schematics will be released shortly, there is almost no 
libre-designs that are actually libre because most are dependent on 
non-free components like wifi chips that depend on proprietary 
drivers/firmware), but its coming. Luke was a bit concerned of attacks 
on our efforts before the campaign was finished. With good reason. There 
was already one effort to undercut the project that failed. Someone Luke 
had talked to began a crowd funding campaign to raise funds for a 
modular computer. They did not care about freedom nor did they have an 
actual prototype. If it wasn't a fraud they would have had to have 
designed it after the fact. They created fake drawings/mock ups and 
similar. Unlike the many crowd funding efforts out there we actually 
have working prototypes because we funded his work.

This said contact lkcl at lkcl.net and he can get you hacking on it if 
you want to help out. This is a community endeavor and there are other 
people working on adding support for different language keyboards and 
similar (a French layout).

> 
>> bootloaders, CPU micro code
> 
> Huh? Again, please share details about the CPU microcodes. I am not 
> aware of any
> ARMv7 implementation using a microcode at all, nor of any that was 
> liberated.

Overgeneralized. As far as the A20 goes you are correct. I can confirm 
that there is no micro code in this particular CPU.

I'll throw out some other words that may make more sense here:

SPL uboot in mainline 2015-10- ddr3 timeings initialization and pll 
clocks.

>> and similar for the EOMA68 laptop housing and Libre Tea Computer Card. 
>> That's
>> huge. And there are more significant developments coming including the 
>> release
>> of schematics and higher end CPUs.
> 
> I fully agree that this is great and I support your project. However, 
> keep in
> mind that this is nothing new or groundbreaking (not to undermine the 
> project
> and the efforts associated with it).

I disagree. There is simply nothing you can compare this project to. We 
are achieving results that can't be demonstrated via any other means. If 
we could get here some other way at a lower cost with the same long term 
impact I would have gone that route.

The issue is your looking at one thing. A few specs. It's not the specs 
that matter. It's the standard, it's the modularization, it's the 
response and cooperation we are getting already as a result of our 
actions here, etc. Intel and AMD are not going to cooperate and building 
off of other companies products (higher up the chain) is not a reliable 
long term solution.





More information about the Dev mailing list