💻
Asus C302CA — ChromeOS & Linux Reference
Dual Boot · Full Linux Install · Keyboard Shortcuts · Crouton · MrChromebox
← Back
🖥️
Asus Chromebook Flip C302CA-DH54
Intel Core m5-6Y54 (Skylake) 8GB RAM 64GB eMMC 12.5" FHD Touch 360° Hinge 2× USB-C Codename: Cave MrChromebox: Full UEFI ✅
⚡ Quick Reference
Already set up and just need the commands? Here they are.
⚠️ Getting "unknown command"? You're still inside crosh — crosh is not bash. You must type shell first after opening crosh, then all commands work:

Step 1: Ctrl+Alt+T → opens crosh
Step 2: type shell and press Enter → drops into bash
Step 3: now run sudo startxfce4 (or whichever command)

If shell itself says "unknown command" → Developer Mode is not enabled. See the Developer Mode tab.
🖥️ Open Linux Terminal (Crouton) Most common
Full sequence — always do these 3 steps in order:

Press Ctrl + Alt + T → crosh opens
Type shell and hit Enter → bash prompt appears
Type sudo startxfce4 (or your DE) → Linux launches
Ctrl + Alt + T Open crosh (ChromeOS shell)

Opens the crosh terminal inside ChromeOS. This is the gateway to everything Linux-related.

Then type:
shell
💚 This drops you into a full bash shell inside ChromeOS. From here you can run sudo commands and launch your Linux chroot.
sudo enter-chroot Enter Crouton Linux chroot

Drops into your Crouton chroot as a terminal (no GUI). Run from crosh → shell.

Full sequence:
Ctrl+Alt+T → shell → sudo enter-chroot
⚠️ If you have multiple chroots, specify: sudo enter-chroot -n xenial
sudo startxfce4 Launch Crouton XFCE desktop

Launches the XFCE graphical desktop environment in your Crouton chroot. Run from crosh → shell.

Common DE launchers:
sudo startxfce4 # XFCE sudo startunity # Unity sudo startkde # KDE sudo startlxde # LXDE (lightweight)
💚 After launch, switch between ChromeOS and Linux with Ctrl+Alt+Shift+Back / Ctrl+Alt+Shift+Forward
🔄 Switching Between ChromeOS & Linux (Crouton) Keyboard shortcuts
Ctrl+Alt+Shift+←Switch to ChromeOS (Back key)
Ctrl+Alt+Shift+→Switch to Linux desktop (Forward key)
Ctrl+Alt+TOpen crosh (from ChromeOS)
Ctrl+Alt+Shift+F2Switch to second virtual terminal
💡 On the C302CA the Back/Forward keys are the arrow-like icons in the top row (F1/F2 equivalent).
🐧 Crostini (Linux Beta — Built-in) No crouton needed
Settings → Developers → Linux Enable Crostini from ChromeOS Settings

ChromeOS has a built-in Linux (Crostini) that runs in a container — no Developer Mode needed on modern builds. On the C302CA you may need dev mode depending on your ChromeOS version.

Path:
Settings → Advanced → Developers → Linux development environment → Turn On
penguin Crostini container name

The default Crostini VM is named "termina" and the container is named "penguin". Useful if connecting via vsh.

Connect from crosh:
vsh termina lxc exec penguin -- bash
📦 Crouton Management Commands Maintenance
sudo crouton -u -n <name> Update an existing chroot

Updates a Crouton chroot to the latest version. Run from crosh → shell.

sudo crouton -u -n xenial
sudo edit-chroot -a List all installed chroots

Shows all Crouton chroots on the system with their names and installed targets.

sudo edit-chroot -a
sudo delete-chroot <name> Delete a chroot

Permanently deletes a Crouton chroot and all its data.

sudo delete-chroot xenial
⚠️ This is irreversible. Back up anything you need first.
sudo sh ~/Downloads/crouton -t list List available Crouton targets

Shows all available Crouton targets (desktop environments, utilities) you can install.

sudo sh ~/Downloads/crouton -t list
🔧 Developer Mode
Required for Crouton, chrx, and MrChromebox — step-by-step setup
⚠️ Enabling Developer Mode wipes your Chromebook. All local data, apps, and settings are erased. Sign back into your Google account after to restore settings. Keep Google Sync on before starting.
1️⃣ Enter Developer Mode — Step by Step
Hard reset into Recovery Mode
Hold Esc + Refresh (F3), then press Power. The screen shows "ChromeOS is missing or damaged." — this is normal, you're in recovery mode.
Enable Developer Mode
At the recovery screen, press Ctrl + D. A new screen asks to confirm — press Enter or the highlighted button to confirm. The device will beep and begin transitioning.
Wait for the transition (~10 minutes)
The Chromebook reboots and shows a screen saying "Transitioning to Developer Mode." Do not interrupt this. It takes 5–10 minutes to wipe and re-initialize the device.
Boot past the OS verification warning
Every boot now shows a screen saying "OS verification is OFF." You must press Ctrl + D within 30 seconds, or it will beep and boot automatically. This is normal.
Ctrl + D → Boot ChromeOS in Developer Mode (just wait 30s if you want it to boot automatically)
Sign back into ChromeOS
Go through the setup wizard, sign into your Google account, and let it sync. You're now in Developer Mode.
🔑 Verify Developer Mode Is Active
Ctrl+Alt+T → shell Verify shell access works

If Developer Mode is on, typing shell in crosh opens a full bash shell. In regular mode, shell returns an error.

crosh> shell chronos@localhost / $
💚 If you see the chronos@localhost prompt, you're in Developer Mode.
crossystem devswitch_boot Check dev mode status via crossystem

Returns 1 if in Developer Mode, 0 if not. Run from crosh → shell.

crossystem devswitch_boot # Returns: 1 (Developer Mode ON)
🔒 Turn Off Developer Mode (return to normal)
⚠️ Turning off Developer Mode also wipes the device again. Same as turning it on.
At the OS verification warning screen
Press Space instead of Ctrl+D. This re-enables OS verification and wipes the device, returning to normal ChromeOS.
Or from ChromeOS Settings
Settings → About ChromeOS → Additional details → Return to normal mode. Click "Restart" and confirm.
🔀 Dual Boot Options
Run Linux alongside ChromeOS — three different approaches
💡 All dual boot methods require Developer Mode to be enabled first. See the Developer Mode tab for setup steps.
🐳 Crostini (Linux Beta)
Built-in ChromeOS Linux container. No dev mode needed on modern builds. Runs Debian in a VM. Most secure option.
  • Official Google support
  • No dev mode needed
  • Sandboxed/secure
  • apt / Debian
  • Limited hardware access
  • Slower than Crouton
  • No GUI by default
⚙️ chrx (True Dual Boot)
Installs Linux on a separate partition. Real GRUB bootloader. Choose OS at each boot. Uses SeaBIOS/UEFI legacy boot slot.
  • True separate install
  • Full hardware access
  • Real bootloader
  • Complex setup
  • Less maintained
  • C302CA support varies
📦 Method A: Crouton Setup
Download Crouton
In ChromeOS browser, download crouton to your Downloads folder.
https://goo.gl/fd3zc # Or direct: https://github.com/dnschneid/crouton/raw/master/installer/crouton
Open crosh and enter shell
Ctrl+Alt+T shell
Install with a desktop environment
Choose your DE — XFCE is lightweight and recommended for the C302CA.
# XFCE (recommended, lightweight) sudo sh ~/Downloads/crouton -t xfce # Unity sudo sh ~/Downloads/crouton -t unity # KDE sudo sh ~/Downloads/crouton -t kde # No GUI (terminal only) sudo sh ~/Downloads/crouton -t cli-extra
Launch Linux (after install)
sudo startxfce4 # or startunity / startkde
Switch back to ChromeOS: Ctrl+Alt+Shift+← (Back key)
Switch to Linux: Ctrl+Alt+Shift+→ (Forward key)
Enable touchscreen in Crouton (C302CA specific)
Add the touch target for touchscreen support on the C302CA's touchscreen.
sudo sh ~/Downloads/crouton -t xfce,touch,keyboard,extension
🐳 Method B: Crostini (Linux Beta) Setup
Enable from Settings
Settings → Advanced → Developers → Linux development environment → Turn On
ChromeOS downloads and installs a Debian container. Takes a few minutes.
Open the Terminal app
A "Terminal" app appears in your launcher. Click it to open the Debian Linux shell.
Use apt like normal Debian
sudo apt update && sudo apt upgrade sudo apt install python3 nodejs git vim
Install GUI apps (optional)
Linux GUI apps appear in your ChromeOS launcher automatically.
sudo apt install gedit firefox-esr gimp
⚙️ Method C: chrx (True Dual Boot)
💡 chrx installs Linux on a real partition. C302CA uses eMMC storage — you'll be sharing the 64GB between ChromeOS and Linux. Recommend allocating 20–30GB to Linux.
Enable Legacy Boot (RW_LEGACY firmware)
From crosh → shell, run the MrChromebox script to flash the RW_LEGACY slot (not full ROM). This enables SeaBIOS/UEFI without fully replacing firmware.
cd; curl -LO mrchromebox.tech/firmware-util.sh sudo install -Dt /usr/local/bin -m 755 firmware-util.sh sudo firmware-util.sh # Select: Install/Update RW_LEGACY Firmware
Run chrx installer
cd; curl -Os https://chrx.org/go && sh go
Follow prompts. Choose GalliumOS or Ubuntu. Specify partition size. chrx resizes ChromeOS and creates a Linux partition.
Boot selection
At the OS verification screen:
Ctrl+D = boot ChromeOS
Ctrl+L = boot Linux (SeaBIOS)
🐧 Full Linux Install (Wipe ChromeOS)
Replace ChromeOS entirely with Linux as the sole OS — using MrChromebox UEFI firmware
⚠️ This permanently replaces the ChromeOS firmware. You will not be able to boot ChromeOS after this without re-flashing. The C302CA is fully supported by MrChromebox (codename: Cave) and Linux runs excellently on it. Make sure to save the stock firmware backup to USB.
✅ The C302CA-DH54 has excellent Linux support: Wi-Fi, touchscreen, stylus, audio, webcam, USB-C charging, and the 360° hinge all work well on major distros.
🏆 Recommended Linux Distros for C302CA
🌊
Fedora 40+
🌀
Ubuntu 24.04
🎋
Arch Linux
🏔️
Manjaro
💨
Pop!_OS
🌱
Linux Mint
💡 Fedora is generally best for the C302CA — excellent touchscreen support out of the box, modern kernel, and Wayland works great with the 360° hinge. Ubuntu and Pop!_OS are good beginner-friendly choices. Arch/Manjaro for full control.
🔥 Full Linux Install — Step by Step
Enable Developer Mode
Required first. See the Developer Mode tab for the full walkthrough (Esc+Refresh+Power → Ctrl+D).
Get into crosh shell
Ctrl+Alt+T shell
Disable write-protect (if needed)
The C302CA-DH54 has a firmware write protect that is controlled via software (no screw to remove). The MrChromebox script handles this automatically on Skylake Chromebooks.
# Check WP status first: crossystem wpsw_cur # 0 = unlocked, 1 = locked # The firmware-util.sh script unlocks it automatically
Run the MrChromebox Firmware Utility
This is the key step — it replaces ChromeOS's coreboot firmware with a full UEFI ROM, enabling normal Linux booting.
cd; curl -LO mrchromebox.tech/firmware-util.sh sudo install -Dt /usr/local/bin -m 755 firmware-util.sh sudo firmware-util.sh
Select "Install/Update UEFI (Full ROM) Firmware"
In the firmware utility menu, select option for Install/Update UEFI (Full ROM) Firmware. When prompted, insert a USB drive to save your stock firmware backup — do not skip this.
Power off and boot from Linux USB
After firmware flash completes, power off. Plug in your bootable Linux USB. Power on — the device now boots like a standard PC with UEFI. Press Esc or F2 at the MrChromebox splash to enter boot menu.
# To create Linux USB from another machine: # Windows: Rufus → ISO → GPT → UEFI # Linux: dd if=linux.iso of=/dev/sdX bs=4M status=progress # Mac: Etcher or dd
Install Linux normally
The Linux installer works like on any other laptop. For the C302CA with 64GB eMMC, recommended partition layout:
# Suggested partitioning (64GB eMMC): /boot/efi → 512MB (FAT32, EFI System Partition) / → 55GB (ext4 or btrfs, root) swap → 8GB (or use swapfile instead) # The eMMC shows as /dev/mmcblk0 in installer # Not /dev/sda — don't panic if you don't see sda
Post-install: Verify hardware
After first boot, check that key hardware works:
# Check Wi-Fi ip link show nmcli device status # Check touchscreen xinput list # or libinput list-devices (Wayland) # Check audio pactl info aplay -l # Check battery / power upower -i /org/freedesktop/UPower/devices/battery_BAT0 # Check CPU lscpu | grep "Model name"
🔁 Restore ChromeOS (if you want it back)
Method 1: Restore stock firmware from USB backup
If you saved the stock firmware to USB during MrChromebox setup, you can re-flash it.
# Boot any Linux USB, then: sudo flashrom -p internal -w stock_firmware_backup.rom
Method 2: ChromeOS Recovery USB
Use Chromebook Recovery Utility on another computer to create a C302CA recovery USB. The recovery process re-flashes both firmware and ChromeOS.
# Install from Chrome Web Store: "Chromebook Recovery Utility" # Select: Asus Chromebook C302CA # Flash to USB, boot from it with Esc at power-on
🛠️ C302CA Post-Install Tweaks
auto-rotate on tablet mode Enable 360° hinge auto-rotate

The C302CA's 360° hinge can auto-rotate the screen. On GNOME this works out of the box. On KDE/XFCE:

sudo apt install iio-sensor-proxy # Debian/Ubuntu # GNOME: works automatically # KDE: Settings → Display → Auto-rotate
libinput touchscreen tuning Fix touchscreen calibration

If touchscreen is miscalibrated or palm rejection needs tuning:

sudo apt install libinput-tools libinput list-devices libinput debug-events
TLP for battery optimization Improve battery life on Linux

ChromeOS has aggressive power management that Linux doesn't have by default. TLP helps.

sudo apt install tlp tlp-rdw # Debian/Ubuntu sudo dnf install tlp # Fedora sudo systemctl enable --now tlp tlp-stat -s
eMMC storage performance Optimize for eMMC (not SSD)

The C302CA uses eMMC storage — it shows as mmcblk0, not sda. Enable discard (TRIM) for longevity:

# Add discard to /etc/fstab mount options: /dev/mmcblk0p2 / ext4 defaults,noatime,discard 0 1 # Or run fstrim weekly: sudo systemctl enable fstrim.timer
⌨️ Keyboard Shortcuts
ChromeOS, Developer Mode, and Crouton switching shortcuts
🔧 Developer Mode Boot Shortcuts
Esc + Refresh + PowerEnter Recovery Mode (hard reset)
Ctrl + D (at recovery)Enable Developer Mode
Ctrl + D (at OS warning)Boot ChromeOS in dev mode
Ctrl + L (at OS warning)Boot Linux (Legacy/UEFI) if chrx installed
Space (at OS warning)Re-enable OS verification (exits dev mode)
Wait 30s (at OS warning)Auto-boot into ChromeOS
🔄 Crouton Switching Shortcuts
Ctrl + Alt + TOpen crosh terminal
Ctrl + Alt + Shift + ←Switch to ChromeOS (Back key)
Ctrl + Alt + Shift + →Switch to Linux Crouton (Forward key)
Ctrl + Alt + F2Virtual terminal 2 (text console)
Ctrl + Alt + Shift + ReloadRotate screen (tablet mode)
💻 ChromeOS Keyboard Reference (C302CA)
💡 The C302CA uses a Chromebook keyboard — no F-keys by default. The top row is: Back, Forward, Refresh, Fullscreen, Overview, Brightness−, Brightness+, Mute, Vol−, Vol+, Power.
Search (🔍)Caps Lock replacement / launcher
Search + EscOpen Task Manager
Ctrl + Shift + IOpen DevTools
Ctrl + Shift + LLock screen
Alt + [Snap window left
Alt + ]Snap window right
Ctrl + Alt + /Show all keyboard shortcuts
Search + 1–9F1–F9 equivalent
🖥️ Crosh Commands
help List all crosh commands
crosh> help
ping <host> Ping a host from crosh
crosh> ping 8.8.8.8 crosh> ping google.com
battery_test Run a battery health test

Discharges the battery for 1 minute and reports wear level and health.

crosh> battery_test 60
storage_test_1 Test eMMC storage health

Runs diagnostic tests on the internal eMMC storage.

crosh> storage_test_1
top System resource monitor

Shows CPU and memory usage directly in crosh.

crosh> top
🤖 GitHub Copilot CLI on Fedora
Install gh + Copilot CLI natively on Fedora — copy & paste each block in a terminal
💡 Open a terminal (Activities → Terminal or right-click desktop). Do these steps in order — each block is one paste.
1️⃣ Install the gh CLI
gh is in the official Fedora repos — one command:
sudo dnf install gh -y
💚 Takes about 30 seconds. Enter your password when prompted.
2️⃣ Log into GitHub
gh auth login
When prompted:
GitHub.com
HTTPS
Login with a web browser
→ Copy the one-time code, open Firefox, paste it at github.com/login/device
3️⃣ Install Copilot CLI extension
gh extension install github/gh-copilot
💚 Only need to do this once — persists permanently.
Using Copilot CLI
Two main commands — suggest gives you a command to run, explain breaks down what a command does:
gh copilot suggest "..." Ask Copilot for a command to do something
Examples:
gh copilot suggest "scan my network for open ports" gh copilot suggest "find all files modified in the last 24 hours" gh copilot suggest "list all running services" gh copilot suggest "check what is using port 8080"
gh copilot explain "..." Ask Copilot to explain what a command does
Examples:
gh copilot explain "nmap -sV -O 192.168.1.0/24" gh copilot explain "systemctl status NetworkManager" gh copilot explain "ps aux | grep gnome"
gh copilot suggest -t shell "..." Force shell command suggestions

Use -t shell to be explicit about shell commands vs git commands.

gh copilot suggest -t shell "update all packages" gh copilot suggest -t git "undo last commit without losing changes"
🔁 Every time after install
gh and Copilot CLI are installed natively — just open a terminal and use it:
gh copilot suggest "..."
💡 No chroot, no setup — works in any terminal window on Fedora.
💾 Create a Bootable SD Card
Download Fedora + flash it to an SD card — step by step for Windows, Mac, or Linux
💡 You need another computer (Windows, Mac, or Linux) to do this. The C302CA has a full-size SD card slot — no USB drive needed.
🌊 Step 1 — Download Fedora Workstation
Go to the Fedora download page
https://fedoraproject.org/workstation/download
Download the correct version
Click "Download Fedora Workstation"

Make sure it says x86_64 — that's the right one for the C302CA's Intel Core m5.
Do NOT download the ARM version — that's for Raspberry Pi and phones.
# What you want: Fedora-Workstation-Live-x86_64-[version].iso # Example filename: Fedora-Workstation-Live-x86_64-40-1.14.iso
💚 The file is about 2GB. Download it to your other computer, not the Chromebook.
Why Fedora for the C302CA?
Fedora includes a very recent kernel which has the best support for the C302CA's hardware out of the box — touchscreen, 360° hinge auto-rotate, stylus, Wi-Fi, audio, and USB-C charging all work without extra setup.
🔧 Step 2 — Download Balena Etcher (the flashing tool)
Download Etcher on your other computer
https://etcher.balena.io
Click Download Etcher — it auto-detects your OS (Windows/Mac/Linux). Install it normally.
💚 Etcher is free, safe, and the easiest way to flash an ISO to an SD card. It won't let you accidentally overwrite your main hard drive.
💾 Step 3 — Flash Fedora to the SD Card
⚠️ Flashing will erase everything on the SD card. Make sure the SD card is blank or has nothing you need on it. You need at least a 4GB SD card (8GB+ recommended).
Insert the SD card into your other computer
Use an SD card adapter if your computer only has a card reader slot, or a USB SD card reader if needed.
Open Balena Etcher
Click "Flash from file"
Select the Fedora .iso file you downloaded.
Click "Select target"
Choose your SD card from the list. Double-check it's the SD card and not your hard drive. Etcher shows the size — your SD card size should match.
Click "Flash!"
Takes about 5–10 minutes. Etcher verifies after writing. When it says "Flash Complete" you're done.
Eject the SD card safely
Windows: right-click SD card in Explorer → Eject
Mac: drag to Trash or click eject icon
Linux: right-click → Unmount
💻 Step 4 — Boot the C302CA from SD Card
💡 You need to flash MrChromebox UEFI firmware first before the Chromebook can boot from SD card. See the Full Linux Install tab for that step — do it before inserting the SD card.
Insert the SD card into the C302CA
The SD card slot is on the right side of the laptop.
Power on and enter boot menu
At the MrChromebox UEFI splash screen, press Esc or F2 to open the boot menu. Select the SD card.
# At boot, press: Esc → opens boot device menu # Select: SD card / MMC device # Or it may auto-detect and boot from SD
Fedora Live boots — try it before installing
Fedora runs as a "Live" session from the SD card first. Try Wi-Fi, touch the screen, flip the hinge — verify everything works before committing to install.
Click "Install to Hard Drive"
When ready, click the Install icon on the desktop. The installer will ask about partitioning — for full Linux only, choose "Erase disk and install Fedora" (the simplest option). The eMMC shows as mmcblk0 — that's your internal storage, which is correct.
🪟 Windows alternative — use Rufus instead of Etcher
If you prefer Rufus on Windows (also free, no install needed):
https://rufus.ie
Open Rufus, select your SD card at the top
Click SELECT and choose the Fedora ISO
Partition scheme: GPT — Target: UEFI (non-CSM)
This is important for MrChromebox UEFI compatibility.
Click START → Write in ISO Image mode
🚀 Reflash with Rufus + Boot from UEFI
Etcher didn't work — use Rufus on Windows instead, then navigate the UEFI boot menu
⚠️ If the EFI System option in the UEFI boot menu was blank, your SD card didn't flash correctly. Reflash it with Rufus using the steps below.
🪟 Step 1 — Reflash SD Card with Rufus (Windows)
Download Rufus
https://rufus.ie
Click the download link — no install needed, it's a single .exe file. Just run it.
Insert the SD card into your Windows PC
Open Rufus — select your SD card at the top
Make sure the correct drive is selected — check the size matches your SD card.
Click SELECT and choose the Fedora ISO file
Set these two options — IMPORTANT
These settings are critical for UEFI booting to work:
Partition scheme: GPT Target system: UEFI (non CSM)
Click START
If a popup asks which mode to write — choose "Write in ISO Image mode (Recommended)". Click OK.
Wait for it to finish — then eject safely
Takes 5–10 minutes. When done, right-click the SD card in Explorer → Eject before removing.
💻 Step 2 — Boot the Chromebook from SD Card
Insert SD card into the Chromebook (right side slot)
Power on and get to the UEFI menu
At the MrChromebox screen, press Esc to open the boot menu. If that doesn't work, try F2 or just wait — it may drop into the UEFI shell automatically.
If you land in the UEFI shell (black screen with text)
Type exit and press Enter to get to the graphical UEFI menu.
exit
In the UEFI menu → select "Boot Manager"
Or select "Boot from file" if Boot Manager isn't listed.
Select the option that says "EFI System" — that's your SD card
It should now show files inside it. Navigate to:
EFI → fedora → grubx64.efi
Select grubx64.efi and press Enter to boot.
Fedora Live boots 🎉
Try Wi-Fi, touch the screen, flip the hinge. When ready, click "Install to Hard Drive" on the desktop. Choose "Erase disk and install Fedora" — the eMMC shows as mmcblk0, that's correct.
🔁 Make SD Card boot automatically next time
So you don't have to navigate the UEFI menu every time, set boot order in the UEFI menu:
In the UEFI menu → select "Change Boot Order"
Move SD card / EFI System to the top of the list. Save and exit. It will now auto-boot from SD card when inserted.
💚 Once Fedora is installed to the eMMC, it registers itself in the UEFI boot order automatically — you won't need the SD card again after install.