Welcome to your first lesson on Linux! The goal of this course is to get you comfortable using Linux as a daily operating system, building on the experience you already have with the Linux environment on your Chromebook.
In this introductory lesson, we will demystify the specific Linux setup you are using. We'll explore exactly what the "Penguin" environment is, how it fits within ChromeOS, and what it means to be a "Linux distribution." By the end, you'll have a clear mental model of the system you're working with, which will be the foundation for everything we do next.
Your Chromebook's Secret: ChromeOS and Linux
You might be surprised to learn that you've been using Linux all along. ChromeOS, the operating system on your Chromebook, is built on top of the Linux kernel. The kernel is the absolute core of an operating system; it's the fundamental piece of software that manages the computer's hardware and resources.
However, just having a kernel isn't enough to make a complete, usable operating system. ChromeOS adds its own unique, web-focused user interface (the Chrome browser) and a specific set of applications and security features. This is why it feels very different from what people typically call a "Linux system."
To understand this better, let's look at a brief explanation.
Is ChromeOS Linux? — linuxvox.com
This article clarifies the relationship between ChromeOS and the Linux kernel.
Please read the section under the heading "Fundamental Concepts". It explains that while ChromeOS uses a Linux kernel, it is not a traditional Linux distribution due to its different interface and focus.
So, while ChromeOS is powered by Linux, it's designed for simplicity and security, which historically made it difficult to use the development tools you might be familiar with from your web development studies. To solve this, Google created an official feature to run a more traditional Linux environment inside ChromeOS. This feature is officially called the "Linux development environment," but its project codename is Crostini.
Understanding the Crostini Architecture
When you open the Terminal app on your Chromebook, you're not just running a simple program; you're accessing a sophisticated, multi-layered environment. The primary goal of this architecture is security—it isolates the Linux environment from the core ChromeOS system, so nothing you do inside Linux can accidentally break your Chromebook.
This architecture consists of three main layers stacked on top of each other:
- ChromeOS: Your main operating system.
- A Virtual Machine (VM): A special, lightweight VM named
termina. A VM acts like a complete, separate computer running inside your actual computer. This provides a strong security boundary. - A Container: Inside the
terminaVM, there is a container namedpenguin. This is where your Linux files and applications actually live. Containers are a more lightweight form of virtualization than VMs; they isolate software without needing to emulate an entire computer.
This "container inside a VM" approach provides the best of both worlds: the strong security of a VM and the flexibility of a container.
The following diagram illustrates this layered structure.

To solidify your understanding of this security-focused design, this short video provides a great overview.
Master Linux terminal commands using Crosh and Crostini in ChromeOS
The presenter explains how Crostini uses virtual machines to create a sandboxed (isolated) and secure Linux environment within ChromeOS.
Watch the segment from this timestamp, where the sandboxed nature of the VM is explained.
Now, let's dive into the official documentation to see the reasoning behind this design.
This FAQ from the ChromeOS developers explains why they use this specific architecture.
Please read the following two sections: Start with the section "Why run VMs?" This explains why a VM is used for security instead of just a container. Next, read the section "Why run containers inside the VM?" This explains why your applications live in a container (penguin) instead of directly in the VM (termina). At the end of this section, you'll also see the official names for the default container (penguin) and VM (termina).
By now, you should have a clear picture: when you launch the Terminal, ChromeOS starts the termina VM, which in turn starts the penguin container, giving you access to a Linux command-line environment.
What Is a Linux Distribution?
We've established that your penguin container runs a Linux environment. But what does that actually mean? You'll often hear the term Linux distribution, or "distro" for short.
"Linux" itself is just the kernel. A distribution is the complete package: it takes the Linux kernel and bundles it with all the other necessary software to create a full operating system.

This "additional software" includes:
- Core Utilities: Basic command-line tools (like
lsandcdthat you already know) that allow you to interact with the system. - A Package Manager: A tool for installing, updating, and removing software. This is a critical component you'll learn about later.
- A Desktop Environment: The graphical user interface (GUI), including the desktop, windows, and menus.
- Default Applications: A pre-selected set of applications, like a web browser, text editor, and file manager.
The video below gives an excellent breakdown of these components.
This video from The Linux Experiment explains the different components that make up a Linux distribution.
Watch the following segments to understand what makes a complete Linux OS: Introduction: The initial definition gives a quick summary. The Kernel: This part explains the role of the Linux kernel as the base of the system. Core Tools: This section describes the "GNU toolchain," which provides the essential command-line utilities. Package Manager: This part explains how a package manager works to install and manage software. This concept will be very important in a future lesson.
Different distributions bundle different software and have different philosophies. Some are designed for stability and are used in servers, while others focus on providing the very latest software for desktop users.
Your penguin container runs a specific, very popular, and influential distribution called Debian. It is known for its stability and large software repositories. Many other famous distributions, like Ubuntu, are based on Debian.
Knowing you are running Debian is important because it determines the package manager you will use (apt) and some of the system's default configurations, which we will cover in upcoming lessons.
Conclusion
In this lesson, we've put your Linux environment under the microscope. You now have a solid conceptual map of how it works.
Here are the key takeaways:
- ChromeOS itself is built upon the Linux kernel but is not a traditional Linux distribution.
- The "Linux development environment" (codenamed Crostini) allows you to run a standard Linux system on your Chromebook in a secure way.
- The Crostini architecture uses a Virtual Machine (
termina) to isolate the environment from ChromeOS and a container (penguin) inside it to run your applications. - A Linux distribution is a complete operating system made from the Linux kernel plus a collection of other software like system tools and a package manager.
- Your
penguincontainer runs the Debian distribution of Linux.
Now that you understand the structure of your environment, our next step will be to explore what's inside it. In the next lesson, we will navigate the Linux filesystem and learn the purpose of its most important directories.