Installing Arch Linux on a Chromebook -- Preparation steps


  Figure 1. Inspired by a user on /r/unixporn

Like Linux but not the 90's feel that its UI gives you? Check out /r/unixporn (not actually porn, just effectively so) for inspiration.

Once you've decided to jump in and customize for yourself an eye-catching yet productive workspace, check this blog again for advise and instruction.

This post will focus on the process of installing Arch Linux (sans introduction and convincing), especially on a Chromebook powered by an Intel-based Haswell chipset. I will not convince you to install Arch (because you don't need to; all this customization works just fine on Ubuntu or any other distro), nor will I give full-detailed instructions since the Beginner's Guide already has an excellent coverage.



Introduction


So why another guide? What I'm shooting for here is just a companion guide to go together with the Wiki's. I'll be covering all the confusions / questions that I had on my own run-through as well as the solutions. Also, since this guide is targeted at a much smaller demographic, I can be more specific and filter out for you content that otherwise would confuse you. Hopefully it'll save you some time.

General Advice, in decreasing order of importance:

  • A good amount of patience
  • Some familiarity with Linux
  • Detail-orientation (just type the code correctly)
  • Some common sense

Installation Guide

Wiki walkthrough & comments

  • i686 refers to the x86 architecture (Intel 32-bit). If you're confused, anything that's 64-bit will have the number 64 somewhere in it, e.g. x86_64. For the purpose of this discussion, any Chromebook released after 2013 is compatible.
  • Step 0-a: Unlock your Chromebook's Developer Mode. From now on, you will be greeted with this warning screen on every boot:


        Figure 2. Chromebook's boot warning screen

    DO NOT PRESS SPACE (unless you know what it does, I won't explain here). To boot into ChromeOS, hit Ctrl+D or wait 30 seconds.
  • Step 0-b: Unlock the SeaBIOS bootloader
    • Login to your ChromeOS environment normally
    • Ctrl + Alt + T to open a terminal
    • Type shell and hit Enter to access the shell
    • When prompted with chronos@localhost / $, type sudo bash, Enter, then type crossystem dev_boot_usb=1 dev_boot_legacy=1, Enter
    • Reboot
    • Once greeted with the warning screen again, this time hit Ctrl + L (L for legacy if it helps you remember) to load the SeaBIOS bootloader. At this point, there's nothing in there to use, so you don't have to do this, but it's nice to familiarize yourself with the routine anyway. Note: If you're stuck at any point, holding the power button for 10~ seconds will force power-off most electronic devices.
  • Step 0-c: Install Arch Linux iso onto a USB drive. You need a computer running Windows/OSX/Linux to do this. If you have a Windows machine like most people, it's just a matter of downloading a software, downloading the iso, plugging the USB in, running the software, choosing the iso, and clicking a button.


      Figure 3. Installing arch iso onto a USB drive.

    This process will install a version of Arch Linux onto your USB, which you can boot and run later on. You can put files onto the USB after this step; just don't delete any of the files that the Universal USB Installer put on.
  • Step 0-d: Boot the USB.
    • Plug it in and reboot the Chromebook
    • At the warning screen (from step 0-a), hit Ctrl + L
    • Shortly afterwards, hit Esc when it tells you to (don't be slow), then choose to boot your USB; the screen should have the brand and everything so you'll know which option to choose. If all else fails, trial and error.
    • This part is particularly confusing, so google around if I'm not helping.
      You'll likely be given an error:
      boot/syslinux/whichsys.c32: not a COM32R image

      boot: _
      Don't type anything, just hit tab and it'll show you options. Type sys, Enter, then hit tab again, type have64 or nohave64, Enter. (You should know what have64 and nohave64 mean...)
    • You'll be greeted with the Arch Linux USB boot screen with several options (32 bit, 64 bit, recovery mode and something else). If you chose nohave64 earlier, it won't show you the x86_64 option.


        Figure 4. Arch Linux live medium boot screen. Press Tab for options.

      Regardless, pick Boot Arch Linux (x86_64) or Boot Arch Linux (i686). DO NOT HIT ENTER. Instead, hit tab again and it'll show you a line of code at the bottom. Add a space and mem=1024m before hitting Enter to boot.
  • Step 1: Now you can start reading the Wiki. This guide contains bits and pieces from the Wiki, so start from that point.
Do keep in mind that the Wiki tries to be complete, so it gives you a lot of option (Wired and Wireless connectivity, for example). You don't need to follow all of the instructions, just pick whichever applies. This is where common sense is needed. You need to know what you need to do and what you don't. The next blog entry I'll write will pick and choose from the Wiki. It'll be mostly copy&paste, but it should trim the guide down significantly.

Some tips, although you can google this easily:
  • Using the nano editor in the console:
    • Don't forget to "sudo nano file.txt", otherwise you won't be able to save the changes
    • Open config files (usually named with a .conf or .cfg) with the -w flag to avoid line wrapping. E.g. "sudo nano -w /boot/grub/grub.cfg"
    • Always make a backup before editing config files. E.g. "sudo cp /boot/grub/grub.cfg /boot/grub/grub.cfg.bak"
    • Ctrl+O to save changes, Ctrl+X to exit nano, Ctrl+W to search (default is case insensitive, do Alt+C after Ctrl+W to toggle case sensitivity)
    • Ctrl+K to cut line(s), Ctrl+U to paste all the cut lines held in memory.

Comments

Popular Posts