tce-load -i compiletc meson libusb-dev

https://download.flashrom.org/releases/flashrom-v1.2.tar.bz2

cd flashrom-v1.2

mkdir build
cd build

CC="gcc -march=armv6zk -mtune=arm1176jzf-s -mfpu=vfp -Os -pipe" CXX="g++ -march=armv6zk -mtune=arm1176jzf-s -mfpu=vfp -Os -pipe -fno-exceptions -fno-rtti" meson --prefix=/usr/local --localstatedir=/var --buildtype=plain -Dconfig_ft2232_spi=false -Dpciutils=false -Dconfig_usbblaster_spi=false ../

ninja [0m 10.61s]
sudo ninja install


The next step is to load two SPI modules so you can use the GPIO pins to flash. In my case, the Raspbian image I used did not default to enabling that device at boot, so I had to edit /boot/config.txt as root and make sure that the file contained dtparam=spi=on and then reboot.

Once I rebooted, I then could load the two spi modules:

$ sudo modprobe spi_bcm2708
$ sudo modprobe spidev

 Then I booted the Raspberry Pi, loaded the two SPI modules and was able to use flashrom to read off a copy of my existing BIOS:


sudo ./flashrom -p linux_spi:dev=/dev/spidev0.0 -r factory1.rom

