William Vaughn

Arch Linux on my Toshiba Chromebook 2 (2014)

I started by trying to install Fedora 32 on this machine, just could not figure it out. I don’t know if Fedora 32 Workstation is intended for use on this madly resource constrained little machine. So, the minimal nature of Arch Linux lends itself to having a chance of working!

Specs of the laptop

By looking at the Chrome OS Devices Arch Wiki I found some basic specs for the Toshiba Chromebook 2

Available Brand Model Processor RAM Storage Upgradable SeaBIOS Remarks
Jan 2014 Toshiba CB30/CB35 Chromebook 1.4 GHz Intel Celeron 2955U 2GB DDR3 16GB eMMC No Yes Custom firmware available

Prepping the Chromebook to be hacked on

This was fun. These resources helped me get it done. I flailed for a while and had to read these pages a lot in order to figure it out.

Installation process

Partitioning

I used parted to partition the disk. First I figured out which device was the correct one to partition by running…

lsblk -p

For me this was /dev/mmcblk0 with 14.7G of space. We’re working with a tiny SSD drive and that makes hard-drive space important. To simplify setup and because of the constrained disk space I decided to go with the required boot partition for UEFI and a single / root partition. For swap space, using a 1GB swapfile instead of a dedicated partition.

parted /dev/mmcblk0
(parted) mklabel gpt
(parted) mkpart "EFI boot partition" fat32 1MiB 261MiB
(parted) set 1 esp on
(parted) mkpart "root partition" ext4 261MiB 100%
(parted) quit

Formatting the partitions.

mkfs.vfat -F32 -n EFI /dev/mmcblk0p1
mkfs.ext4 /dev/mmcblk0p2

Mounting the new filesystem

mount /dev/mmcblk0p2 /mnt
mkdir /mnt/boot
mount /dev/mmcblk0p1 /mnt/boot

Mirror List

pacman -Sy reflector
reflector -c 'United States' -f 12 -l 12 --verbose --save /etc/pacman.d/mirrorlist

This didn’t work, so I just munged it locally. I’ll run it again after install.

Pacstrap

pacstrap base base-devel linux linux-firmware intel-ucode sudo vim emacs git networkmanager

The Rest

Follow the Arch Wiki Installation guide, and clicked on many links to read more. I used GRUB as a boot loader.

Post Install

Swap file

I decided to use a 1GB swap file for swap space at /swapfile.

# dd if=/dev/zero of=/swapfile bs=1M count=1024 status=progress
# chmod 600 /swapfile
# mkswap /swapfile
# swapon /swapfile

And update etc/fstab

/swapfile none swap defaults 0 0

Use free -m to verify that the swap is available.

Manual pages

# pacman -S man-db man-pages

Conclusion

I just took apart a laptop, installed a new bios on it, and installed Arch Linux for the third or fourth time. Each time I get more comfortable with what a computer actually is every time I do this. I now have GNOME, firefox and Emacs installed on this little thing and I am actually using it around the house for basic end user style computing, and it works really well. Email me if you have one of these relics and want some help doing the same.