# How to Flash GNU Boot
This task was completed on a Lenovo ThinkPad X200s running Trisquel GNU/Linux and Libreboot.
Install flashrom.
```
$ sudo apt install flashrom
```
Find the flash chip size.
```
caleb@hermes:~$ sudo flashrom -p internal
flashrom v1.2 on Linux 5.15.0-102-generic (x86_64)
flashrom is free software, get the source code at
https://flashrom.org
Using clock_gettime for delay loops (clk_id: 1, resolution: 1ns).
coreboot table found at 0xbfad6000.
Found chipset "Intel ICH9M-E".
Enabling flash write... OK.
Found Winbond flash chip "W25X64" (8192 kB, SPI) mapped at physical address 0x00000000ff800000.
No operations were specified.
```
"8192 kB" means we want the "8mb" ROM for GNU Boot. Let's download and extract it.
```
$ wget
https://ftp.gnu.org/gnu/gnuboot/gnuboot-0.1-rc3/roms/gnuboot-0.1-rc3_x200_8mb.tar.xz
$ tar -xvJf gnuboot-0.1-rc3_x200_8mb.tar.xz
```
Make a backup of your current ROM.
```
$ sudo flashrom -p internal:laptop=force_I_want_a_brick,boardmismatch=force -r dump.bin
```
Make another backup.
```
$ sudo flashrom -p internal:laptop=force_I_want_a_brick,boardmismatch=force -r dump2.bin
```
Make sure the dumps are the same.
```
caleb@hermes:~/Downloads/x200_8mb$ sha1sum dump.bin dump2.bin
60bb524609ac132eb116f2892160742f21ebc494 dump.bin
60bb524609ac132eb116f2892160742f21ebc494 dump2.bin
```
Flash the ROM.
```
caleb@hermes:~/Downloads/x200_8mb$ sudo flashrom -p internal:laptop=force_I_want_a_brick,boardmismatch=force -w grub_x200_8mb_libgfxinit_corebootfb_ukqwerty.rom
```
You should see the following if successful:
```
Verifying flash... VERIFIED.
```
That's it! Enjoy your 100% free/libre X200!
"How to Flash GNU Boot" was published on April 18, 2024.
=> /csh/ Home