ASUS Chromebook C201

This is a chromebook, using the Rockchip RK3288 SoC. It uses an ARM CPU, and has free EC firmware (unlike some other laptops). More RK3288-based laptops will be added to libreboot at a later date.

Paul Kocialkowski, a Replicant developer, ported this laptop to libreboot. Thank you, Paul!

NOTE: This board is unsupported in libreboot 20150518. To use it in libreboot, for now, you must build for it from source using the libreboot git repository. Note that we recommend building for it from an x86 host, until libreboot's build system is modified accordingly.

More info will be added later, including build/installation instructions. The board is supported in libreboot, however, and has been confirmed to work.

Flashing instructions can be found at ../install/index.html#flashrom

Back to previous index.

Flash chip write protection: the screw

It's next to the flash chip. Unscrew it, and the flash chip is read-write. Screw it back in, and the flash chip is read-only. It's called the screw.

The screw is accessible by removing other screws and gently prying off the upper shell, where the flash chip and the screw are then directly accessible. User flashing from software is possible, without having to externally re-flash, but the flash chip is SPI (SOIC-8 form factor) so you can also externally re-flash if you want to. In practise, you only need to externally re-flash if you brick the laptop; read ../install/bbb_setup.html for an example of how to set up an SPI programmer.

Write protection is useful, because it prevents the firmware from being re-flashed by any malicious software that might become executed on your GNU/Linux system, as root. In other words, it can prevent a firmware-level evil maid attack. It's possible to write protect on all current libreboot systems, but chromebooks make it easy. The screw is such a stupidly simple idea, which all laptop designs should implement.

Google is bad. We do not endorse them.

It's merely a coincidence that libreboot can support this hardware, with some issues (see sections below). While Google does hire a lot of coreboot developers, it's not the case that these laptops can be used in freedom (libreboot) because Google cares about user freedom. It's just a lucky coincidence. Nothing more.

Chromebooks are designed (from the factory) to actually coax the user into using proprietary web services (SaaSS) that invade the user's privacy (ChromeOS is literally just the Google Chrome browser when you boot up, itself proprietary and comes with proprietary add-ons like flash. It's only intended for SaaSS, not actual, real computing). Google is even a member of the PRISM program, as outlined by Edward Snowden. See notes about ChromeOS below. The libreboot project recommends that the user replace the default ChromeOS with a distribution that can be used in freedom, without invading the user's privacy.

We also use a similar argument for the MacBook and the ThinkPads that are supported in libreboot. Those laptops are supported, in spite of Apple and Lenovo, companies which are actually hostile to the free software movement.

Back to top of page.

Replace ChromeOS immediately!

This laptop comes preinstalled (from the factory) with Google ChromeOS. This is a GNU/Linux distribution, but it's not general purpose and it comes with proprietary software. It's designed for SaaSS. Libreboot recommends that all users of this laptop replace it with another distribution.

No FSF-endorsed distros available

The FSF has a list of distributions that are 100% free software. None of these are confirmed to work on ARM chromebooks yet. Parabola looks hopeful: https://www.parabola.nu/news/parabola-supports-armv7/

The libreboot project would like to see all FSF-endorsed distro projects port to these laptops. This includes Trisquel, GuixSD and others. And ProteanOS. Maybe even LibreCMC. The more the merrier. We need them, badly.

What can be done meanwhile?

There are some other distributions, which are not freedom-friendly (institutionally speaking), but can be used as such with some tweaking.

There isn't much choice, but we can recommend these distributions for the time being:

Debian GNU/Linux

The FSF briefly details the problems with Debian: https://www.gnu.org/distros/common-distros.html#Debian

You can actually run Debian without any proprietary software. The default installation comes without any proprietary software, and although the project does have proprietary software, its only in a separate repository which isn't enabled by default. The Debian project has a strict policy of keeping proprietary software out of the main repository, and moving it to a separate repository; this repository is called non-free, with supplementary packages that require it in contrib, also not enabled by default. If you install Debian and replace the kernel with linux-libre, you can be reasonably certain not to install any proprietary software. However, make sure to exercise caution, since this isn't endorsed at all, and mistakes can happen.

Note that this does not mean Debian is ok! Far from it! Institutionally, Debian is not ideal because it distributes proprietary software, even if it's optional and not included by default. At the same time, they also do amazing work on things like reproducible builds (recent example), and it's the underpin design upon which both Trisquel is ultimately based. Debian does a lot of good work, so it's a shame that they have this silly issue, even after several years.

The libreboot project calls on Debian, to outsource the hosting and documentation for non-free and contrib to a separate, third party project (like what Fedora does, as described below).

There are linux-libre builds available for Debian, but only on x86 thus far. See: https://jxself.org/linux-libre/

Fedora GNU/Linux

The FSF briefly details the problems with Fedora: https://www.gnu.org/distros/common-distros.html#Fedora

Unlike Debian, Fedora (to the best of our knowledge) only distributes proprietary software in the form of firmware blobs for the Linux kernel. There are repositories for Fedora that contain proprietary software, but none of those are official and have to be added. So just don't add them. Then, delete linux and replace it with linux-libre.

Note that this does not mean Fedora is ok! Far from it! Institutionally, Fedora is not ideal because it distributes proprietary software, even if it's easy to remove.

There are linux-libre builds available for Fedora, but only on x86 thus far. See: http://www.fsfla.org/ikiwiki/selibre/linux-libre/freed-ora.en.html

We need libre distributions to be ported.

As soon as possible, the libreboot project would like to remove mention of Fedora and Debian. We find such distributions ethically repugnant.

In both Debian and Fedora, the browsers available do not try to steer the user away from proprietary browser plugins/add-ons. For instance, they both use upstream FireFox (Debian merely removes the Mozilla branding and renames it to IceWeasel). Make sure to check the license of any browser plugins that you install, to ensure that the plugin is free software.

There may also be other edge cases like this, so do beware when using those distributions.

Back to top of page.

Caution: Video acceleration requires a blob. Do not install it. Use software rendering.

The lima driver source code for the onboard Mali GPU is not released. The developer withheld it for personal reasons. Until that is released, the only way to use video (in freedom) on this laptop is to not have video acceleration, by making sure not to install the relevant blob. Most tasks can still be performed without video acceleration, without any noticeable performance penalty.

In practise, this means that certain things like games, blender and GNOME shell (or other fancy desktops) won't work well. The libreboot project recommends a lightweight desktop which does not need video acceleration, such as LXDE.

The lima developer wrote this blog post, which sheds light on the story: http://libv.livejournal.com/27461.html

Back to top of page.

Caution: WiFi needs a blob. Do not install it. Use a USB dongle.

These laptops have non-removeable (soldered on) WiFi chips, which require non-free firmware in the Linux kernel in order to work.

The libreboot project recommends that you use an external USB wifi dongle that works with free software. See index.html#recommended_wifi.

There are 2 companies (endorsed by the Free Software Foundation, under their Respects your Freedom guidelines), that sell USB WiFi dongles guaranteed to work with free software (i.e. linux-libre kernel):

These wifi dongles are the Unex DNUA-93F, which uses the AR9271 (atheros) chipset, supported by the free ath9k_htc driver in the Linux kernel. They work in linux-libre too.

Workaround?

It's possible on coreboot systems to disable hardware, by modifying the devicetree accordingly. The devicetree is a part of the coreboot source for any system, that defines which hardware exists in the system. There are usually other ways too.

TODO for the libreboot project: *disable* the onboard wifi chip (hardcoded in coreboot-libre), by patching coreboot-libre to render the built-in WiFi unusable. This will lessen the temptation for users to use it.

EC firmware is free software!

It's free software. Google provides the source. Build scripts will be added later, with EC sources provided in libreboot, and builds of the EC firmware.

This is unlike the other current libreboot laptops (Intel based). In practise, you can (if you do without the video/wifi blobs, and replace ChromeOS with a distribution that respects your freedom) be more free when using one of these laptops.

The libreboot FAQ briefly describes what an EC is: http://libreboot.org/faq/#firmware-ec

No microcode!

Unlike x86 (e.g. Intel/AMD) CPUs, ARM CPUs do not use microcode, not even built in. On the Intel/AMD based libreboot systems, there is still microcode in the CPU (not considered problematic by the FSF, provided that it is reasonably trusted to not be malicious, since it's part of the hardware and read-only), but we exclude microcode updates (volatile updates which are uploaded at boot time by the boot firmware, if present), which are proprietary software.

On ARM CPUs, the instruction set is implemented in circuitry, without microcode.

Back to top of page.

Depthcharge payload

These systems do not use the GRUB payload. Instead, they use a payload called depthcharge, which is common on Chromebooks. This is free software, maintained by Google.

Copyright © 2015 Francis Rowe <info@gluglug.org.uk>
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license can be found at ../gfdl-1.3.txt

Updated versions of the license (when available) can be found at https://www.gnu.org/licenses/licenses.html

UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS, IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU.

TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION, NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT, INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES, COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR IN PART, THIS LIMITATION MAY NOT APPLY TO YOU.

The disclaimer of warranties and limitation of liability provided above shall be interpreted in a manner that, to the extent possible, most closely approximates an absolute disclaimer and waiver of all liability.