citruspi

Kali Linux on the Chromebook

Installing Kali Linux on the Samsung ARM Chromebook

Preface

When I heard, last week, that Kali Linux 1.0 (Backtrack 6) was out, I was excited. When I got to the download page and saw that there were build images for my Raspberry Pi and Samsung Chromebook, I was ecstatic.

The Kali site has an article on installing it on the Chromebook, but I couldn't get it to work. It

So, having managed to get it running on my Chromebook, I figured I would document the steps I took.

Prerequisites

Download & Write

Download Kali Linux for the Chromebook from here and extract the .img file from the gunzip archive.

I opted to use Win32 Disk Imager to write the image to my flash drive. It can also be used to write the image to an SD Card.

Modify

Plug your flash drive (USB 2.0 port) or SD card into the Chromebook. Open the shell through the CROSH:

  1. Control + Alt + T
  2. Type in shell and press return

List the devices:

$ lsblk | grep disk

If you have a flash drive, you should see sda. If you have an SD Card, it should be mmcblk1.

Depending on what you use, there are a different set of instructions below.

Flash Drive

$ sudo cgpt repair /dev/sda

# Now, we set the priority of the boot partitions.
$ sudo cgpt add -i 1 -T 5 -P 5 -l KERN-A /dev/sda
$ sudo cgpt add -i 2 -T 5 -P 10 -l KERN-B /dev/sda

Now, if you run

$ sudo cgpt show /dev/sda

it should look similar to this:

    start        size    part   contents
        0           1           PMBR
        1           1           Pri GPT header
        2          32           Pri GPT table
     8192       32768      1   Label: "KERN-A"
                                 Type: ChromeOS kernel
                                 UUID: 63AD6EC9-AD94-4B42-80E4-798BBE6BE46C
                                 Attr: priority=5 tries=5 successful=1
    40960       32768      2   Label: "KERN-B"
                                 Type: ChromeOS kernel
                                 UUID: 37CE46C9-0A7A-4994-80FC-9C0FFCB4FDC1
                                 Attr: priority=10 tries=5 successful=1
    73728     3832490      3   Label: "Linux filesystem"
                                 Type: 0FC63DAF-8483-4772-8E79-3D69D8477DE4
                                 UUID: E9E67EE1-C02E-481C-BA3F-18E721515DBB
125045391          32           Sec GPT table
125045423           1           Sec GPT header

Then, we enable cross system booting:

$ sudo crossystem dev_boot_usb=1

SD Card

I have not tested these instructions yet - I've only used my flash drive. However, in theory, they should work. I'd be grateful if someone tested this and reported back.

(The instructions for the SD Card were verified by a reader on 13 June 2013).

$ sudo cgpt repair /dev/mmcblk1

Now, we set the priority of the boot partitions.

$ sudo cgpt add -i 1 -T 5 -P 10 -l KERN-A /dev/mmcblk1
$ sudo cgpt add -i 2 -T 5 -P 5 -l KERN-B /dev/mmcblk1

Now, if you run

$ sudo cgpt show /dev/mmcblk1

it should look similar to this:

    start        size    part   contents
        0           1           PMBR
        1           1           Pri GPT header
        2          32           Pri GPT table
     8192       32768      1    Label: "KERN-A"
                                     Type: ChromeOS kernel
                                     UUID: 63AD6EC9-AD94-4B42-80E4-798BBE6BE46C
                                     Attr: priority=10 tries=5 successful=1
    40960       32768      2    Label: "KERN-B"
                                     Type: ChromeOS kernel
                                     UUID: 37CE46C9-0A7A-4994-80FC-9C0FFCB4FDC1
                                     Attr: priority=5 tries=5 successful=1
    73728     3832490      3    Label: "Linux filesystem"
                                     Type: 0FC63DAF-8483-4772-8E79-3D69D8477DE4
                                     UUID: E9E67EE1-C02E-481C-BA3F-18E721515DBB
125045391          32           Sec GPT table
125045423           1           Sec GPT header

Then, we enable cross system booting:

$ sudo crossystem dev_boot_usb=1

Wrap Up

When you see the OS Verification is Off screen on boot up, press Control + U to boot into Kali Linux or Control + D to boot into Chrome OS (but you already knew that, right?).

Login with

username password
root toor

You can use startx to launch the GUI.

Bugs

There are a few...

Notes


[1]: One such error? The instructions on Kali.org reference /dev/sdb. However, /dev/sdb is the location of a flash drive plugged into an Intel Chromebook. The location of a flash drive on the ARM Chromebook is /dev/sda.


Published on 20 March 2013.