Back to the Homepage
How to install Arch Linux on a Chromebook: What Is Arch Linux?

Difficulty level:

Moderate

Not for the new Chromebook enthusiast.

What is Arch Linux?

Arch Linux is a Linux distribution meant for computers with x86_64 processors. Arch Linux adheres to the KISS principle and is focused on simplicity, modernity, pragmatism, user centrality, and versatility.

To put it simply, Arch Linux is a computer operating system designed to be able to be portable and it is a good choice for installing on a device with little memory, like a Chromebook

What You Will Need
  1. 1. A small screwdriver
  2. 2. An internet connection
  3. 3. A USB pendrive/SD card/memory stick/hard drive of at least 1 GB of space, and with nothing on it that you care about, as all data will be removed
  4. 4. I reccomend doing this on a Chromebook with a hard drive size of at least 16 GB
  5. 5. A bit of patience
Step One

Step One: Enable developer mode on your Chromebook

Developer mode is a Chromebook mode that allows users to do potentially destructive things, or to simply experiment with the newest un-released features.

Compare https://lifehacker.com/how-to-install-linux-on-a-chromebook-and-unlock-its-ful-509039343 for reference.

Just a note: Make sure you have an internet connection.

Press the escape (esc) key, the refresh (little circular arrow or F3) button, and the power button at the same time

Once the recovery mode screen pops up (the one with the big yellow exclamation point or the one that says insert recovery medium), press ctrl+d

Once the computer prompts you, press ctrl+d again.

The computer will tell you that ChromeOS verification is off. Press ctrl+d to continue, and wait. ChromeOS will automatically enable developer mode from there.

Once the computer reboots, select "enable debug tools."

The computer will reboot, at which point you will have to log in again, and you will need your internet connection.

Create an Arch Boot Stick from ChromeOS

Creating an Arch Linux bootable device from ChromeOS

Note: This method seems relatively unorthodox, but, surprisingly enough, it works exactly the same as it would if you used another tool on Windows such as Rufus. It could even work better, because it automatically chooses the settings needed to boot from SeaBIOS.

The first thing that you need to make a bootable device from your Chromebook, the easy way, is to install a program called Chromebook Recovery Utility. You can download it from the Web Store.

You can download the Arch Linux ISO file (from a U.S. Arch download mirror) from here: https://america.mirror.pkgbuild.com/iso/latest/

I recommend downloading the ISO file to your Downloads folder.

Next, after the file is downloaded, find the file wherever you saved it and rename it.

Click the left arrow key until you get to the end of the name, the part that says it is .iso

Delete the .iso part, and replace it with .bin

Now, go to your Chromebook Recovery Utility app.

Click on the cog wheel in the top right hand corner of the app's window (next to the x) and select the option that says somethign along the line of "use your own recovery image"

Select the .bin file that you made.

Follow the instructions that the app suggests from there.

Disable Write Protection

Removing the write protect screw

Power off your Chromebook. This is crucial, because if you do not power off your Chromebook, you could fry the motherboard an then the Chromebook won't work.

Take the cover that hides the internal stuff of your Chromebook off. You know, the plastic cover held in by screws on the bottom of your Chromebook.

Locate the write-protect screw of your Chromebook. The screw's location depends on the model of your Chromebook. To find it, you can do a simple Google search. For example, you can search "Where is the write-protect screw of my Acer Chromebook 11?" Generally, however, it is the largest screw that you can see on your motherboard, and is positioned over a copper piece.

After you have removed the write-protect screw, put your Chromebook back together.

After you have put your Chromebook back together, power on your Chromebook and sign in again. Press ctrl+alt+F2 (F2 is the little arrow at the top of your keyboard that points to the right.)

Sign in as user "chronos," and enter your password.

Now, go into super user mode (sudo su) and hit enter.

Enter the following command:

sudo flashrom -p host --wp-disable

And write-protect should be turned off, assuming that you have removed the write-protect screw.

To get back to ChromeOS, press ctrl+alt+F2 (which is the little arrow at the top of you rkeyboard that points to the right)

Flash the UEFI Firmware

Flashing UEFI firmware (allows you to boot Arch)

IMPORTANT: This will delete all data, including Chrome OS. Only proceed if you wish to do this.

This process is potentially destructive, and it can brick (ruin) your device. Make sure you check the "Supported Devices" list on MrChromebox.Tech (which can be viewedhere

Press ctrl+alt+t in order to open a Crosh terminal session.

Type "shell"

Enter your password that you chose for "root" when you created it.

Once you log in to your shell, type the following commands:

cd; curl -LO mrchromebox.tech/firmware-util.sh
sudo install -Dt /usr/local/bin -m 755 firmware-util.sh
sudo firmware-util.sh

Once the menu pops up, choose "Install/Update UEFI (Full ROM) Firmware"

Follow the instructions that pop up.

Install Arch Linux

Installing Arch Linux

Now that you have flashed the UEFI BIOS, you can continue with the next steps, that is, if you have not bricked your device. It is extremely difficult to unbrick a device, and shall not be discussed here

Insert the boot stick that you made and power on your Chromebook.

Hit the escape key when the screen shows a picture of a rabbit.

Select "boot menu"

Select "General USB Flash Disk" or whatever the external device is named.

Note: SD cards do not seem to boot for some reason.

Boot into Arch Linux, and select the first option that is shown on the Arch installer menu.

In the nest section, the code to install it to your disk will be shown and included. Please note that it takes a while to do, and is a bit difficult, and it can be highly destructive if not done properly.

How To Install Arch Linux to Chromebook Memory and Such

To install Arch Linux, use the following code. This will include installation of a GUI, which, by default, is not enabled in Arch.

All of the bolded text is the code required to install Arch Linux.

fdisk -l
fdisk /dev/name_of_disk

(which will be called mmcblk with a number at the end.)

Delete first partitions (by pressing d)
Delete the next partitoon, by repeating the above.
Write the partition table by pressing w
Go back to the second step and press t to change it.
Press 1 to change it to an "EFI system" partition."
Press w to write the changes.
Exit by pressing q.
Now, you will want to change more info about the partiotions. In the command that follows, the # is the number that goes after the mmcblk for your memory. Enter the command:
mkfs.fat -F32 /dev/mmcblk#p1
mkfs.ext4 /dev/mmcblk#p2

The command that you enter next will enter the Arch Linux IWD (iNet Wireless Daemon) menu

iwctl
Now, you will want to conect to Wi-Fi, with the iwd menu.
device list
Select your Wi-Fi card. It will most likely be WLAN0
station wlan0 connect name-of-your-network
Enter your Wi-Fi password when prompted. It may take up to three attempts for it to work.
Now, exit the IWD menu by pressing q
Check and test your network. AN easy way to do it is by pinging a website.
ping google.com
Pinging to Google should get a list of stuff back, saying 64 bytes, if your network works properly.
Pres ctrl+c to cancel ping, and go back to the installation process.
Time to install the more important stuff. Follow the instructions (an error could be really, really bad.)
pacman -Syy
Install and update the mirror lists that are necessary to install and download programs.
pacman -S reflector
Establish Arch Linux mount points.
mount /dev/mmcblk#p2 /mnt
Install proprietary and necessary files that you cannot run Arch Linux (and the Linux kernel itself) without
pacstrap /mnt base linux linux-firmware vim nsno
Generate filesystem tables and labels for system use.
genfstab -U /mnt >> /mnt/etc/fstab
Enter your chroot (Change Root) for Arch Linux system configuration
arch-chroot /mny
View timezones to use for setting
timedatectl list-timezones
Locate and memorize your timezone and UTC offset. It is recommended to write it down.
Set system date and time (the following command is set to set for Mountain Standard Time)
timedatectl set-timezone America/Denver
Generate locales for system time and date (helps create accurate timestamps for data and helps Arch system stay updated)
locale-gen
Create hostname (how the computer is seen on the network)
echo user > /etc/hostname
Create and save host files for system
touch /etc/hosts
touch /etc/host
Set root password
passwd
Install GRUB bootloader.
pacman -S grub efibootmgr
Set Linux startup disk mount points
mkdir /boot/efi
mount /dev/mmcblk#p1 /boot/efi
Install GRUB on startup disk
grub-install --target=x86_64-efi --bootloader-id=GRUB --efi-directory=/boot/efi
Create GRUB configuration files
grub-mkconfig -o /boot/grub/grub.cfg

The following processes are not necessary. You could reboot now and you could run Arch Linux as a server. To install Arch Linux as a server, follow the next set of instructions. To install it as a graphical system, scroll down to the instructions below the server installation instructions.

Arch Linux Headless Server installation
Create a new user and give the user SUDO priveleges
Replace USER_NAME with the name of the user. useradd -m -g users -G wheel,storage,power -s /bin/bash USER_NAME
passwd USER_NAME
Install the sudo and bash-completion packages.
pacman -S sudo bash-completion
Edit the file using nano:
nano /etc/sudoers
Find and uncomment the %wheel ALL=(ALL) ALL
Install the SSH server
pacman -S openssh
Start the SSH serice
systemctl enable sshd.service
Install the OS-Prober package
pacman -S grub os-prober
Exit chroot, umount root system, and reboot
exit umount -R /mnt reboot
Login to SSH
Turn on your device. Wait for it to boot up. When it boots up and opens a terminal, enter ssh user-name@ip-of-server Replace user-name with your username and ip-of-server with an IP address (ex 192.168.1.14)
This is the end of the headless server installation segment.
Install GUI and other packages (for Graphical Installation)
pacman -S xorg gdm gnome cinnamon networkmanager systemd-networkd
After those have installed and downloaded, enable their services. Note: Not all of the following may work.
systemctl enable gdm.service
systemctl enable networkmanager.service
systemctl enable systemd-networkd
Now that you have installed all of these, you can exit chroot (type "exit") and reboot into your system (type "reboot" after you exit chroot.).
Congratulations! You have successfully installed Arch Linux on your Chromebook.
Note: Sound will, most likely, not work at all.
© 2022 OneEnterprises.Tech
Free Web Hosting