diff options
Diffstat (limited to 'docs/install/x200_external.html')
-rw-r--r-- | docs/install/x200_external.html | 271 |
1 files changed, 137 insertions, 134 deletions
diff --git a/docs/install/x200_external.html b/docs/install/x200_external.html index 84bf2edc..66f938f2 100644 --- a/docs/install/x200_external.html +++ b/docs/install/x200_external.html @@ -13,62 +13,61 @@ <body> - <header> + <div class="section"> <h1 id="pagetop">Flashing the X200 with a BeagleBone Black</h1> - <aside>Initial flashing instructions for X200.</aside> - </header> - - <p> - This guide is for those who want libreboot on their ThinkPad X200 - while they still have the original Lenovo BIOS present. This guide - can also be followed (adapted) if you brick your X200, to know how - to recover. - </p> - - <p> - The X200S is also briefly covered (image showing soldering joints, wired up - to a BBB). Note, not all X200S or X200 Tablet configurations are supported yet - (see <a href="../hcl/x200.html#x200s">../hcl/x200.html#x200s</a></b> - </p> - - <p> - Before following this section, please make sure to setup your libreboot ROM properly first. - Although ROM images are provided pre-built in libreboot, there are some modifications that - you need to make to the one you chose before flashing. (instructions referenced later in - this guide) - </p> + <p>Initial flashing instructions for X200.</p> + <p> + This guide is for those who want libreboot on their ThinkPad X200 + while they still have the original Lenovo BIOS present. This guide + can also be followed (adapted) if you brick your X200, to know how + to recover. + </p> + <p> + The X200S is also briefly covered (image showing soldering joints, wired up + to a BBB). Note, not all X200S or X200 Tablet configurations are supported yet + (see <a href="../hcl/x200.html#x200s">../hcl/x200.html#x200s</a></b> + </p> + <p> + Before following this section, please make sure to setup your libreboot ROM properly first. + Although ROM images are provided pre-built in libreboot, there are some modifications that + you need to make to the one you chose before flashing. (instructions referenced later in + this guide) + </p> - <p>Or go <a href="index.html">back to main index</a></p> + <p><a href="index.html">Back to main index</a></p> + </div> -<hr/> + <div class="section"> - <h1 id="flashchips">Flash chips</h1> - - <p> - There are two possible flash chip sizes for the X200: 4MiB - (32Mbit) or 8MiB (64Mbit). This can be identified by the type - of flash chip below the palmrest: 4MiB is SOIC-8 (8 pins), 8MiB - is SOIC-16 (16 pins). The X200S uses a WSON package and has the same - pinout as SOIC-8 (covered briefly later on in this guide) but - the chip is on the underside of the board (disassembly required). - </p> - - <p> - <a href="#pagetop">Back to top of page.</a> - </p> + <h1 id="flashchips">Flash chips</h1> + + <p> + There are two possible flash chip sizes for the X200: 4MiB + (32Mbit) or 8MiB (64Mbit). This can be identified by the type + of flash chip below the palmrest: 4MiB is SOIC-8 (8 pins), 8MiB + is SOIC-16 (16 pins). The X200S uses a WSON package and has the same + pinout as SOIC-8 (covered briefly later on in this guide) but + the chip is on the underside of the board (disassembly required). + </p> -<hr/> + <p> + <a href="#pagetop">Back to top of page.</a> + </p> + + </div> + + <div class="section"> - <h1>Initial BBB setup</h1> - - <p> - Refer to <a href="bbb_setup.html">bbb_setup.html</a> for how to - setup the BBB for flashing. - </p> + <h1>Initial BBB setup</h1> + + <p> + Refer to <a href="bbb_setup.html">bbb_setup.html</a> for how to + setup the BBB for flashing. + </p> - <p> - The following shows how to connect clip to the BBB (on the P9 header), for SOIC-16 (clip: Pomona 5252): - </p> + <p> + The following shows how to connect clip to the BBB (on the P9 header), for SOIC-16 (clip: Pomona 5252): + </p> <pre> POMONA 5252 (correlate with the BBB guide) === front (display) on your X200 ==== @@ -83,9 +82,9 @@ POMONA 5252 (correlate with the BBB guide) === back (palmrest) on your X200 === <i>This is how you will connect. Numbers refer to pin numbers on the BBB, on the plugs near the DC jack.</i> </pre> - <p> - The following shows how to connect clip to the BBB (on the P9 header), for SOIC-8 (clip: Pomona 5250): - </p> + <p> + The following shows how to connect clip to the BBB (on the P9 header), for SOIC-8 (clip: Pomona 5250): + </p> <pre> POMONA 5250 (correlate with the BBB guide) === front (display) on your X200 ==== @@ -96,34 +95,34 @@ POMONA 5250 (correlate with the BBB guide) === back (palmrest) on your X200 === <i>This is how you will connect. Numbers refer to pin numbers on the BBB, on the plugs near the DC jack.</i> </pre> - <p> - <b>On the X200S the flash chip is underneath the board, in a WSON package. - The pinout is very much the same as a SOIC-8, except you need to solder (there are no clips available). - <a href="images/x200/wson_soldered.jpg">images/x200/wson_soldered.jpg</a> (image copyright (C) 2014 <a href="mailto:sgsit@libreboot.org">Steve Shenton</a> under CC-BY-SA 4.0 - or higher, same license that this document uses) shows it wired (soldered) and - connected to a BBB.</b> - </p> - - <h2> - Connect Pomona 5252/5250 to the X200 flash chip, and dump/flash - </h2> - <p> - <a href="images/x200/x200_pomona.jpg">images/x200/x200_pomona.jpg</a> - shows everything connected. In this picture, the X200 is being flashed - with the BBB. - </p> <p> - Remove the battery from your X200, then remove all the screws on - the bottom (underside) of the machine. Then remove the keyboard and palmrest. - The flash chip is below the palm rest. Lift back the tape that goes over it, - and then connect your 5252/5250 (make sure to get it the right way round). - Then connect the 3.3v PSU wire (red one) and make sure that everything else is connected. - </p> - <p> - I did (SSH'd into the BBB):<br/> - # <b>./flashrom -p linux_spi:dev=/dev/spidev1.0,spispeed=512</b><br/> - In my case, the output was: + <b>On the X200S the flash chip is underneath the board, in a WSON package. + The pinout is very much the same as a SOIC-8, except you need to solder (there are no clips available). + <a href="images/x200/wson_soldered.jpg">images/x200/wson_soldered.jpg</a> (image copyright (C) 2014 <a href="mailto:sgsit@libreboot.org">Steve Shenton</a> under CC-BY-SA 4.0 + or higher, same license that this document uses) shows it wired (soldered) and + connected to a BBB.</b> </p> + + <h2> + Connect Pomona 5252/5250 to the X200 flash chip, and dump/flash + </h2> + <p> + <a href="images/x200/x200_pomona.jpg">images/x200/x200_pomona.jpg</a> + shows everything connected. In this picture, the X200 is being flashed + with the BBB. + </p> + <p> + Remove the battery from your X200, then remove all the screws on + the bottom (underside) of the machine. Then remove the keyboard and palmrest. + The flash chip is below the palm rest. Lift back the tape that goes over it, + and then connect your 5252/5250 (make sure to get it the right way round). + Then connect the 3.3v PSU wire (red one) and make sure that everything else is connected. + </p> + <p> + I did (SSH'd into the BBB):<br/> + # <b>./flashrom -p linux_spi:dev=/dev/spidev1.0,spispeed=512</b><br/> + In my case, the output was: + </p> <pre> flashrom v0.9.7-r1854 on Linux 3.8.13-bone47 (armv7l) flashrom is free software, get the source code at http://www.flashrom.org @@ -134,48 +133,48 @@ Found Macronix flash chip "MX25L6445E/MX25L6473E" (8192 kB, SPI) on li Multiple flash chip definitions match the detected chip(s): "MX25L6405(D)", "MX25L6406E/MX25L6436E", "MX25L6445E/MX25L6473E" Please specify which chip definition to use with the -c <chipname> option. </pre> - <p> - This is just to test that it's working. In my case, I had to define which chip to use, like so (in your case - it may be different, depending on what flash chip you have):<br/> - # <b>./flashrom -p linux_spi:dev=/dev/spidev1.0,spispeed=512 -c "MX25L6405(D)"</b> - </p> - <p> - At this point, you need to create a copy of the original lenovo firmware that is currently flashed. - This is so that you can extract the gbe (gigabit ethernet) and flash descriptor regions for use in libreboot. <b>These - are not blobs, they only contain non-functional data (configuration details, fully readable) which is fully documented in public datasheets.</b> - The descriptor will need to be modified - to disable the ME (also disable AMT) so that you can flash a ROM that excludes it. - </p> - <p> - How to backup factory.rom (change the -c option as neeed, for your flash chip):<br/> - # <b>./flashrom -p linux_spi:dev=/dev/spidev1.0,spispeed=512 -c "MX25L6405(D)" -r factory.rom</b><br/> - # <b>./flashrom -p linux_spi:dev=/dev/spidev1.0,spispeed=512 -c "MX25L6405(D)" -r factory1.rom</b><br/> - # <b>./flashrom -p linux_spi:dev=/dev/spidev1.0,spispeed=512 -c "MX25L6405(D)" -r factory2.rom</b><br/> - Now compare the 3 images:<br/> - # <b>sha512sum factory*.rom</b><br/> - If the hashes match, then just copy one of them (the factory.rom) to a safe place (on a drive connected to another machine, not - the BBB). You will need it later for part of the deblobbing. - </p> - <p> - Information about the descriptor, gbe regions and how the ME was removed can be found in the notes linked at - <a href="../hcl/x200_remove_me.html">../hcl/x200_remove_me.html</a>. Libreboot ROM images now include - the 12KiB descriptor+gbe by default, generated using ich9gen; - <b>however, do note that the MAC address in the Gbe region is generic. Follow the instructions at - <a href="../hcl/x200_remove_me.html#ich9gen">../hcl/x200_remove_me.html#ich9gen</a> and do what it says to change the MAC address - inside your X200 ROM image, before flashing it.</b> - </p> - <p> - Assuming that your libreboot ROM image is properly setup (modified descriptor plus gbe region included in the ROM), - then you can flash (assuming that the filename is <b>libreboot.rom</b>) for example I had to do:<br/> - # <b>./flashrom -p linux_spi:dev=/dev/spidev1.0,spispeed=512 -c "MX25L6405(D)" -w libreboot.rom</b> - </p> - <p> - You might see errors, but if it says <b>Verifying flash... VERIFIED</b> at the end, then it's flashed and should boot. - Test it! (boot your X200) - </p> - <p> - My output when running the command above: - </p> + <p> + This is just to test that it's working. In my case, I had to define which chip to use, like so (in your case + it may be different, depending on what flash chip you have):<br/> + # <b>./flashrom -p linux_spi:dev=/dev/spidev1.0,spispeed=512 -c "MX25L6405(D)"</b> + </p> + <p> + At this point, you need to create a copy of the original lenovo firmware that is currently flashed. + This is so that you can extract the gbe (gigabit ethernet) and flash descriptor regions for use in libreboot. <b>These + are not blobs, they only contain non-functional data (configuration details, fully readable) which is fully documented in public datasheets.</b> + The descriptor will need to be modified + to disable the ME (also disable AMT) so that you can flash a ROM that excludes it. + </p> + <p> + How to backup factory.rom (change the -c option as neeed, for your flash chip):<br/> + # <b>./flashrom -p linux_spi:dev=/dev/spidev1.0,spispeed=512 -c "MX25L6405(D)" -r factory.rom</b><br/> + # <b>./flashrom -p linux_spi:dev=/dev/spidev1.0,spispeed=512 -c "MX25L6405(D)" -r factory1.rom</b><br/> + # <b>./flashrom -p linux_spi:dev=/dev/spidev1.0,spispeed=512 -c "MX25L6405(D)" -r factory2.rom</b><br/> + Now compare the 3 images:<br/> + # <b>sha512sum factory*.rom</b><br/> + If the hashes match, then just copy one of them (the factory.rom) to a safe place (on a drive connected to another machine, not + the BBB). You will need it later for part of the deblobbing. + </p> + <p> + Information about the descriptor, gbe regions and how the ME was removed can be found in the notes linked at + <a href="../hcl/x200_remove_me.html">../hcl/x200_remove_me.html</a>. Libreboot ROM images now include + the 12KiB descriptor+gbe by default, generated using ich9gen; + <b>however, do note that the MAC address in the Gbe region is generic. Follow the instructions at + <a href="../hcl/x200_remove_me.html#ich9gen">../hcl/x200_remove_me.html#ich9gen</a> and do what it says to change the MAC address + inside your X200 ROM image, before flashing it.</b> + </p> + <p> + Assuming that your libreboot ROM image is properly setup (modified descriptor plus gbe region included in the ROM), + then you can flash (assuming that the filename is <b>libreboot.rom</b>) for example I had to do:<br/> + # <b>./flashrom -p linux_spi:dev=/dev/spidev1.0,spispeed=512 -c "MX25L6405(D)" -w libreboot.rom</b> + </p> + <p> + You might see errors, but if it says <b>Verifying flash... VERIFIED</b> at the end, then it's flashed and should boot. + Test it! (boot your X200) + </p> + <p> + My output when running the command above: + </p> <pre> flashrom v0.9.7-r1854 on Linux 3.8.13-bone47 (armv7l) flashrom is free software, get the source code at http://www.flashrom.org @@ -188,24 +187,28 @@ Reading current flash chip contents... done. Looking for another erase function. Erase/write done. Verifying flash... VERIFIED. </pre> + + <p> + <a href="#pagetop">Back to top of page.</a> + </p> - <p> - <a href="#pagetop">Back to top of page.</a> - </p> + </div> -<hr/> + <div class="section"> - <p> - Copyright © 2014, 2015 Francis Rowe <info@gluglug.org.uk><br/> - This document is released under the Creative Commons Attribution-ShareAlike 4.0 International Public License and all future versions. - A copy of the license can be found at <a href="../license.txt">../license.txt</a>. - </p> + <p> + Copyright © 2014, 2015 Francis Rowe <info@gluglug.org.uk><br/> + This document is released under the Creative Commons Attribution-ShareAlike 4.0 International Public License and all future versions. + A copy of the license can be found at <a href="../license.txt">../license.txt</a>. + </p> - <p> - This document is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See <a href="../license.txt">../license.txt</a> for more information. - </p> + <p> + This document is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See <a href="../license.txt">../license.txt</a> for more information. + </p> + + </div> </body> </html> |