First of all, thanks goes to Project Croissant, the swtpm maintainer, the Linux-Surface crew and the Chromebrew framework for their work which was actively used when creating this project.
The purpose of the Brunch framework is to create a generic x86_64 ChromeOS image from an official recovery image. To do so, it uses a 1GB ROOTC partition (containing a custom kernel, an initramfs, the swtpm binaries, userspace patches and config files) and a specific EFI partition to boot from it.
Warning: Brunch is not the intended way for ChromeOS to work, at some point ChromeOS could potentially become incompatible with Brunch and delete data unexpectedly (even on non-ChromeOS partitions). By installing Brunch you agree to take those risks and I cannot be held responsible for anything bad that would happen to your device including data loss. It is therefore highly recommended to only use this framework on a device which does not contain any sensitive data and to keep data synced with a cloud service.
Hardware support is highly dependent on the general Linux kernel hardware compatibility. As such only Linux supported hardware will work and the same specific kernel command line options recommended for your device should be passed through the Grub bootloader (see "Modify the Grub bootloader" section). Some features such as camera, microphone and touchpad may not work or may require troubleshooting to get working.
✔ Base Requirements:
✔ CPU Compatibility:
❌ Unsupported Hardware:
This guide has been split into seperate sections, please follow one of the links below for a guide suitable to your current operating system.
In case you run into issues while installing or using Brunch, you can find support on Discord:
Additional troubleshooting and support tips can be found at the following page: