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.
- Power off Chromebook.
- Hold
Esc + Refresh (F3)
; tap Power. - Boot stops at recovery screen:
Chrome OS is missing or damaged
. - Press
Ctrl + D
(no prompt, just do it). - Press
Enter
to disable OS verification. - 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:
Usesudo 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
- Plug in Alfa AWUS036ACH.
- In chroot/Kali:
Be aware: built-in adapters often refuse monitor mode—always verify withsudo apt install aircrack-ng sudo airmon-ng start wlan1 sudo airodump-ng wlan1mon
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.