Combined with libreboot, an AR9271 or AR7010 wifi dongle, and a libre OS (like Debian with the main repos, the one built by this) the asus c201 is a fully libre machine with no blobs, or microcode, or Intel Management Engine.
Build the `PrawnOS-...-.img` by running `sudo make image`
This has only been tested on a Debian stretch VM, and borrows some components from the host system to setup apt/debootstrap during the build process so I would recommend using a Debian Stretch VM to avoid any issues.
Write the 2GB image to a flash drive. Make sure to replace $USB_DEVICE with the desired target flash drive or sd card device. If you're not familiar with dd, check out Debians
how to page https://www.debian.org/CD/faq/#write-usb
* Booting from an external device allows you to try PrawnOS without removing ChromeOS or whatever linux you are running on your internal storage (emmc), but it is a much slower experience as the c201 only has usb 2.0.
The second and, recommended, option is to install it on your internal storage (emmc)
Now on the C201, press `control+u` at boot to boot from the usb drive.
If you are running stock coreboot and haven't flashed libreboot, you will first have to enable developer mode and enable usb booting. A quick search should get you some good guides, but if you're having issues feel free to open an issue here on github.
When it boots, login as root. The password is blank.
#### If you simply want a basic linux environment with not desktop environment or window manager:
Make sure its the only storage device plugged in, and run this script to expand the partition and filesystem to the full usb drive. This will reboot when complete, so you'll have to press `control+u` again to boot to the external media.
Congratulations: you are done! Welcome to PrawnOS. You should probably change the root password and make a user, but I'm not your boss or anything so I'll leave that to you.
If you want a quick guide on how to connect to wifi, check out [this down below](#connecting-to-wifi-in-a-basic-environment)
Then run this script which installs the either the xfce4 or the lxqt desktop enviroment, sound, trackpad, and Xorg configurations as well as prompts you to make a new user that automatically gets sudo privileges.
If it asks you about terminal encoding and/or locale, just hit enter. The default works for both.
When finished, it will reboot once again placing you at a login screen.
```
./InstallPackages.sh
```
This will take a while; usb 2.0 is slow.
Welcome to PrawnOS. If you like it, I would suggest installing it to your internal storage (emmc).
### Install to Internal drive (emmc)
Now on the C201, press `control+u` at boot to boot from the usb drive.
If you are running stock coreboot and haven't flashed libreboot, you will first have to enable developer mode and enable usb booting. A quick search should get you some good guides, but if you're having issues feel free to open an issue here on github.
At the prompt, login as root. The password is blank.
WARNING! THIS WILL ERASE YOUR INTERNAL EMMC STORAGE (your chrome OS install or other linux install and all of the associated user data) Make sure to back up any data you would like to keep before running this.
_This will show a bunch of scary red warnings that are a result of the emmc (internal storage) being touchy and the kernel message level being set low for debugging. They don't seem to effect anything longterm._
The device will then reboot. If you are running the stock coreboot, you will have to press `control+d` or wait 30 seconds past the beep to boot to the internal storage.
If you are running libreboot, it should boot to the internal storage by default. If it doesn't, turn off the device and remove the flash drive before turning it on again.
Which installs the either the xfce4 or the lxqt desktop enviroment, sound, trackpad, and Xorg configurations as well as prompts you to make a new user that automatically gets sudo privileges.
If it asks you about terminal encoding and/or locale, just hit enter. The default works for both.
If you just want a basic enviroment without xfce or lxqt can skip running InstallPackages.sh. You can connect to wifi using wpa_supplicant by running the following commands:
The makefile automates many processes that make debuggung the kernel or the filesystem easier.
TO begin with:
`make kernel_config` cross compiles `make menuconfig` Cross compiling is required for any of the linux kernel make options that edit the kernel config, as the linux kernel build system makes assumptions that change depending on what platform it is targeting.
`make kernel` builds just the kernel
`make filesystem` builds the filesystem and kernel into a PrawnOS.img
`make kernel_inject` Injects a newly built kernel into a previously build PrawnOS.img located in the root of the checkout
You can use the environment variable `PRAWNOS_DEBOOTSTRAP_MIRROR` to use a non-default Debian mirror with debootstrap. For example, to use [Debian's Tor onion service mirror](https://onion.debian.org/) with debootstrap, you can build with `sudo PRAWNOS_DEBOOTSTRAP_MIRROR=http://vwakviie2ienjx6t.onion/debian make image`.
[![Github All Releases](https://img.shields.io/github/downloads/SolidHal/PrawnOS/total.svg)]() [![Built with Spacemacs](https://cdn.rawgit.com/syl20bnr/spacemacs/442d025779da2f62fc86c2082703697714db6514/assets/spacemacs-badge.svg)](http://spacemacs.org)