Git Product home page Git Product logo

devsus's Introduction

     _
  __| | _____   _____ _   _ ___
 / _` |/ _ \ \ / / __| | | / __|
| (_| |  __/\ 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 has a CI/CD flow on Travis CI, which gets triggered after each push to the master branch, or once a week.

It builds tarballs containing an up-to-date kernel, kernel modules, firmware and a Devuan root file system, then uploads the tarballs to GitHub.

In order to run Devsus, one has to unpack these tarballs onto an existing bootable media, or produce bootable images using devsus.sh (see below).

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.

devsus's People

Contributors

creoflux avatar dimkr avatar tobiasbengtsson avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

devsus's Issues

Error "GPT PMBR size mismatch" after dd-ing the generated image

Hi there!

After I have run .devsu.sh and generated devuan-jessie-c201-libre-2GB.img on a Debian Jessie machine, I dd it to a SD card but when I issue cgpw show /dev/mmcblk1 I get the error GPT PMBR size mismatch and I cannot boot the chromebook from it. I also run cgpt repair /dev/mmcblk1 but it's still not working. What could be the problem.

Also, would it be possible to have the img files as a torrent so that we know for sure that they're compiled right? That'd be great...

Anyway, this repo is awesome!

Making the built-in wifi work

I don't know if you are willing to answer to this question, because it relates to installing non-free software, but I'm trying to make the built-in wifi receiver work. I tried to add the non-free devuan repositories and I installed the relevant driver but it didn't work. What am I doing wrong?

The linux libre archive use .tar.lz not .tar.xz

The linux libre archive use .tar.lz not .tar.xz, causing the devsus script to fail in both hybrid and mainlin branches. This also means lzip is a dependency.
Submitted PR for hybrid #7 and mainline #9

Devsus script requires sudo

Maybe this is obvious, but the -2GB and -16GB images are only successfully created when sudo ./devsus.sh is used instead of ./devsus.sh.
Many of the commands in create_image() require it.
Otherwise the script just spits out a "devuan-jessie-c201-libre-2GB.img" that is completely empty and has a broken gpt table.

PS. I'm curious what issue you found "Replaced dwc2 with the one from Chrome OS" fixed.

Thanks!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.