Shimboot
ading2210 (vk6#7391)
Collection of scripts for patching a Chrome OS RMA shim to serve as a bootloader for a standard Linux distribution. Allows booting a full desktop Debian install without unenrolling modifying firmware.
Build
- Grab a Chrome OS RMA Shim from somewhere. Most of them have already been leaked and aren't too difficult to find.
- Download a Chrome OS recovery image for your board.
- Clone this repository and cd into it.
- Run
mkdir -p data/rootfs
to create a directory to hold the rootfs. - Run
sudo ./build_rootfs.sh data/rootfs bookworm
to build the base rootfs. - Run
sudo ./patch_rootfs.sh path_to_shim path_to_reco data/rootfs
to patch the base rootfs and add any needed drivers. - Run
sudo ./build.sh image.bin path_to_shim data/rootfs
to generate a disk image at `image.bin`.
Instructions
Usage
- Obtain a shimboot image by downloading a prebuilt one or building it yourself.
- Flash the shimboot image to a USB drive or SD card. Use the Chromebook Recovery Utility or dd if you're on Linux.
- Enable developer mode on your Chromebook. If the Chromebook is enrolled, follow the instructions on the sh1mmer website (see the "Executing on Chromebook" section).
- Plug the USB into your Chromebook and enter recovery mode. It should detect the USB and run the shimboot bootloader.
- Boot into Debian and log in with the username and password that you configured earlier. The default username/password for the prebuilt images is
user/user
. - Expand the rootfs partition so that it fills up the entire disk by running
sudo growpart /dev/sdX 4
(replacingsdX
with the block device corresponding to your disk) to expand the partition, then runningsudo resize2fs /dev/sdX
to expand the filesystem.