Combined with libreboot, an AR9271 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
There are two ways to use PrawnOS. The first option is to boot from the external usb or sd device you wrote the image to. [create an anchor](### insall-To-USB-drive-or-SD-card)
### Install To USB drive or SD card
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
```
cd /InstallResources/
./InstallToUSB
```
congratulations: you are done! But you probably already knew that. 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 hint on how to connect to wifi, check out [create an anchor](####connecting-to-wifi-in-a-basic-enviroment)
#### For everyone else, two scripts need to be ran.
The first expands the partition and filesystem to use the entire drive.
Make sure you only have one usb or sd storage device plugged into the machine.
Run:
```
cd /InstallResources/
./InstallToUSB
```
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:
(ALl of these should be ran as root or with sudo to avoid issues)
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