Flash your Libre Firmware with a Libre Programmer

Whether or not you personally agree with all the ideals of the Free Software Foundation (FSF), you’ve got to give them credit: they don’t mess around. They started by laying the groundwork for a free and open source operating system, then once that dream was realized, started pushing the idea of replacing proprietary BIOS firmware with an open alternative such as Libreboot. But apparently, even that’s not enough, as there’s still more freedom to be had. We’re playing 4D Libre Chess now, folks.

To flash your libre boot firmware on your libre OS running computer without any proprietary funny business, you’re going to need a libre chip programmer. Luckily, the FSF has just awarded the Zerocat Chipflasher their “Respects Your Freedom” certification, meaning every element of the product is released under a free license for your hacking enjoyment. According to the FSF, this is a major milestone towards their goal of providing users a truly free and open source computer, from the browser all the way down to the BIOS.

Of course, you don’t need to be Richard Stallman to appreciate a fully open chip programmer. With the software, wiring diagrams, and PCB files available on the Chipflasher’s website, the project is an excellent educational reference. Is also means that with a clone the Chipflasher’s Git repository, you’re well on the way to spinning up your own build of the device.

Given the roughly $350 USD price tag on the first generation Zerocat Chipflasher, it seems fairly likely we’ll be seeing some DIY builds of this device before too long. Not that we want to deprive Zerocat commercial success for this very neat piece of gear, but for many it’s a mighty steep price; even if you do get all the Freedoms.

It may use a device of slightly more nebulous morality than the Zerocat Chipflasher, but our own [Bryan Cockfield] documented the saga of getting Libreboot installed on a Thinkpad X200 if you’d like to know more about the high stakes world of BIOS replacement. Whatever it takes to get that Intel Management Engine off your penguin-powered box.

34 thoughts on “Flash your Libre Firmware with a Libre Programmer

  1. Am I missing something here? Do newer mobos need some special magic or something to flash them with new firmware? I’ve dumped and flashed BIOSes on older stuff where it just resided on an SPI-flash and you definitely don’t need $350 hardware to use an SPI-flash.

  2. Why the heck does it cost USD$350 to dump a bin into a SPI flash memory chip?

    There’s no way it should cost that much, even for a retail product with a margin.

    I know it’s not FREEDOM, but you can just use flashrom running on a Raspberry Pi and you’re good to go. A Raspberry Pi isn’t the cheapest, and not FREEDOM, but it’s a quick option and you’ve probably got one right now.

    https://www.flashrom.org/Flashrom

    1. I just tried to write about this myself, but it seems my comment disappeared into a black hole or something (?) I’ve flashed and dumped BIOSes on older hardware and e.g. a ch341a – based device for two bucks on eBay is good enough for that!

      Is there something more needed on modern systems or what am I missing?

    2. Why this vitriol?

      It seems to be a zero series. Without the backing of a rich investor, the price seems realistic.

      And note that this is really open design down to the chip level: the Parallax Propeller’s design is GPL V3+

      1. no, the price is batshit insane, this thing is just USB to SPI converter. Those usually cost $3 free shipping (CH341A), including ZIF socket.
        I suspect they got that funny badge due to using Propeller chip (P8X32A) Parallax open sourced (as in ASIC design). Its deeply religious.

          1. Yes, but … if you’re the kind of person who insists on libre silicon masks for the Propeller here, there’s no reason that you should consider a non-libre superIO or USB-serial converter more acceptable than a non-libre microcontroller.

    3. The point is that if you’re an early adopter, you build this yourself because it’s Libre and you can. That’s the part that is about Freedom.

      Having somebody else buy the parts and solder it up and send it to you isn’t Freedom, it is Commerce. And who needs a pre-built one? Businesses who are committed to Libre toolchains. So the price of the pre-built device has nothing to do with the price of the parts, any more than the price of a car is based on the price of steel. Instead, it is priced to be competitive with extant commercial programmers.

      Also consider, this appears to be only intended for people wanting to flash the chip-still-known-as-BIOS on a PC built from proprietary chips; libre or open designs didn’t even need a special tool, because they weren’t locked down in the first place.

      Take a look at the site; little to no technical information, no discussion even of intended compatibility; lots of discussion about Libre. This isn’t even intended for users, in my estimation. It appears instead to be targeted at companies who want to offer libre motherboards that act as drop-in replacements for existing PC systems.

      1. If a company want to offer motherboards with librebios/corebios installed, they do not need this costly gadget. They can order the chips from their supplier already pre-burned. Heck, we can get this even with microchip pics.

  3. At work we have a laptop with a looked bios. It’s a very good one but has had vitalisation turned off and the secure boot thingy that modern OS’s need has also turned off. No one can remember the password. It’s useless as we can’t install anything properly. I wonder if flashing the bios with LibreBoot is an option? Got nothing to loose. :)

      1. Doesn’t work on newer corporate laptops, the security bits are stored in the non-volatile part of the BIOS chip.
        You’d need a BIOS dump from a similar model without the low level lock down initiated.

    1. Try doing stick welding near that laptop with a current of about 150-200 amps. Arc EMI should reset security settings in less than a minute. Just make sure you don’t damage the thing with spatter from the welding process.

    2. I actually have a Thinkpad in exactly the same state. I’ve been told flashing Libreboot will get the machine back into a usable state, just haven’t had a chance to get a programmer hooked up to it yet.

  4. Is the Propeller chip still being produced ?
    That thing could also be done with a RISC-V chip , but if it is meant to be useful, not just a money grab, it should implement communication through USB. Or people will need at least a non-open rs232-to-usb converter.

    Also, on the technical aspect, many chips are using lower voltages (2.5V, 1.8V ) and could be damaged by the 3.3V this puts out. Some kind of programmable power supply output ( I think the bus pirate uses one, and that old-parallel-port-programmer-that-I-forgot-the-name uses one also )

      1. As an alternative, simply buy two different commercial programmers if you are afraid of backdoors. Flash with one, verify with the other. Using another PC for verification if you want to be extra sure.

    1. Maybe it would overcomplicate the code, or as it was used in other circuit from where they got the inspiration, they just went with it, same as the trimpot.

      But an useful thing would be to create a software for tlashing, that wouldn´t need people to dismantle the notebook. Of course, directly rewriting the chip is easier even if a more “barbaraian” approach, but doing from sofware ( boot to msdos, run flash, done ) would be a lot easier to common people. Then those $350 could be spent in upgrades to the computer ( RAM, SSD, etc )

    2. The 74×32 is only there to stop you from resetting the Propeller when it’s in the middle of something that shouldn’t be aborted, if I read the schematic correctly. It’s probably possible to implement the same functionality with a single transistor (collector to !reset, emitter to ground, two 4k7 or so resistors to reset button and output pin; the reset button should then be connected to vdd, not ground).

      The max3232 is also superfluous; if you’re going to use USB for power and it has to be connected to a computer anyway, why not just use a USB to serial converter. Could be an FTDI chip but it should also work with a PIC (though for downloading the firmware to the Propeller you’ll need something other than three original Propeller tool of you don’t use FTDI). Any chip you can use for USB to serial is going to be closed source but so is the max3232.

  5. Honestly, I have no problem just using my beaglebone black or rpi zero (with bluetooth serial to my laptop) + flashrom + pomona SOIC clip to flash suitable hardware.

    I appreciate the fully open approach, but $15-45 vs $350? It’s a no-brainer, especially considering that most of the stuff is relegated to antiquated hardware anyway.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.