Difference between revisions of "Board:lenovo/x60/Installation"

From coreboot
Jump to: navigation, search
(Created page with "'''Lenovo X60''', '''X60s''', '''T60''' and '''T60p''' flashing instructions. These Lenovo laptops have a register that must be flipped before Coreboot can be flashed. Detai...")
 
Line 1: Line 1:
 
'''Lenovo X60''', '''X60s''', '''T60''' and '''T60p''' flashing instructions.
 
'''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.
+
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 [http://git.stuge.se/?p=bucts.git the bucts utility].
 
You will need: the flashrom source, a small patch ''[WHAT PATCH? --rah]'', and [http://git.stuge.se/?p=bucts.git the bucts utility].
Line 7: Line 7:
 
# 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]''
 
# 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]''
 
# Run <code>flashrom -p internal:laptop=force_I_want_a_brick -r factory.bin</code>
 
# Run <code>flashrom -p internal:laptop=force_I_want_a_brick -r factory.bin</code>
#: This step is IMPORTANT since the factory BIOS in your machine is tied to your particular system board "planar in IBM FRU terms" with a unique ID not present in factory BIOS updates.
+
#: 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.
 
# Run <code>dd if=coreboot.rom of=top64k.bin bs=1 skip=$[sizeof(coreboot.rom) - 0x10000] count=64k</code> ''[sizeof() ISN'T A SHELL FUNCTION.  WHAT ARE THE PROPER SHELL COMMAND(S) TO DO THIS STEP?  --rah]''
 
# Run <code>dd if=coreboot.rom of=top64k.bin bs=1 skip=$[sizeof(coreboot.rom) - 0x10000] count=64k</code> ''[sizeof() ISN'T A SHELL FUNCTION.  WHAT ARE THE PROPER SHELL COMMAND(S) TO DO THIS STEP?  --rah]''
 
# Run <code>dd if=coreboot.rom bs=1 skip=$[sizeof(coreboot.rom) - 0x20000] count=64k | hexdump</code>
 
# Run <code>dd if=coreboot.rom bs=1 skip=$[sizeof(coreboot.rom) - 0x20000] count=64k | hexdump</code>

Revision as of 21:59, 7 August 2012

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=$[sizeof(coreboot.rom) - 0x10000] count=64k [sizeof() ISN'T A SHELL FUNCTION. WHAT ARE THE PROPER SHELL COMMAND(S) TO DO THIS STEP? --rah]
  4. Run dd if=coreboot.rom bs=1 skip=$[sizeof(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=$[sizeof(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