Building


Brunch principle

⬆️ 回到目录

The Brunch framework purpose is to create a generic x86_64 ChromeOS image from an official recovery image. To do so, it uses a 1GB ROOTC partition (containing custom kernels, an initramfs, the swtpm binaries, userspace patches and config files) and a specific EFI partition to boot from it.

The source directory is composed of:

The build script will copy the rootfs from a ChromeOS recovery image, chroot into it, and install the brunch toolchain in order to:

From there, to create the ChromeOS image, the install script will only have to:

At boot, GRUB will load the kernel present on ROOTC partition and launch the initramfs which is responsible for adding all the userspace patches to the standard ChromeOS rootfs before booting it, this process takes place:

Getting the source

Clone the branch you want to use (usually the latest) and enter the source directory:

git clone https://github.com/sebanc/brunch.git -b < ChromeOS version e.g. r103 >
cd brunch

Build instructions

Building the framework is currently only possible under Linux (should work with any distro).

To build the release package, you need to have:

The build process consist of 3 successive steps (only the last step needs to be run as root):

  1. Verify that everything worked well. You should have an "out" directory containing the brunch_< version >_.tar.gz archive.