Earth-friendly EOMA68 Computing Devices

← View All Updates

Jul

24

Mainline U-boot and Kernel

The EOMA68-A20 Computer Card has been using the older u-boot and sunxi-3.4 kernels for some time. This update shows a recent mainline u-boot (2016.07) and a sunxi-next near-mainline 4.7.0-rc5 Linux kernel.

One of the primary reasons for using the sunxi-3.4 kernel developed by Allwinner is that, after various people had beaten them about the head with big sticks to obtain GPL-compliant code, it was (and still is) actually the best choice for supporting all of the hardware of the A20 processor. For example, dual simultaneous LCD and HDMI output (whether it be single or dual separate framebuffers) and full support for raw NAND ICs (even if it was quirky) - everything works.

The mainline linux-sunxi kernel team has therefore been working slowly for years to catch up, develop and then submit the various patches, doing a really decent job along the way. They’ve also fixed a number of the quirks. For example, in the USB code that Allwinner developed, somebody noticed by reviewing the Allwinner source that actually it was licensed from Mentor Graphics, the address offsets for data structures were 16-bit, and drivers already exist for musb (with 32-bit data structure alignment), but that Allwinner’s team had not been aware of this, had developed (badly and inefficiently) a re-implementation of musb that did not use DMA.

It turns out however that enough development has taken place so that the critical interfaces for EOMA68 are now fully supported, both in u-boot mainline and Linux kernel mainline. The only gotcha: the way that the framebuffer is set up is extremely odd, and is not suited to how EOMA68 works. The framebuffer is not initialised in the A20 Linux kernel: it’s initialised by u-boot. This makes it difficult if not flat-out impossible to switch between EOMA68 Housings without a full reboot, and it has yet to be investigated whether dual simultaneous LCD and HDMI output is possible.

Other than that small quirk, it is extremely exciting to find that, with very few devicetree modifications and no Linux kernel modifications or u-boot modifications, mainline u-boot and Linux kernel works straight out-of-the-box. This update’s video therefore walks through the boot-up process, using what turns out to be a little-known tool, “fex-boot,” that’s included in the sunxi-tools. Searching on various forums I was amazed to find that there are people still struggling with the proprietary and Windows-only LIVESUIT.EXE to recover their A20 devices! Surely people have known about the fex-boot utility since it was reverse-engineered over three years ago? Apparently not, so this video shows and explains the process.

On compiling u-boot, if SPL is selected in the configuration, a tiny sub-16k program is created (which normally is tacked onto the front of u-boot itself), which purely carries out very low-level initialisation such as setting up the DDR3 RAM, some of the clocks and PLLs, and letting us know what’s going on over one of the UARTs. Following the upload into the first level cache and subsequent execution of this code, more data may be uploaded absolutely anywhere into DDR3 RAM and then executed. We choose in this instance to upload a mainline u-boot binary. Once that is running u-boot can take over, initialise all the rest of the hardware (NAND, MMC, and HDMI in this case) and it all rolls forward from there in a straightforward fashion.

Later, we will do another (shorter) video where u-boot will have been put onto the NAND flash (and will include testing the ThinkPenguin TP150N USB-WIFI 802.11n dongle), but it has been found to be best to use the fex-boot first for this kind of experimentation (to get different versions of u-boot and kernels up and running), as it is very quick: no need to mess about removing SD.MMC cards, no need to worry about breaking the NAND flash with too many overwrites and erases - just load over USB and go. Really useful.

$189,655 raised

of $150,000 goal

Funded! Order Now

Aug 26

funded on

126%

funded

2,513

pledges

Product Choices

$5

Support EOMA68


$15

EOMA68 "R/E-volution of Computing" bumper sticker

Parody the parody with an EOMA68 "R/E-volution" bumper sticker: have fun explaining all the jokes to both friends and strangers alike.


$65

Libre Tea Computer Card

An EOMA68-compatible computer card with an Allwinner A20 dual core processor, 2 GB of RAM, and 8 GB of NAND flash pre-installed with the Parabola GNU/Linux-libre operating system. We expect the Libre Tea Computer Card to receive the Free Software Foundation's Respects Your Freedom (RYF) certification before the first units ship.


$65

Practically Perfect Computer Card

An EOMA68-compatible computer card with an Allwinner A20 dual core processor, 2 GB of RAM, and 8 GB of NAND flash pre-installed with the Debian GNU/Linux operating system.


$65

Numero Uno Computer Card

An EOMA68-compatible computer card with an Allwinner A20 dual core processor, 2 GB of RAM, and 8 GB of NAND flash pre-installed with the Devuan GNU/Linux operating system.


$65

Getting Ahead Computer Card

An EOMA68-compatible computer card with an Allwinner A20 dual core processor, 2 GB of RAM, and 8 GB of NAND flash pre-installed with the Fedora 24 GNU/Linux operating system.


$55

Micro Desktop Housing for Computer Card

This is a Micro Desktop base unit and power supply unit with a beautiful laser-cut stack of 3mm plywood panels that creates an aesthetically attractive tiny base unit for your Computer Cards. Excludes Computer Card, keyboard, mouse and VGA monitor.


$450

PIY Laptop Housing Kit for Computer Card

This Print-It-Yourself (PIY) kit includes all the parts, cabling and boards (main, power, and controller, assembled and tested), and battery, charger, keyboard, LCD, and CTP-LCD for trackpad that are needed to build a complete Libre Laptop once you 3D print the enclosure from the freely available GPLv3+ licensed plans. Excludes Computer Card.


$500

PFY Laptop Housing Kit for Computer Card

This Printed-For-You (PFY) kit has everything needed to create a full EOMA68 Laptop, including a 3D printed set of casework parts, bamboo plywood panels, tested and assembled PCBs, cables, battery, charger, keyboard, LCD, and CTP-LCD for trackpad. Available in a variety of colors and materials. Excludes Computer Card.


$1,200

Completely Assembled Laptop + Computer Card

A meticulously hand-assembled and fully-tested laptop. Includes your choice of EOMA68-A20 Computer Card and 3D-printed casework.


$10,000

On-site Consultation, Presentation, and Workshop + Laptop + Computer Card

For those people who would like the opportunity to meet the designers and have them personally go over the project's development, history, future direction and much more, a week's time can be made available to meet with you personally, to do a hands-on workshop to help you (and any number of additional attendees) through the process of putting together your own fully-functioning laptop and even take you through the process of building and installing the software. Also included will be one Laptop with a Computer Card which will be assembled on-site. You must provide travel, accommodation, tools and a suitable workshop and presentation space. Contact us directly for details.


$20

PCMCIA/EOMA68 Breakout Board

One PCMCIA/EOMA68 Breakout Board with one surface mount PCMCIA header, and tracks to some convenient 2.54-mm-spaced through-holes. Added by popular demand, for access, tinkering, development work, testing, etc.


$35

Pass-through Card

A simple card that takes in HDMI and USB and passes them on. Turns a Laptop Housing into a portable, battery-powered dock for your smartphone, USB-HDMI dongle computer, and tablet, or a second screen, keyboard, and mouse for your existing laptop or desktop PC.


$15

USB + HDMI Cable Set for Standalone Operation

Includes a Micro HDMI Type D cable and 3-way USB-OTG Host-Charger cable tested and known to work with EOMA68 Computer Cards. These are the cables you need to run a Computer Card as a standalone device without the need for a housing. Also useful with the Micro Desktop or Laptop Housing to add a second screen and extra USB port.

Ask a Question

Have a question not answered in the description above or in the Updates?

Ask EOMA68 a Question or Browse the Crowd Supply Knowledge Base

Credits

EOMA68


Luke Kenneth Casson Leighton

Developer

Christopher Waid

Sponsor

Subscribe to the Crowd Supply newsletter, highlighting the latest creators and projects: