How to Virtualize Chrome OS Flex on a VM (QEMU/KVM)
chrome os flex chrome os vm howto linux tutorials linux virtual machine qemu qemu kvm virtualizationVirtualizing Chrome OS Flex on Linux is a great way to experience Google's cloud-first OS without touching your hardware.
Hi all, welcome to my blog, MusaBase! In this comprehensive walkthrough, I'll guide you through the virtualization of Chrome OS Flex using QEMU (Quick Emulator) on Linux. I am using Arch Linux (btw), but you can achieve these same results on almost any Linux distribution. In this guide you'll learn:
- Configuring a QEMU Virtual Machine for Chrome OS Compatibility
- Creating and Attaching Virtual Storage Disks
- Booting the Chrome OS Flex Installer in a Virtual Environment
- Installation of Chrome OS Flex on a VM
- Booting Installed Chrome OS Flex inside VM
Setting this up might seem challenging, but I assure you that if you follow each step in this walkthrough, you'll have a fully functional virtual machine with Chrome OS Flex installed and running by the end. Let’s dive in!
Limitations and Caveats
Chrome OS Flex is designed to be installed directly onto physical hardware, specifically, PCs and Macs, to revitalize older devices. Although it can be run in virtual machines, this is not its intended use case, and Google does not officially provide full support for it in a virtual environment. Furthermore, there are additional limitations with this setup: for example, you cannot run a Linux development environment within it because doing so requires nested virtualization, and successful operation is not guaranteed.
Prerequisites for Running Chrome OS Flex on a Virtual Machine
Running Chrome OS Flex on a virtual machine is straightforward, though the process differs from installing it on physical hardware. Instead of booting from a USB drive, you'll need to create a virtual drive (for installing Chrome OS Flex) and configure your VM to boot from the Chrome OS Flex recovery image. This approach allows you to test and get familiar with Chrome OS Flex in a safe virtual environment before considering any physical deployment.
Before proceeding, ensure your PC meets the following hardware requirements:
- Processor: Intel or AMD x86-64-bit compatible.
- RAM: 8GB or 16GB.
- Hard Drive: Allocate at least 16GB for Chrome OS Flex, plus additional space based on your needs.
- Operating System: Any Linux distribution to run your virtualization software.
- 🖥️ Virtual Machine Tool: QEMU.
Step 1: Installing QEMU and Core Virtualization Packages
For detailed, distribution-specific instructions on installing QEMU and its virtualization dependencies, please see my How to Install QEMU on Linux guide. Once QEMU is set up, return here to continue configuring and running Chrome OS Flex in your virtual machine environment.
Step 2: Acquire Chrome OS Flex Image
Now that you've set up your virtual emulator, it's time to download the Chrome OS Flex image for QEMU. Note that Chrome OS Flex is not distributed as a conventional .ISO file. Instead, Google provides a recovery image in .bin format, compressed within a .zip file.
To download ChromeOS Flex:- Option 1:
- Visit Google's Official Chrome OS Flex Page. Fill out the form and follow Google's guide to obtain the image.
- Option 2 (Recommended):
- Copy & Paste the link below into your browser for a direct download, bypassing Google's registration form.
https://dl.google.com/chromeos-flex/images/latest.bin.zip
Once the download is complete, you will have a .zip file, usually named similarly to this:
"chromeos_16002.51.0_reven_recovery_stable-channel_mp-v6.bin.zip"
Extract the Image:
Since QEMU needs the raw image, you must extract the .bin file from the .zip archive. You can use a graphical tool like Ark or any utility that supports ZIP extraction.
- Installation (For Arch-based distributions):
sudo pacman -S ark
After extracting, you'll see a large .bin file. For easier management in your QEMU commands, I recommend renaming this file to something simple, like chromeosflex.bin.
Step 3: Installing Chrome OS Flex On a Virtual Machine
Now that your QEMU virtual emulator is set up, configured, and you've downloaded and extracted the Chrome OS Flex image, it's time to install Chrome OS Flex on your virtual machine. First, create a virtual storage device where the OS will be installed.
3.1: Creating a Virtual Storage Drive
- Open your terminal.
- (Optional) If you want the virtual drive created in a specific directory, navigate there using the cd command. By default, the drive will be created in your home directory.
- I'm going to create my virtual drive in .qcow2 format.
- To create the virtual drive, type:
qemu-img create -f qcow2 chromeosflex.qcow2 16G
Note: Make sure that your chromeosflex.bin file and chromeos.qcow2 (virtual drive) are in the same directory. Like this:
3.2: Booting into Chrome OS Flex Image
Next, attach your drives to the VM.
- The first drive to be attached will be the chromeosflex.bin file (the installer, which functions like a bootable USB).
- The second drive is the virtual storage drive (chromeosflex.qcow2) where the OS will be installed.
Note: Confirm you're in the same directory as both files; use cd if necessary.
- To launch QEMU with chromeosflex.bin and chromeosflex.qcow2, type:
qemu-system-x86_64 -drive format=raw,file=chromeosflex.bin -drive format=qcow2,file=chromeosflex.qcow2 -m 8G -smp 2 -enable-kvm -display "gtk,gl=on,show-cursor=on" -device virtio-vga-gl -usb -device usb-tablet
QEMU Flags Explained:
Once QEMU starts, the Chrome OS Flex installer will load after about 1-2 minutes. You can also use Chrome OS Flex in guest mode by clicking the Browse as Guest button. However, note that guest mode won't save changes between sessions.
3.3: Installing Chrome OS Flex
To install the OS:- When the installer loads, click the Install Chrome OS Flex button (or follow the on-screen prompts to choose between trying and installing the OS). The installer will warn you that the installation will erase data on the hard drive. Since this is a virtual drive, click Install to proceed.
- After installation, the emulator will shut down.
3.4: Booting into Freshly Installed Chrome OS Flex
- Now that Chrome OS Flex is successfully installed in the virtual machine, it's time to boot into the freshly installed operating system from the virtual drive.
- To do this, simply modify the previous QEMU run command by removing the installer drive option -drive format=raw,file=chromeosflex.bin.
- Use the following command to boot directly from the virtual storage drive:
qemu-system-x86_64 -drive format=qcow2,file=chromeosflex.qcow2 -m 8G -smp 2 -enable-kvm -display "gtk,gl=on,show-cursor=on" -device virtio-vga-gl -usb -device usb-tablet
- Press Enter.
And here you go! Now you have Chrome OS Flex running in your virtual machine. With save state support, every time you shut down QEMU and restart Chrome OS Flex, it picks up right where you left off. Enjoy exploring your new virtual machine environment.
🎉 Congratulations, your Chrome OS Flex setup is complete!
You have successfully virtualized Chrome OS Flex. This is a great way to explore Google's cloud-first ecosystem securely within your Linux host.
If this guide helped you, subscribe for more step-by-step tutorials.
101 out, I’ll see you in the next one! 🚀








