libreboot

my branch of libreboot
git clone git://git.hazbo.co.uk/libreboot.git
Log | Files | Refs | README

x60tablet_unbrick.md (4752B)


      1 ---
      2 title: ThinkPad X60 Tablet Recovery guide
      3 x-toc-enable: true
      4 ...
      5 
      6 This section documents how to recover from a bad flash that prevents
      7 your ThinkPad X60 Tablet from booting.
      8 
      9 Brick type 1: bucts not reset. {#bucts_brick}
     10 ==============================
     11 
     12 You still have Lenovo BIOS, or you had libreboot running and you flashed
     13 another ROM; and you had bucts 1 set and the ROM wasn't dd'd.\* or if
     14 Lenovo BIOS was present and libreboot wasn't flashed.\
     15 
     16 In this case, unbricking is easy: reset BUC.TS to 0 by removing that
     17 yellow cmos coin (it's a battery) and putting it back after a minute or
     18 two:\
     19 ![](../images/x60t_unbrick/0008.JPG)\
     20 
     21 \*Those dd commands should be applied to all newly compiled X60 ROM
     22 images (the ROM images in libreboot binary archives already have this
     23 applied!):
     24 
     25     dd if=coreboot.rom of=top64k.bin bs=1 skip=\$\[\$(stat -c %s coreboot.rom) - 0x10000\] count=64k
     26     dd if=coreboot.rom bs=1 skip=\$\[\$(stat -c %s coreboot.rom) - 0x20000\] count=64k | hexdump
     27     dd if=top64k.bin of=coreboot.rom bs=1 seek=\$\[\$(stat -c %s coreboot.rom) - 0x20000\] count=64k conv=notrunc
     28 
     29 (doing this makes the ROM suitable for use when flashing a system that
     30 still has Lenovo BIOS running, using those instructions:
     31 <http://www.coreboot.org/Board:lenovo/x60/Installation>.
     32 
     33 bad rom (or user error), system won't boot {#recovery}
     34 ===========================================
     35 
     36 In this scenario, you compiled a ROM that had an incorrect
     37 configuration, or there is an actual bug preventing your system from
     38 booting. Or, maybe, you set BUC.TS to 0 and shut down after first flash
     39 while Lenovo BIOS was running. In any case, your system is bricked and
     40 will not boot at all.
     41 
     42 "Unbricking" means flashing a known-good (working) ROM. The problem:
     43 you can't boot the system, making this difficult. In this situation,
     44 external hardware (see hardware requirements above) is needed which can
     45 flash the SPI chip (where libreboot resides).
     46 
     47 ![](../images/x60t_unbrick/0000.JPG)
     48 
     49 Remove those screws:\
     50 ![](../images/x60t_unbrick/0001.JPG)
     51 
     52 Remove the HDD:\
     53 ![](../images/x60t_unbrick/0002.JPG)
     54 
     55 Push keyboard forward to loosen it:\
     56 ![](../images/x60t_unbrick/0003.JPG)
     57 
     58 Lift:\
     59 ![](../images/x60t_unbrick/0004.JPG)
     60 
     61 Remove those:\
     62 ![](../images/x60t_unbrick/0005.JPG)
     63 
     64 ![](../images/x60t_unbrick/0006.JPG)
     65 
     66 Also remove that (marked) and unroute the antenna cables:\
     67 ![](../images/x60t_unbrick/0007.JPG)
     68 
     69 For some X60T laptops, you have to unroute those too:\
     70 ![](../images/x60t_unbrick/0010.JPG)
     71 
     72 Remove the LCD extend board screws. Also remove those screws (see blue
     73 marks) and remove/unroute the cables and remove the metal plate:\
     74 ![](../images/x60t_unbrick/0008.JPG)
     75 
     76 Remove that screw and then remove the board:\
     77 ![](../images/x60t_unbrick/0009.JPG)
     78 
     79 Now wire up the BBB and the Pomona with your PSU.\
     80 Refer to [bbb\_setup.md](bbb_setup.md) for how to setup the BBB for
     81 flashing.\
     82 *Note, the guide mentions a 3.3v DC PSU but you don't need this on the
     83 X60 Tablet: if you don't have or don't want to use an external PSU,
     84 then make sure not to connect the 3.3v leads mentioned in the guide;
     85 instead, connect the AC adapter (the one that normally charges your
     86 battery) so that the board has power (but don't boot it up)*
     87 ![](../images/x60t_unbrick/0011.JPG)\
     88 Correlate the following with the BBB guide linked above:
     89 
     90     POMONA 5250:
     91     ===  golden finger and wifi switch ====
     92      18              -       - 1
     93      22              -       - NC                    ---------- audio jacks are on this end
     94      NC              -       - 21
     95      3.3V (PSU)      -       - 17 - this is pin 1 on the flash chip
     96     ===  CPU fan ===
     97     This is how you will connect. Numbers refer to pin numbers on the BBB, on the plugs near the DC jack.
     98 
     99 Connecting the BBB and pomona (in this image, an external 3.3v DC PSU
    100 was used):\
    101 ![](images/x60/th_bbb_flashing.jpg)
    102 
    103 Flashrom binaries for ARM (tested on a BBB) are distributed in
    104 libreboot\_util. Alternatively, libreboot also distributes flashrom
    105 source code which can be built.
    106 
    107 SSH'd into the BBB:
    108 
    109     # ./flashrom -p linux_spi:dev=/dev/spidev1.0,spispeed=512 -w
    110 
    111 yourrom.rom
    112 
    113 It should be `Verifying flash... VERIFIED` at the end. If flashrom
    114 complains about multiple flash chip definitions detected, then choose
    115 one of them following the instructions in the output.
    116 
    117 Reverse the steps to re-assemble your system.
    118 
    119 Copyright © 2014, 2015 Leah Rowe <info@minifree.org>\
    120 
    121 Permission is granted to copy, distribute and/or modify this document
    122 under the terms of the GNU Free Documentation License Version 1.3 or any later
    123 version published by the Free Software Foundation
    124 with no Invariant Sections, no Front Cover Texts, and no Back Cover Texts.
    125 A copy of this license is found in [../fdl-1.3.md](../fdl-1.3.md)