The shorter and thorough guide to updating Libreboot on an X200

1 - in the CLI (update the URL according to the stable relese you want):
wget -r --no-parent https://www.gnu.org/software/gnuboot/web/download.htm

2 - check the shasum/gpg https://www.gnu.org/software/gnuboot/web/download.html . It's rather straightforward, just follow the guide. For the complete CLI beginner, just type the bold text and press enter. Check the result so that what you downloaded isn't corrupted.

2) Get the MAC adress of the laptop, most likely on a sticker at the bottom of the laptop. Get the ROM image you need. For this, you need to pick it in the grub folder, knowing if it's 4, 8 or 16m (can't remember how I know that, so if anyone knows, please let us know), and pick the vesab version. Also pick the keyboard layout you want. I suggest staying classic (querty, or the classic one in your language) because of the stuff to type in GRUB at first. Better be familiar with it.
See instructions here, at "MAC adress" for the X200" https://libreboot.org/docs/install/index.html#flashrom, and here https://libreboot.org/docs/hcl/gm45_remove_me.html#ich9gen.
Basically, you generate a specific file which contains your personal MAC adress and put it back in the ROM image.

Warning: your files need to be in the same folder. The scripts like ./cbfstool etc. are in the utils compressed file. Extract them, and move your files in the same folder, and cd to that folder in the CLI for anything to happen. You should be a bit familiar with the CLI.

3 - https://libreboot.org/docs/gnulinux/encrypted_debian.html
According to this, following the way you named your volume group and logical volume, this sequence that allows you to boot by typing this in GRUB (press c to get to the right place to type this), you will have to personalize it accordingly and put it in a file called grubtest.cfg, which is inside your ROM image. just change the default menu entry 'Load Operating System' to say this inside (again, modify it according according to the way you named your volumegroup and logical volume). This means toreplace everything that's between the {} in that section by this:

cryptomount -a
set root='lvm/volumegroup-logicalvolume'
linux /vmlinuz root=/dev/mapper/volumegroup-logicalvolume cryptdevice=/dev/mapper/volumegroup-logicalvolume:root
initrd /initrd.img

So first extract grubtest.cfg from the ROM, modify it (see right above),
Then put it back inside the ROM, and flash your modified ROM.
See here for instructions, rather straightforward: https://libreboot.org/docs/gnulinux/grub_cbfs.html

When booting, it will fail because by default, it reads grub.cfg, which we haven't modified yet. get back to the GRUB menu, and select grubtest.cfg (3rd or 4th option maybe). It should work.
If it does, finish the job with the "final section" in that same page. Make sure to rename the sections grub into grubtest inside grub.cfg that was generated (just read the instructions, nothing special).

Final touch, you can remove (replacing it didn't work for me) the background image, so that you have a black background instead:
https://libreboot.org/docs/grub/index.html
Make sure that the name is the same as the one in the command. For this, use the print command to display what's inside the ROM. When you're done, flash the ROM one last time.

Voilà! Enjoy!

I can see the appeal in a modular manual (less repetitions), but it needs to be more detailed for my needs. So I just made the guide I wanted to read.

Revisions

11/07/2016 - 23:20
hack and hack
10/22/2024 - 20:18
Luck-02