Jae's Website
Random Beeps'n Boops

Logo

x200

Things about the ThinkPad x200.

Touching the BIOS chip

Before doing anything on the BIOS chip (updating, flashing, erasing, backuping), the system needs to be booted in relaxed mode.
For that, when on the GRUB option to boot, do the e key and add iomem=relaxed at the end of the line beginning with linux.
After that, you can do CTRL+x to boot normally.

Backuping the BIOS ROM

To backup the BIOS ROM, flashrom can be used:

flasrom -p internal -r mybackup.rom -c MX25L6405D

You can now securely backup the mybackup.rom or re-flash it if needed.

Updating

Updating the CoreBoot version is very simple.

First, go on the official mirror for images and download the tar file located in the /roms/ directory (name of the file should have x200_8mb in it).
You will then see plenty of ROMs, usually, grub_x200_8mb_libgfxinit_corebootfb_usqwerty.rom is the right one.

To update the grub.conf in it, cbfstool can be used:

cbfstool grub_x200_8mb_libgfxinit_corebootfb_usqwerty.rom print
cbfstool grub_x200_8mb_libgfxinit_corebootfb_usqwerty.rom extract -n grub.cfg -f grub.cfg
cbfstool grub_x200_8mb_libgfxinit_corebootfb_usqwerty.rom remove -n grub.cfg
cbfstool grub_x200_8mb_libgfxinit_corebootfb_usqwerty.rom add -n grub.cfg -f grub.cfg -t raw

/!\ It is recommended to first test your configs in grubtest.cfg before anything else.
You can access the grubtest.cfg in the main GRUB screen.

After updating the GRUB config, you can just flash the ROM:

flashrom -p internal -w grub_x200_8mb_libgfxinit_corebootfb_usqwerty.rom -c MX25L6405D

Congrats, your install is now up-to-date.

Upgrades

Current upgrades of my particular unit:

  • Latest version of the open-source LibreBoot BIOS replacement
  • 8GB of RAM installed
  • Default hard drive replaced by a 1TB Western Digital Green 2.5" SSD

Changing the splash image

For a x200, the image must be: 1280x800 (16:10).

To change it, do the same as when changing the grub config:

cbfstool grub_x200_8mb_libgfxinit_corebootfb_usqwerty.rom print
cbfstool grub_x200_8mb_libgfxinit_corebootfb_usqwerty.rom extract -n background.png -f background.png

Now, use gimp or any other editor to change the contents of the background image.

After editing the image, you can put the new one into the ROM:

cbfstool grub_x200_8mb_libgfxinit_corebootfb_usqwerty.rom remove -n background.png
cbfstool grub_x200_8mb_libgfxinit_corebootfb_usqwerty.rom add -n background.png -f background.png -t raw

And then flash the image:

flashrom -p internal -w grub_x200_8mb_libgfxinit_corebootfb_usqwerty.rom -c MX25L6405D

/!\ Note: check that the ROM file is indeed 8MB, no more, no less.

And done!

What to do after installing an OS

Useful packages after installing an OS (ArchLinux in our case):

  • intel-gpu-tools - can be used to control the backlight more finely
  • tlp - power management
  • powerstat-git - power management