This project has been deprecated in favor of another project of mine, Breath. All future work will be done there.
Fuselage is a set of tools to run full-fledged Linux (or virtualized Windows) on (almost) any new chromebook without the need to press CTRL
D
every boot (and full drivers!).
It uses the Brunch framework to generate a ChromeOS ISO, and then gives instructions on how to flash a full UEFI bios to the chromebook.
Remember, with the full UEFI bios by MrChromebox, there's not many drivers for most peripherals. What this does is take those drivers of a ChromeOS install and gives you, essentialy, dev mode ChromeOS without actually pressing CTRL
D
on every boot. Note: in one stage of the install you will need to enter dev mode.
- Check if your Chromebook is supported by making sure it has a ✅ under your chromebook name and the
UEFI Firmware (Full ROM)
- Kabylake / Amberlake Intel CPU or an AMD Stoney Ridge CPU
- Order a SuzyQable for 15$ (this allows you to flash a custom bios) from Sparkfun or Pimoroni
Fire up a Crostini container and type in:
wget https://raw.githubusercontent.com/MilkyDeveloper/fuselage/main/brunch-setup.sh -v && sudo bash brunch-setup.sh
, enter your password and press enter.
Plug in a USB that holds a capacity of 16gb or more. After that, install the Chromebook Recovery Tool from the Chrome Web Store and click the settings cog on the top-right and select Use local image
. Navigate to the Crostini section's Downloads Folder and select chromeos.iso
. Follow the settings on-screen.
First, we need to flash MrChromebox's custom UEFI bios. As ripped from his guide here,
The install seems lengthy but it really isn't if you follow the instructions carefully
- Enter Recovery Mode: press/hold ESC and Refresh, then press Power for ~1s; release all 3 keys
- Press CTRL+D to switch to Developer Mode; confirm when prompted
- Press CTRL+D on Developer Mode splash screen to boot in Developer Mode
- On first boot, system will securely wipe all userdata (this takes a few minutes)
- Open a crosh shell: CTRL+ALT+T and then type in
shell
and press enter - Check the CCD state
sudo gsctool -a -I
The CCD state should be reported as closed - Open the CCD:
sudo gsctool -a -o
You will be prompted to assert physical presence (PP), which is a fancy way of saying to press the power button. Over the course of ~3 minutes, it will prompt you several times to press the power button. On the last time, the device will abruptly reboot and exit Developer Mode. Switch back to Developer Mode after this.
At this point, you will need to connect the Suzy-Q cable to your ChromeOS device in a loopback manner - both ends of the cable will be connected to it. The USB-C end needs to be in the debug port (usually the left rear port on devices with multiple USB-C ports) and be facing the correct way (the debug part of the cable is not reversible). The USB-A end of the cable can connect to any open port. On devices with only USB-C ports, an adapter must be used.
- Verify cable connection:
ls /dev/ttyUSB*
This command should return 3 items: ttyUSB0, ttyUSB1, and ttyUSB2
If not, then your cable is connected to the wrong port or is upside down - Change to a root shell:
sudo su -
- Disable hardware write-protect:
echo "wp false" > /dev/ttyUSB0
echo "wp false atboot" > /dev/ttyUSB0
- Enable all CCD functionality always (allows unbricking/recovery in case CCD state is reset):
echo "ccd reset factory" > /dev/ttyUSB0
- Verify Changes:
gsctool -a -I
The CCD state should be opened, and the current value for all CCD flags should be set to Y/Always. Note: the ccd command shows the current value followed by the default value in parentheses, so you can ignore the latter.
crossystem wpsw_cur
The current WP value should be 0 - Now reboot the system:
sudo reboot
Almost done! 🎉
Open the shell (CTRL
ALT
T
) and then enter shell
in.
Then, punch in:
cd; curl -LO mrchromebox.tech/firmware-util.sh
sudo install -Dt /usr/local/bin -m 755 firmware-util.sh
sudo firmware-util.sh
\
and type in the number corresponding to Install/Update UEFI (Full ROM) Firmware
. Note: If the option is greyed out you did something wrong in this guide, redo it or double-check if your device is supported.
Now all you have to do is plug in that USB. When you've booted, press F11
to enter the BIOS and change the USB Boot Order. Just be sure to wait for the USB to boot for the first time (should take 30 minutes on slow chromebooks) and enable debugging features.
Fire up crosh (CTRL
ALT
T
) and type in shell
. Now just enter the following commands:
sudo curl -Lo ~/Downloads/crouton https://goo.gl/fd3zc && sudo install -Dt /usr/local/bin -m 755 ~/Downloads/crouton && sudo crouton
(to install crouton)
and then follow the instructions from here to get a working Focal Fossa install.
Just setup that chroot as above, then it's eazy peezy lemon squeezy.
Once you've setup that stinky chroot, use Kholia's OSX-KVM project.