Libre Devuan for the Asus C201

Dima Krasner 148df07688 Changed the NTP servers to the global ones %!s(int64=6) %!d(string=hai) anos
devsus 148df07688 Changed the NTP servers to the global ones %!s(int64=6) %!d(string=hai) anos
dl c46537ea5d Added an empty dl directory %!s(int64=6) %!d(string=hai) anos
.gitignore a910b2cdd7 Added caching for kernel sources %!s(int64=6) %!d(string=hai) anos
.travis.yml 232b8bc3ee Moved image generation to CI %!s(int64=6) %!d(string=hai) anos
AUTHORS aa56d78504 Credited creoflux %!s(int64=7) %!d(string=hai) anos
COPYING c9995d28ed Initial commit %!s(int64=7) %!d(string=hai) anos
Dockerfile 232b8bc3ee Moved image generation to CI %!s(int64=6) %!d(string=hai) anos
README.md 232b8bc3ee Moved image generation to CI %!s(int64=6) %!d(string=hai) anos
cmdline f5cfdcf93d Moved the second stage of debootstrap to boot time %!s(int64=6) %!d(string=hai) anos
config 0e31c14212 Added btusb and btintel, for CSR8150 dongle support %!s(int64=6) %!d(string=hai) anos
devsus.sh 232b8bc3ee Moved image generation to CI %!s(int64=6) %!d(string=hai) anos
kernel.its a4dd8b59e5 Switched from the Chrome OS 3.14 branch to Linux-libre 4.9 %!s(int64=7) %!d(string=hai) anos

README.md

     _
  __| | _____   _____ _   _ ___
 / _` |/ _ \ \ / / __| | | / __|
| (_| |  __/\ V /\__ \ |_| \__ \
 \__,_|\___| \_/ |___/\__,_|___/

Build Status

Overview

Devsus is a script that builds bootable, libre Devuan images for the Asus C201 Chromebook, one of the few laptops able to boot and run without any non-free software, all the way down to the firmware level. The C201 is supported by Libreboot.

The images produced by Devsus contain the latest Linux-libre 4.9.x kernel, tuned for small size, good performance and short boot times. This kernel branch has been chosen for its longterm status, which means that freedom-respecting C201 laptops are usable at least until this kernel branch is phased out.

Some features of the Rockchip RK3288 SoC, including built-in WiFi support, require use of non-free software. Therefore, they are unsupported by Devsus. To compensate for that, the Devsus kernel includes support for freedom-friendly devices:

  • Firmware for Atheros AR9271 based WiFi dongles
  • Drivers for Qualcomm CSR8510 based Bluetooth dongles

Also, the images contain:

  • Crucial command-line tools, like those required to connect to a WiFi network
  • A Ratpoison-based, keyboard-controlled, graphical environment
  • Firefox ESR, pre-configured for enhanced privacy and responsiveness on the C201

Releases

Devsus' root file system is built by a CI/CD flow on Travis CI, after each push to the master branch, or once a week. This file system contains an up-to-date kernel, kernel modules, firmware and Devuan.

The root file system is put in a tarball that is uploaded to GitHub.

In order to run Devsus, one has to unpack this tarball onto an existing bootable media, or produce bootable images.

Usage

# ./devsus.sh

This downloads the root file system tarball and creates two Devuan disk images:

  1. devuan-ascii-c201-libre-16GB.img, a 16 GB image suitable for persistent installation; its size should be exactly the size of the internal SSD
  2. devuan-ascii-c201-libre-2GB.img, a 2 GB image suitable for booting the laptop off USB

To produce a bootable media, write the 2 GB image to a flash drive (of at least 2 GB):

# dd if=$SOMEWHERE/devuan-ascii-c201-libre-2GB.img of=/dev/$DEVICE bs=50M

During the first boot, packages will be installed and configured. Once packages are configured, the login prompt will appear; the root password is blank.

The 2 GB image (yes, the smaller one) contains the larger, 16 GB one under /. This way, it is possible to boot the laptop through USB, then install Devuan persistently without having to download or store the large image separately.

Persistent installation is performed using dd, too:

# dd if=/devuan-ascii-c201-libre-16GB.img of=/dev/mmcblk0

Graphical Desktop

First, create a regular user:

# useradd -m -s /bin/bash user_name_goes_here
# passwd user_name_goes_here

Then, log in as the new user.

To start the graphical desktop:

$ startx

The browser and the terminal are started automatically.

The window manager is controlled using the keyboard:

  • Search + c spawns a new terminal window
  • Search + n switches to the next window
  • Search + p switches to the previous window
  • Search + k closes a window
  • Search + ! run a shell command

The special actions of function keys are triggered by pressing them together with the control key.

For a list of all key bindings:

$ man ratpoison
$ cat ~/.xbindkeysrc

Credits and Legal Information

Devsus' previous kernel building procedure was based on the linux-veyron package of Arch Linux ARM.

Devsus' workaround for ath9k_htc instability issues has been adopted from PrawnOS and found by SolidHal.

Devsus is free and unencumbered software released under the terms of the GNU General Public License, version 2; see COPYING for the license text. For a list of its authors and contributors, see AUTHORS.

The ASCII art logo at the top was made using FIGlet.