Hacky way to build functional Coreboot with Tianocore Payload for GeminiLake-based Chromebooks -- BOOT EFI OSes on Chromebook
USAGE: Works best [and very quickly] on Gitpod
Or, if you have to use your own system.
The startup.sh script does everything for you.
git clone https://github.com/jake5253/coreboot_glk && coreboot_glk/startup.sh
...OR: If you wish to do all the work yourself, follow these steps:
- Install dependencies [debian,ubuntu,mint,etc.]:
build-essential gnat-10 flex bison libncurses5-dev wget zlib1g-dev sharutils e2fsprogs parted curl unzip ca-certificates
-
Clone Coreboot repo:
git clone https://review.coreboot.org/coreboot coreboot_glk
cd coreboot_glk
git submodule update --init --checkout
-
Build crossgcc:
make crossgcc-i386 CPUS=$(nproc)
YES. i386 IS correct -- its the only one that works NOTE: this step could take a while
- Build cbfstool
cd util/cbfstool
make
sudo make install
- Build ifdtool
cd ../ifdtool
make
sudo make install
- Use my modified crosfirmware.sh script
cd ../../..
curl -O https://raw.githubusercontent.com/jake5253/coreboot_glk/main/crosfirmware.sh
chmod +x crosfirmware.sh
bash crosfirmware.sh octopus glk
Essentially, we download the full recovery image from Google, extract the root filesystem, copy out the firmware_update_tool, run firmware_update_tool locally -- in unpack-only mode, use cbfstool and ifdtool to extract the blobs we need from the firmware files, drop the blobs into coreboot, and finally tell coreboot where to find the files
- Build Coreboot
curl -O https://raw.githubusercontent.com/jake5253/coreboot_glk/main/build.sh
chmod +x build.sh
bash build.sh