Install Ubuntu on ChromeOS Crostini as an LXC container
Introduction
Create an Ubuntu 24.04 container on ChromeOS
Integrate ChromeOS with Linux containers
Enable desktop applications
Manage Linux containers with additional commands
Next Steps
Install Ubuntu on ChromeOS Crostini as an LXC container
Who is this for?
This Learning Path is for software developers who want to install Ubuntu and other Linux distributions on their Arm-based Chromebook with ChromeOS file sharing and GUI support.
What will you learn?
Upon completion of this Learning Path, you will be able to:
- Create and run an Ubuntu 24.04 container on ChromeOS Crostini using LXC and Termina shell
- Set up ChromeOS integration for file sharing and GUI applications
- Manage LXC containers on ChromeOS
- Enable file sharing between ChromeOS and Ubuntu containers
- Run Linux GUI applications on your Chromebook with Sommelier integration
Prerequisites
Before starting, you will need the following:
- A ChromeOS device with the Linux development environment enabled. The Lenovo Chromebook Plus 14 is recommended.
- Basic knowledge of the Linux command line
Summary
This summary was drafted with an approved AI-assisted workflow and reviewed by Arm contributors before publication. Human technical review remains part of the process so the final page reflects engineering rigor, accuracy, and Arm editorial standards.
lxc commands to inspect, stop, and remove the container.Frequently asked questions
These FAQs were drafted with an approved AI-assisted workflow and reviewed by Arm contributors before publication. Human technical review remains part of the process so the final page reflects engineering rigor, accuracy, and Arm editorial standards.
lxc list to confirm the container appears with Status set to RUNNING. Use lxc info for details such as Architecture, PID, and creation time that match the example output.terminator from the container shell. A window should open on the ChromeOS desktop. If a window doesn’t open, revisit the display configuration steps.lxc exec <container> -- bash (for example, lxc exec u1 -- bash). This places you in the container’s shell to install packages and run commands.lxc stop <container> to stop the container, then lxc delete <container> to remove it. Deletion is permanent, so run the delete command only when you no longer need the container.