Zerocat Chipflasher  v0.4.2 (board-edition-1)
Flash free firmware to BIOS chips, kick the Manageability Engine.
README

About

When it comes to flash a coreboot or libreboot machine, the Zerocat Chipflasher is a very special tool:

...and you can solder your own device, it is a do-it-yourself project!

The projects mentioned above provide free firmware replacements, which usually require to externally flash onboard SPI flash chips of selected targets. Machines like the Lenovo ThinkPad X200 or X220 Notebook are high quality products which are well supported.

These projects aim to support user freedom, but often suffer to be dependent on external flashers which are not compatible in that point. The Zerocat Chipflasher is meant to fill that gap.

Project’s Naming Convention

The project’s internal name simply is chipflasher, the firmware is called kick and the host software — located under the host/ folder — is called connect. The entire project is hosted under the umbrella of the Zerocat Label, thus referencing to this project in public should be done by using the name Zerocat Chipflasher.

Internet Resources

Websites

The website of the Zerocat Chipflasher is a subpage of the Zerocat Label.

Shop

We offer products and services in Berlin (Germany), as like:

Please check our current portfolio and prices at the Zerocat Shop.

Email

Please send your questions, feedback, bug reports or product requests to zerocat@posteo.de. A public OpenPGP key is available upon request.

Mailing List

The Zerocat Label is using encrypted email for its mailing list; currently, we don’t have a general address for it. If you want to contact the ML, please write an email to zerocat@posteo.de and your mail will be forwarded.

Git Repository

Prerequisites

Recommended Hardware

There should be an RS232 port available on your machine, if you want to operate the chipflasher. We recommend to use a ZC-X60 Laptop with docking station, which should be availbale from the Zerocat Shop.

GNU/Linux OS

We assume that you are running a GNU/Linux-libre Operating System like Trisquel, for example.

Very essential tools that allow building the documentation should be installed first, as like...

Clone Repository

As a next step, please open a terminal, create a zerocat project folder and clone the public git repository onto your harddrive:

$ mkdir -p ~/zerocat/projects/
$ cd ~/zerocat/projects/
$ git clone git://zerocat.org/zerocat/projects/chipflasher

Now you should have a folder ~/zerocat/projects/ with subfolder chipflasher/.

Version Checkout

Instead of using the default tip of branch master which could leave you with inconsistent sources, you should find the most recent version tag and perform a git checkout:

$ cd ~/zerocat/projects/chipflasher/
$ git describe --abbrev=0

This will give you the most recent version tag <chipflasher-version-tag>.

$ git checkout <chipflasher-version-tag>
Note
If you want to match the version of your specific physical device, lookup the version tag on its front-panel sticker. You may use $ git tag to get an overview of available tags.
Please note that the tag 'board-edition-1' has not been placed yet. Checkout the tip of branch 'go-for-board-edition-1' instead: $ git checkout go-for-board-edition-1
If you want to try a different version tag with your specific device, note that it is up to you to verify that your hardware is still compatible with the sources. Version History and Board Version History will hopefully help you to figure that out.

Generate the Chipflasher Documentation

Change into your local zerocat/projects/chipflasher/doc folder and type make:

$ cd ~/zerocat/projects/chipflasher/doc/
$ make

In folder generated-documentation, this will generate three index.html files which are all linked with each other so that you can freely navigate between them using your favorite browser:

Install Software Build Dependencies

Please read Software Tools and install the required programs before you proceed.

Get Started

You should now be ready to proceed with How To Use.

Licenses

The files that ship with the Zerocat Chipflasher fall into five categories:

  1. hardware design sources (files from gEDA-gschem, PCB-Designer, OpenSCAD, LibreCAD, etc.)
  2. code sources (text files with syntax of C, ASM, Makefile, Propeller-Load Configuration, Doxyfile, bash, scheme, etc.)
  3. documentation files (markdown, simple text)
  4. graphics and photos (files made with Scribus, Inkscape, Gimp, etc.)
  5. logo files (files made with Scribus, Inkscape, Gimp, etc.)

In general the following rules apply:

Development

Initially, development has been done by playing around with a ThinkPad X60 motherboard in 2015. Please note that the project itself is developed on a liberated ThinkPad X60 with a preflashed libreboot image on it, thus forming a quite complete free software workbench.

In March 2016, a first bunch of Thinkpad X200 laptops with Macronix and Winbond chips have been flashed successfully. Since then, the chipflasher has been used for more targets, and its adaption of code, board circuits and documentation went straight-forward into the public git repository. Supported Devices gives you a full list of tested targets.

The Team

Kevin Keijser from www.librepractice.org spent a bunch of testboards, is testing the chipflasher, and is liberally sharing his coreboot experience with us.

Your Support

You can help to improve and support the chipflasher in different situations:

Free System Distribution Guidelines (GNU FSDG)

We check the Zerocat Chipflasher distribution according to the GNU FSDG.
If you discover mistakes, please report to zerocat@posteo.de and we will fix them.