Board:lenovo/x60/Installation

From coreboot
Revision as of 04:36, 8 August 2012 by Stuge (talk | contribs) (Replace sizeof() with actual $(stat -c %s) shell command)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

The wiki is being retired!

Documentation is now handled by the same processes we use for code: Add something to the Documentation/ directory in the coreboot repo, and it will be rendered to https://doc.coreboot.org/. Contributions welcome!

Lenovo X60, X60s, T60 and T60p flashing instructions.

These Lenovo laptops have a register that must be flipped before coreboot can be flashed. Detailed instructions follow.

You will need: the flashrom source, a small patch [WHAT PATCH? --rah], and the bucts utility.

  1. Patch flashrom to use RES1 SPI identification and spi_chip_write1 for your flash chip, as well as change the flash chip model id to fit the RES1 command. [WHAT DOES THIS MEAN? HOW DO YOU DO THIS? --rah]
  2. Run flashrom -p internal:laptop=force_I_want_a_brick -r factory.bin
    This step is IMPORTANT since the factory BIOS in your machine is tied to your particular system board (or "planar" in IBM FRU terms) with a unique ID not present in factory BIOS updates.
  3. Run dd if=coreboot.rom of=top64k.bin bs=1 skip=$[$(stat -c %s coreboot.rom) - 0x10000] count=64k
  4. Run dd if=coreboot.rom bs=1 skip=$[$(stat -c %s coreboot.rom) - 0x20000] count=64k | hexdump
    Verify that the complete range is filled with ff bytes before proceeding further. If this is not the case, the coreboot image needs to be recreated with the second-to-last 64kbyte block unused.
  5. Run dd if=top64k.bin of=coreboot.rom bs=1 seek=$[$(stat -c %s coreboot.rom) - 0x20000] count=64k conv=notrunc
  6. Run bucts 1
  7. Run flashrom -p internal:laptop=force_I_want_a_brick -w coreboot.rom
    This will be slow, and shall generate an erase error at e.g. 0x1f0000 when working with a 2 Mbyte flash chip.
  8. Power cycle the machine, now starting with coreboot
  9. Undo the flashrom patch, so that you have a stock flashrom
  10. Run bucts 0
  11. Run flashrom -p internal:laptop=force_I_want_a_brick -w coreboot.rom.
    This will successfully overwrite the entire flash chip, including the last 64k that were write protected with the factory BIOS.


These instructions were gleaned from the following mailing list threads: http://thread.gmane.org/gmane.linux.bios/69354 http://thread.gmane.org/gmane.linux.bios.flashrom/575