How To Install Kali Linux On Chromebook

How To Install Kali Linux On Chromebook

Reading time1 min
#Linux#Cybersecurity#OpenSource#KaliLinux#Chromebook#PenetrationTesting

Step-by-Step Guide to Installing Kali Linux on a Chromebook for Power Users

Kali Linux isn’t just an OS—it’s a toolkit for security professionals, and running it natively or semi-natively on a Chromebook turns commodity hardware into a mobile assessment platform. Chrome OS is deliberately restrictive, which is good for most users, but creates friction for those needing low-level access or full GNU/Linux. Unlocked, a Chromebook with Kali can handle reconnaissance, exploitation, and malware analysis tasks from any location.

Why Kali on a Chromebook?

  • Portable, low-profile pen-testing rig.
  • Runs nmap, metasploit-framework, aircrack-ng, and custom binaries.
  • SSH, Python 3.11+, Go 1.20+, GCC toolchain on demand.
  • Full privilege (root/sudo) without cross-compiling awkwardness.

Notably, certain Wi-Fi chipsets are poorly supported—don’t expect all hardware to work out-of-the-box.


Prerequisites

  • Chromebook with Intel/AMD CPU (ARM support is patchy; most tools x86_64).
  • Chrome OS 100+ recommended.
  • Min 10GB free—practically, 20GB+ for better swap performance.
  • Willingness to wipe device: enabling Developer Mode is destructive.
  • Backup all local data (Downloads, custom profiles, extensions).
  • Familiar with crosh and Bash.

Known issue: Developer Mode disables verified boot, exposing the device to rollback attacks if left unattended.


1 – Enable Developer Mode

Critically—this step wipes local storage.

  1. Power off Chromebook.
  2. Hold Esc + Refresh (F3); tap Power.
  3. Boot stops at recovery screen:
    Chrome OS is missing or damaged.
  4. Press Ctrl + D (no prompt, just do it).
  5. Press Enter to disable OS verification.
  6. Device reboots; expect ~5–8 minutes for transition.

Every boot, you’ll see a warning—either wait 30 seconds or hit Ctrl + D to continue. This cannot be disabled on most hardware.


2 – Install Kali via Crouton (Chroot Approach)

Crouton provides a chrooted Kali session alongside Chrome OS—no dual-boot complexity, but you’re still sharing the Linux kernel.

Download and install Crouton:

cd ~/Downloads
curl -O https://raw.githubusercontent.com/dnschneid/crouton/master/installer/crouton
sudo install -Dt /usr/local/bin -m 755 crouton

Open crosh (Ctrl + Alt + T)

shell

Start a Kali rolling chroot (with XFCE UI):

sudo crouton -r kali-rolling -t xfce
  • Use -t xiwi if you want to run the desktop in a Chrome OS window instead of full screen.
  • The first install pulls ~1.5GB—monitor bandwidth.

Initialize graphical session:

sudo startxfce4

Note: Sound, sleep, and suspend are inconsistent across hardware. Some Wi-Fi adapters default to ath10k firmware, which Kali can’t patch easily. If you need monitor/inject capability, consider an external USB Wi-Fi adapter (Alfa AWUS036ACH is common).


3 – Crostini (Linux Beta): Debian/Container Approach

Chrome OS v69+ (typically post-2018 devices) supports running containers directly via Crostini. Not a full Kali install, but you get most userland tools.

Enable Linux (Beta) in System Settings.

Within the Linux terminal:

sudo apt update
sudo apt upgrade -y

Add Kali rolling repo—not officially recommended, but works for userland tools:

echo "deb http://http.kali.org/kali kali-rolling main non-free contrib" | sudo tee /etc/apt/sources.list.d/kali.list
curl -fsSL https://archive.kali.org/archive-key.asc | gpg --dearmor | sudo tee /usr/share/keyrings/kali-archive-keyring.gpg > /dev/null
sudo apt update

Install pen-testing suite:

sudo apt install kali-linux-default -y

Trade-off: No access to low-level drivers or kernel exploits. Certain sniffers, packet injection tools, and wireless drivers will not function in this user-space container.


4 – Full UEFI Dual-Boot: Maximum Control (Risk: High)

For deployments needing unfiltered access—custom firmware flashes and full OS replacement:

  • Use MrChromebox firmware utility script.
  • Replace RW_LEGACY firmware for UEFI boot support:
    cd; curl -LO mrchromebox.tech/firmware-util.sh
    sudo bash firmware-util.sh
    
  • Requires a USB keyboard for some models.
  • Create a Kali USB stick (use Rufus on Windows or dd on Linux):
    sudo dd if=kali-linux-2024.2-amd64.iso of=/dev/sdX bs=4M status=progress
    sync
    
  • Reboot; enter UEFI boot menu and boot from USB.
  • Custom partitioning—avoid nuking ChromeOS partitions if dual-booting.

Known issues:
Firmware flash risk—bricked devices are possible (recovery only via servo header on some). Device warranty voided permanently.


After Install: Essential Post-Install Steps

  • Update/upgrade regularly:
    sudo apt update && sudo apt full-upgrade -y
    
  • Missing Wi-Fi?
    For Realtek, try:
    sudo apt install realtek-rtl88xxau-dkms
    
  • Enable SSH for remote control:
    sudo systemctl enable --now ssh
    
  • Crouton-only:
    Use sudo edit-chroot -b kali-rolling for backup.

Tip: Crostini containers can be snapshotted via Chrome OS’s built-in UI, but chroots require manual backup.


Example: Capturing Wi-Fi Packets with an External Adapter

  1. Plug in Alfa AWUS036ACH.
  2. In chroot/Kali:
    sudo apt install aircrack-ng
    sudo airmon-ng start wlan1
    sudo airodump-ng wlan1mon
    
    Be aware: built-in adapters often refuse monitor mode—always verify with iw list.

Caveats and Trade-offs

  • Most Chromebook touchscreens work; function keys sometimes require remapping.
  • Suspend/resume cycles may break chroot sessions if Chrome OS updates quietly.
  • Crostini networking is NAT’d—expect issues with tools requiring raw sockets (e.g., ettercap).

There are alternative tools like ChrUbuntu, but Crouton remains better maintained for Kali derivatives.


Unlocking a Chromebook for Kali is inherently a compromise: you gain portability and access to critical security tooling, but hardware-level access is partial unless you reflash the firmware. For most, the crouton or Crostini approach provides a robust lab-on-the-go for reconnaissance, scripting, and non-persistent exploitation.

If an error appears like:

mount: /var/run/crouton/mnt/stateful_partition/crouton/chroots/kali: special device /dev/loop0 does not exist.

Try powerwashing (factory reset) and reinstalling—some system updates break loop devices unpredictably.


Questions, hardware recommendations, or gotchas discovered while hardening your mobile lab? Leave a note below—field reports help the whole community.