Lenovo Thinkpad X230 & Debian Linux
Not quite as good as the X201s, but meh it'll do.
↑"non-volatile storage is about full"
After a while I was continually getting this in my face when booting the laptop. What it is referring to is EFI's non-volatile storage, that could be filling up with Linux crash dumps. You can get at this space from Linux and remove some. For example:
# mount -t efivarfs none /sys/firmware/efi/efivars # less /sys/firmware/efi/efivars/dump-type0-*
Then you can just rm them like regular files. For more information, have a look at this page.
↑Coreboot
Fast-forward a few years, I saw the above again, but the laptop wouldn't enter setup, or boot. So ended up flashing coreboot to resurrect it, using a Raspberry Pi and Pomona SOIC-Clip. The following guides were pretty useful:
- https://blog.noq2.net/corebooting-thinkpad-x230.html
- https://www.ericholzbach.net/blog/x230_coreboot/
- https://tylercipriani.com/blog/2016/11/13/coreboot-on-the-thinkpad-x220-with-a-raspberry-pi/
- https://github.com/bibanon/Coreboot-ThinkPads/wiki/Hardware-Flashing-with-Raspberry-P
However, I had to use rasppi-config
to enable SPI bus, the modules to load
weren't there and presumably there's a way to do this manually, meh.
Also, powering from the Pi's 3.3v line worked fine. The laptop had all sources of power removed.
On detection, there's multiple types it could be:
root@raspberrypi:/home/pi/flashrom# ./flashrom -p linux_spi:dev=/dev/spidev0.0 flashrom v0.9.9-r1954 on Linux 4.4.34+ (armv6l) flashrom is free software, get the source code at https://flashrom.org Calibrating delay loop... OK. Found Macronix flash chip "MX25L3205(A)" (4096 kB, SPI) on linux_spi. Found Macronix flash chip "MX25L3205D/MX25L3208D" (4096 kB, SPI) on linux_spi. Found Macronix flash chip "MX25L3206E/MX25L3208E" (4096 kB, SPI) on linux_spi. Found Macronix flash chip "MX25L3273E" (4096 kB, SPI) on linux_spi. Multiple flash chip definitions match the detected chip(s): "MX25L3205(A)", "MX25L3205D/MX25L3208D", "MX25L3206E/MX25L3208E", "MX25L3273E" Please specify which chip definition to use with the -c <chipname> option.
https://blog.noq2.net/corebooting-thinkpad-x230.html suggests it's a MX25L3206E, so "MX25L3206E/MX25L3208E" is what I went for.
root@raspberrypi:/home/pi/flashrom# ./flashrom -c "MX25L3206E/MX25L3208E" -p linux_spi:dev=/dev/spidev0.0 -w x230-4M.rom flashrom v0.9.9-r1954 on Linux 4.4.34+ (armv6l) flashrom is free software, get the source code at https://flashrom.org
Not perfected the .config
yet, but the laptop boots again which is all I
care about for now.