nixos-hardware/toshiba/swanky
Jörg Thalheim 03c6d15152 treewide: apply deadnix and statix 2022-12-31 11:57:44 +01:00
..
README.md toshiba/swanky: reword guide 2018-08-24 14:16:24 +03:00
default.nix treewide: apply deadnix and statix 2022-12-31 11:57:44 +01:00

README.md

Toshiba Chromebook 2 swanky

There might be a way to install NixOS without hardware modifications (via enabled developer mode and SeaBIOS boot on Ctrl+L), however I'd highly recommend replacing Google's Coreboot payload with Tianocore: that allows for proper virtualization, suspend, removes annoying developer mode screen, and generally just works much better.

These instructions carry some risk of bricking your device, since you'll be reflashing BIOS. Risk is rather low, but please for the love of god make a BIOS backup and store it someplace safe. That's the only way to reinstall ChromeOS back after this procedure (BIOS image has licensing info), and it's much easier to use a known good state to unbrick the laptop if things go wrong.

If you ever get unlucky, you can unbrick your device using Raspberry Pi, some cables and a SOIC clip, see: http://sicarul.com/how-to-un-brick-your-toshiba-chromebook-2-gandof-without-invoking-any-demons/

Enable developer mode

This will wipe all user data and settings from the laptop.

Power off, then hold ESC + Refresh (F3) and abruptly press power button. You should see "Chrome OS is missing or damaged" message. Press Ctrl+D. Press enter at the next screen, then press Ctrl+D again. Wait until the laptop boots into ChromeOS, then power it off.

Disable hardware-backed BIOS write protection

Follow the first part of the guide at: https://github.com/brendenyule/NativeToshibaCB2Guide/wiki/Remove-Write-Protect

Ignore SeaBIOS section. I also used some ductape over #5 to make sure that metallic motherboard shield would not re-enable write protection.

Flash Coreboot + Tianocore BIOS

Prepare a FAT32-formatted flash drive for BIOS backup in advance.

Go through ChromeOS installation dialogues until you have network access and are able to log into a guest session. Open Chrome, press Ctrl+Alt+T to open crosh, type in shell to get a real shell. Then, run:

$ cd ~
$ curl -LO https://mrchromebox.tech/firmware-util.sh
$ sudo bash firmware-util.sh

Choose "Install/Update Full ROM Firmware" option and follow instructions. Do not skip BIOS backup!

Documentation: https://mrchromebox.tech/#fwscript

Enable hardware-backed BIOS write protection

This is a cool security feature, so after flashing Coreboot + Tianocore BIOS and making sure new BIOS works, consider re-enabling BIOS protection. Just put in the missing screw #5.

Install NixOS

dd an image on a flash drive, partition the drive, etc. On some later models, you can swap SSD with any other 2242 M.2 SATA SSD, but on swanky, you have to live with what you have (16GB eMMC). I recommend 256MB for EFI partition, and the rest for /.