cros-base is a template repository for initializing and configuring a ChromeOS development environment. It provides a standardized structure, essential setup scripts, and configuration files that can be reused across multiple projects.
This repository helps automate the setup of a ChromeOS Linux environment by:
- Installing essential packages (e.g., git, git-lfs)
- Configuring global git settings (username, email)
- Providing a base structure for downstream projects
- Enabling easy updates by tracking this repo as an upstream remote
.setup/— Contains setup scripts:setup.sh: Main entry point for environment setup and repo initializationscripts/000-init.sh: Installs required packages and configures git
.github/— Contains repository configuration files:CODEOWNERS: Declares repository ownership
README.md— This documentation file
- Open the ChromeOS Linux terminal.
- Run the following command to download and execute the setup script:
bash <(curl -sS https://raw.githubusercontent.com/neilgfoster/cros-base/main/.setup/setup.sh) -o=neilgfoster -r=cros-base- Replace
-o=neilgfosterand-r=cros-basewith your organization and repository names if using as a template.
- Replace
- Clones the repository into the specified organization folder
- Pulls the latest changes
- Installs required packages
- Prompts for git configuration if not already set
- Executes all numbered scripts in
.setup/scripts/for further initialization
You can add this repository as an upstream remote in your downstream projects to easily merge updates and maintain consistency.
- Repository owner: @neilgfoster (see
.github/CODEOWNERS)
For questions or improvements, please open an issue or pull request.
In order to configure the kernel to support Binder IPC, you must manually enable it in the kernel configuration. Follow these steps:
- Open a new linux terminal
- Ensure you are in the root of the kernel source directory
- Run the following command to open the kernel configuration menu:
make LLVM=1 LLVM_IAS=1 menuconfig- Follow the menu options below to enable Binder IPC support:
Device Drivers ---> (Space to enter)
Android (in the bottom of page) ---> (Space to enter)
Android Binder devices ---> (Space to enter)
Android Binder IPC Driver ---> (Space to select)
[*] Android Binderfs filesystem ---> (Space to select)
- Save and exit the configuration menu
Once you have built the kernel and copied the image to your ChromeOS filesystem, you can configure the Linux environment to use this custom kernel.
- Press Ctrl+Alt+T to bring up a crosh window
- Shut down Linux VM:
vmc stop termina- Boot Linux VM with custom kernel
vmc start termina --enable-gpu --kernel /home/chronos/user/MyFiles/<PATH TO KERNEL IMAGE>
- If successful, your terminal in Crosh should look like:
(termina) chronos@localhost ~ $- Run these automated scripts to install Waydroid and Android image:
curl -L https://github.com/supechicken/ChromeOS-Waydroid-Installer/raw/refs/heads/main/installer/01-setup_lxd.sh | bash -eu