# Install Ubuntu on ChromeOS Crostini as an LXC container

## In this learning path

- [Introduction](https://learn.arm.com/learning-paths/laptops-and-desktops/chrome-os-lxc/)
- [Create an Ubuntu 24.04 container on ChromeOS](https://learn.arm.com/learning-paths/laptops-and-desktops/chrome-os-lxc/page-1/)
- [Integrate ChromeOS with Linux containers](https://learn.arm.com/learning-paths/laptops-and-desktops/chrome-os-lxc/page-2/)
- [Enable desktop applications](https://learn.arm.com/learning-paths/laptops-and-desktops/chrome-os-lxc/page-3/)
- [Manage Linux containers with additional commands](https://learn.arm.com/learning-paths/laptops-and-desktops/chrome-os-lxc/page-4/)
- [Next Steps](https://learn.arm.com/learning-paths/laptops-and-desktops/chrome-os-lxc/_next-steps/)

## About this Learning Path

|  |  |
| --- | --- |
| Skill level: | Introductory |
| Reading time: | 1 hr |
| Last updated: | 28 Jul 2026 |

|  |  |
| --- | --- |
| Author: | Jason Andrews , Arm<br>[GitHub](https://github.com/jasonrandrews)<br>[LinkedIn](https://linkedin.com/in/jason-andrews-7b05a8) |
| Arm IP: | [Cortex-A](https://support.arm.com/?tab=compute-ip&Product%20Type=Application%20Processors) |
| Tags: | [Containers and Virtualization](https://learn.arm.com/tag/containers-and-virtualization) [ChromeOS](https://learn.arm.com/tag/chromeos) [Ubuntu](https://learn.arm.com/tag/ubuntu) |

### 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?

After completing this Learning Path, you'll be able to perform the following tasks:

- 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'll need the following prerequisites:

- A ChromeOS device with the Linux development environment enabled. The Lenovo Chromebook Plus 14 is recommended.
- Basic knowledge of the Linux command line

### Summary

You’ll set up an Ubuntu 24.04 container on an Arm-based Chromebook with ChromeOS Crostini and LXC from the Termina shell. You’ll create and manage the container, share ChromeOS folders with Linux, configure Sommelier, and install a minimal desktop stack. You’ll then launch a GUI test app and use `lxc` commands to inspect, stop, and remove the container.

### Frequently asked questions

**How do I know the Ubuntu container started correctly?**

Run `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.

**How do I share a ChromeOS folder with the Ubuntu container?**

In the ChromeOS Files app, right-click a folder and choose **Share with Linux**. The folder becomes available to Linux apps and the command line inside the container. If the folder doesn’t appear, ensure the container is running.

**How do I launch and verify a Linux GUI app from the container?**

After enabling Sommelier and installing the minimal desktop packages, start a test application such as `terminator` from the container shell. A window should open on the ChromeOS desktop. If a window doesn’t open, revisit the display configuration steps.

**Which command opens a shell inside the container for installs and configuration?**

From the Termina shell, run `lxc exec <container> -- bash` (for example, `lxc exec u1 -- bash`). This places you in the container’s shell to install packages and run commands.

**How do I stop and remove the container when I am done?**

Use `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.
