libreboot

my branch of libreboot
git clone git://git.hazbo.co.uk/libreboot.git
Log | Files | Refs | README

c201.md (7807B)


      1 ---
      2 title: ASUS Chromebook C201 
      3 x-toc-enable: true
      4 ...
      5 
      6 This is a Chromebook, using the Rockchip RK3288 SoC. It uses an ARM CPU,
      7 and has free EC firmware (unlike some other laptops). More RK3288-based
      8 laptops will be added to libreboot at a later date.
      9 
     10 Flashing instructions can be found at
     11 [../install/\#flashrom](../install/#flashrom)
     12 
     13 Google's intent with CrOS devices
     14 ==================================
     15 
     16 CrOS (Chromium OS/Chrome OS) devices, such as Chromebooks, were not
     17 designed with the intent of bringing more freedom to users. However,
     18 they run with a lot of free software at the boot software and embedded
     19 controller levels, since free software gives Google enough flexibility
     20 to optimize various aspects such as boot time and most importantly, to
     21 implement the CrOS security system, that involves various aspects of the
     22 software. Google does hire a lot of Coreboot developers, who are
     23 generally friendly to the free software movement and try to be good
     24 members of the free software community, by contributing code back.
     25 
     26 CrOS devices are designed (from the factory) to actually coax the user
     27 into using proprietary web services (SaaSS) that invade the user's
     28 privacy (ChromeOS is literally just the Google Chrome browser when you
     29 boot up, itself proprietary and comes with proprietary add-ons like
     30 flash. It's only intended for SaaSS, not actual, real computing).
     31 Google is even a member of the *PRISM* program, as outlined by Edward
     32 Snowden. See notes about ChromeOS below. The libreboot project
     33 recommends that the user replace the default *ChromeOS* with a
     34 distribution that can be used in freedom, without invading the user's
     35 privacy.
     36 
     37 We also use a similar argument for the MacBook and the ThinkPads that
     38 are supported in libreboot. Those laptops are supported, in spite of
     39 Apple and Lenovo, companies which are actually *hostile* to the free
     40 software movement.
     41 
     42 Considerations about ChromeOS and free operating systems
     43 ========================================================
     44 
     45 This laptop comes preinstalled (from the factory) with Google ChromeOS.
     46 This is a GNU+Linux distribution, but it's not general purpose and it
     47 comes with proprietary software. It's designed for SaaSS. Libreboot
     48 recommends that users of this laptop replace it with another
     49 distribution.
     50 
     51 Debian GNU+Linux
     52 ----------------
     53 
     54 <https://wiki.debian.org/InstallingDebianOn/Asus/C201> shows how to
     55 install Debian.
     56 
     57 Devuan GNU+Linux
     58 ----------------
     59 
     60 <https://notabug.org/dimkr/devsus> produces bootable and installable
     61 Devuan images.
     62 
     63 Parabola GNU+Linux
     64 ------------------
     65 
     66 See:
     67 <https://lists.gnu.org/archive/html/libreboot/2015-12/msg00026.html>
     68 
     69 In this discussion thread (on the old GNU Libreboot mailing lists), there are
     70 instructions for installing Parabola on C201 and other rockchip chromebooks
     71 supported by Libreboot.
     72 
     73 Caution: Video acceleration requires a non-free blob, software rendering can be used instead.
     74 =============================================================================================
     75 
     76 The C201 has a Mali T GPU, which requires a non-free blob. A driver,
     77 Tamil, was written, but its source code has not been released. The
     78 developer has so-far [withheld
     79 it](http://libv.livejournal.com/27461.html). Use software rendering to
     80 avoid the blob instead. Most tasks can still be performed without video
     81 acceleration, without any noticeable performance penalty.
     82 
     83 In practise, this means that certain things like games, blender and
     84 GNOME shell (or other fancy desktops) won't work well. The libreboot
     85 project recommends a lightweight desktop which does not need video
     86 acceleration, such as *XFCE* or *LXDE*.
     87 
     88 As it is unlikely that Tamil will be released, the
     89 [chai](https://notabug.org/cafe/chai) project is writing a driver as
     90 well. Ask on IRC if you think you can contribute.
     91 
     92 Caution: WiFi requires a non-free blob, a USB dongle can be used instead.
     93 =========================================================================
     94 
     95 These laptops have non-removeable (soldered on) M.2 Type 1216 card
     96 with WiFi+Bluetooth, which requires non-free firmware to be loaded by
     97 the Linux kernel in order to work.
     98 
     99 The libreboot project recommends using an external USB wifi dongle that
    100 works with free software. See
    101 [\#recommended\_wifi](./#recommended_wifi).
    102 
    103 There are 2 companies (endorsed by Free Software Foundation, under their
    104 *Respects your Freedom* guidelines), that sell USB WiFi dongles
    105 guaranteed to work with free software (i.e. linux-libre kernel):
    106 
    107 -   [ThinkPenguin sells
    108     them](https://www.thinkpenguin.com/gnu-linux/penguin-wireless-n-usb-adapter-gnu-linux-tpe-n150usb)
    109     (company based in USA)
    110 -   [Tehnoetic sells
    111     them](https://tehnoetic.com/tehnoetic-wireless-adapter-gnu-linux-libre-tet-n150)
    112     (company based in Europe)
    113 
    114 These wifi dongles use the AR9271 (atheros) chipset, supported by the
    115 free *ath9k\_htc* driver in the Linux kernel. They work in *linux-libre*
    116 too.
    117 
    118 EC firmware is free software!
    119 =============================
    120 
    121 It's free software. Google provides the source. Build scripts will be
    122 added later, with EC sources provided in libreboot, and builds of the EC
    123 firmware.
    124 
    125 This is unlike the other current libreboot laptops (Intel based). In
    126 practise, you can (if you do without the video/wifi blobs, and replace
    127 ChromeOS with a distribution that respects your freedom) be more free
    128 when using one of these laptops.
    129 
    130 The libreboot FAQ briefly describes what an *EC* is:
    131 [../../faq.md#firmware-ec](../../faq.md#firmware-ec)
    132 
    133 No microcode!
    134 =============
    135 
    136 Unlike x86 (e.g. Intel/AMD) CPUs, ARM CPUs do not use microcode, not
    137 even built in. On the Intel/AMD based libreboot systems, there is still
    138 microcode in the CPU (not considered problematic by the FSF, provided
    139 that it is reasonably trusted to not be malicious, since it's part of
    140 the hardware and read-only), but we exclude microcode updates (volatile
    141 updates which are uploaded at boot time by the boot firmware, if
    142 present), which are proprietary software.
    143 
    144 On ARM CPUs, the instruction set is implemented in circuitry, without
    145 microcode.
    146 
    147 Depthcharge payload
    148 ===================
    149 
    150 These systems do not use the GRUB payload. Instead, they use a payload
    151 called depthcharge, which is common on CrOS devices. This is free
    152 software, maintained by Google.
    153 
    154 Flash chip write protection: the screw
    155 ======================================
    156 
    157 It's next to the flash chip. Unscrew it, and the flash chip is
    158 read-write. Screw it back in, and the flash chip is read-only. It's
    159 called the screw.
    160 
    161 *The screw* is accessible by removing other screws and gently prying off
    162 the upper shell, where the flash chip and the screw are then directly
    163 accessible. User flashing from software is possible, without having to
    164 externally re-flash, but the flash chip is SPI (SOIC-8 form factor) so
    165 you can also externally re-flash if you want to. In practise, you only
    166 need to externally re-flash if you brick the laptop; read
    167 [../install/bbb\_setup.md](../install/bbb_setup.md) for an example
    168 of how to set up an SPI programmer.
    169 
    170 Write protection is useful, because it prevents the firmware from being
    171 re-flashed by any malicious software that might become executed on your
    172 GNU+Linux system, as root. In other words, it can prevent a
    173 firmware-level *evil maid* attack. It's possible to write protect on
    174 all current libreboot systems, but CrOS devices make it easy. The screw
    175 is such a stupidly simple idea, which all designs should implement.
    176 
    177 Copyright © 2015, 2017 Leah Rowe <info@minifree.org>\
    178 
    179 Permission is granted to copy, distribute and/or modify this document
    180 under the terms of the GNU Free Documentation License Version 1.3 or any later
    181 version published by the Free Software Foundation
    182 with no Invariant Sections, no Front Cover Texts, and no Back Cover Texts.
    183 A copy of this license is found in [../fdl-1.3.md](../fdl-1.3.md)