Skip to content

Instantly share code, notes, and snippets.

@whyrusleeping
Last active May 11, 2019 17:15
Show Gist options
  • Save whyrusleeping/da4f593267d83f8b3324 to your computer and use it in GitHub Desktop.
Save whyrusleeping/da4f593267d83f8b3324 to your computer and use it in GitHub Desktop.
arch linux setup guide for samsung chromebook 2

Arch Linux Chromebook 2 Setup

First, follow the instructions on this page up until it tells you to unmount root: http://archlinuxarm.org/platforms/armv7/samsung/samsung-chromebook-2

Dont unmount root yet. you need to run cp /lib/firmware/mrvl/* root/lib/firmware/mrvl

This copies the proper wireless drivers to your new installation (otherwise wireless will NOT work)

Now you can umount root and sync and reboot.

After rebooting, press Ctrl + u at the boot screen to boot to your SD card.

After that, you should be at a scary black screen with a prompt asking you to sign in, the user is 'root' and so is the password.

Setting up WiFi

The first thing you need to do is start your wifi. If you have a personal wireless network, run wifi-menu mlan0 and follow the prompts to connect to the network of your choice. If youre connected to the internet now, skip down to 'Setting up Packages'

If you are on a campus (WSU in my case) and want to connect to the campus wireless (WSU Wireless) things become a bit more tricky.

Copy the following into a file named WSU:

Description='A wireless profile for WSU Wireless'
Interface=mlan0
Connection=wireless
Security=wpa-configsection
IP=dhcp

WPAConfigSection=(
'ssid="WSU Wireless"'
'key_mgmt=WPA-EAP'
'eap=PEAP'
'proto=RSN'
'pairwise=CCMP'
'identity="firstname.lastname"'
'password="yourpassword"'
'priority=1'
'phase2="auth=MSCHAPV2"'
)

Make sure to update the identity and password fields with your information. Then copy the file to /etc/netctl with cp WSU /etc/netctl/WSU After that, run netctl start WSU and it should connect.

Setting up Packages

First things first, do a system update:

pacman -Syu

Then youll need to install X:

pacman -S xf86-input-synaptics xf86-video-fbdev xorg-server xorg-xev xorg-xset xf86-video-fbturbo-git mesa-libgl

Once that completes, youll need some window manager and other fun packages:

pacman -S git gcc gvim i3 slim sudo xorg-xinit xterm dmenu

once that has finished, youre almost ready to start using your computer, just a few more commands:

systemctl enable slim
useradd YOURUSERNAME
su YOURUSERNAME
cd ~

Now youll need to create your xinitrc file which tells your computer how to start up the graphics stack (not as complicated as it sounds)

vim ~/.xinitrc

and type:

exec i3

Save and quit (if you dont know how to use vim, im sorry.)

now set a password for your user with passwd

And thats it! Reboot your chromebook and you should be greeted with a mildly pretty login screen!

Comments or Questions please comment on this gist!

Brightness Control

The brightness on any linux laptop is controlled through the /sys pseudo filesystem. Most files in this filesystem have permissions set so that only root can modify them. To allow normal users to change the brightness, create a file called /etc/tmpfiles.d/brightness.conf (as root) and put the following line in it:

f /sys/class/backlight/backlight.10/brightness 0666 - - - 900

The value 900 is the new default brightness (on a scale of 0 to 2800), you can set it to whatever you would like your default to be.

Youll need to reboot for those changes to take effect.

Now, to change your brightness you need to simply change the value inside the file /sys/class/backlight/backlight.10/brightness. You can make your own shell script to do this if you wish, or simply:

echo "400" > /sys/class/backlight/backlight.10/brightness

WiFi Repair

If wifi stops working after an update, you may need to copy the drivers from chromeOS over to arch again.

Boot into chromeOS and open up a shell and become root, then:

mkdir /tmp/root
mount /dev/mmcblk1p3 /tmp/root
cp /lib/firmware/mrvl/* /tmp/root/lib/firmware/mrvl/
sync
umount /tmp/root

Now reboot back into arch linux and your wifi should work again.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment