From 4c3d46238022f0c9955ae7e8b10c9f1716dd871a Mon Sep 17 00:00:00 2001 From: Francis Rowe Date: Wed, 04 Feb 2015 04:14:49 -0500 Subject: Documentation: implement theme, drastically improve readability --- (limited to 'docs/install') diff --git a/docs/install/bbb_setup.html b/docs/install/bbb_setup.html index 3ccebc7..ee2326f 100644 --- a/docs/install/bbb_setup.html +++ b/docs/install/bbb_setup.html @@ -13,70 +13,69 @@ -
+

Setup the BeagleBone Black as an SPI flashrom programmer

- -
+

How to use the BBB as an external flashrom programmer, for reading/writing an SPI flash chip.

+

Back to previous index

+ -

Or go back to main index

+
-
- -

Hardware requirements

- -

- Shopping list (pictures of this hardware is shown later): -

- - -

- Back to top of page. -

+

Hardware requirements

+ +

+ Shopping list (pictures of this hardware is shown later): +

+ + +

+ Back to top of page. +

+ +
-
+
-

Configuring the BeagleBone Black

- -

Setting up the 3.3V DC PSU

+

Setting up the 3.3V DC PSU

With my PSU, first I had wire up the mains power cable. Any clover or kettle lead will do. Cut the end off (not the one that goes in the wall, but the kettle/clover connector). @@ -107,7 +106,12 @@ If you are using a different PSU, then the steps will change from those above. Anyway, once you are satisfied, continue reading...

-

Setting up the BBB

+ +
+ +
+ +

Setting up the BBB

Your BBB will have an sshd with no password on root. Find it's IP address (it will use DHCP by default) and set a root password. The steps below @@ -265,9 +269,14 @@ Note: flashrom can never write if the flash chip isn't found automatically. This means that it's working (the clip isn't connected to any flash chip, so the error is fine).

-

+ +

+ +
+ +

Connecting the Pomona 5250/5252 -

+

Use this image for reference when connecting the pomona to the BBB: http://beagleboard.org/Support/bone101#headers @@ -326,20 +335,24 @@ Note: flashrom can never write if the flash chip isn't found automatically.

Back to top of page.

+ +
-
+
-

- Copyright © 2014 Francis Rowe <info@gluglug.org.uk>
- 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 ../license.txt. -

+

+ Copyright © 2014, 2015 Francis Rowe <info@gluglug.org.uk>
+ 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 ../license.txt. +

-

- 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 ../license.txt for more information. -

+

+ 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 ../license.txt for more information. +

+ +
diff --git a/docs/install/index.html b/docs/install/index.html index 313c724..60d9a73 100644 --- a/docs/install/index.html +++ b/docs/install/index.html @@ -13,17 +13,25 @@ -

Installing libreboot

-

- This section relates to installing libreboot on supported targets. -

-

- Or Back to main index. -

+
+ +

Installing libreboot

+

+ This section relates to installing libreboot on supported targets. +

+

+ Back to previous index +

+ +
+ +
+

Setting up external programmers

+

Installing libreboot (software)

-
- -

QEMU

- -

- You don't really do anything here, just run (example):
- $ qemu-system-i386 -M pc -m 512 -bios bin/qemu_i440fx_piix4/qemu_i440fx_piix4_ukdvorak_vesafb.rom -serial stdio
- $ qemu-system-i386 -M q35 -m 512 -bios bin/qemu_q35_ich9/qemu_q35_ich9_ukdvorak_vesafb.rom -serial stdio -

- -
+
+ +
-

Recommended ROMs to flash

- -

- List of directories corresponding to each board: -

- - -

These images use coreboot text-mode graphics:

- -

These images use coreboot framebuffer graphics:

- +

QEMU

+ +

+ You don't really do anything here, just run (example):
+ $ qemu-system-i386 -M pc -m 512 -bios bin/qemu_i440fx_piix4/qemu_i440fx_piix4_ukdvorak_vesafb.rom -serial stdio
+ $ qemu-system-i386 -M q35 -m 512 -bios bin/qemu_q35_ich9/qemu_q35_ich9_ukdvorak_vesafb.rom -serial stdio +

+

+ Back to top of page. +

-

- The boards for boardname in the examples above can be found by the names of the directories - in ./bin/ or ./resources/libreboot/config/. -

- -

- _txtmode images come with a working MemTest86+ and GRUB Invaders, both of which require text-mode. - _vesafb images are recommended in most cases. -

- -

- This will give you your native keyboard layout inside GRUB. The preferences in your OS are not affected, it just makes using - the GRUB command line easier (if you ever need to do that). - ../grub/index.html#grub_keyboard shows you how this was done. If your native keyboard layout - differs, you can adapt those notes and hack the 'build' script for your needs. -

- -

Back to top of page.

- -
+
-

X60/X60S/X60T/T60: How to flash the ROMs onto your machine (if running Lenovo BIOS firmware).

+
-
+

Recommended ROMs to flash

- Hover over the next paragraph to make it black. + List of directories corresponding to each board:

-

- Following this guide means simply flashing a libreboot ROM. This guide will not (directly) teach you how to make a backup (dump) of the original Lenovo BIOS - because to do so would be to explicitly endorse proprietary software. However, for the purposes of reverse engineering it can be useful - to have a backup. Each copy of the original Lenovo BIOS is tied to the specific machine that it came from; it will not run - on any other machine, even if it's the same type of machine as yours. What this means is that, effectively, you can back it up now (so that you can - re-flash it later if you want to run the original Lenovo BIOS again) or lose it forever. The X60/T60 installation - guide on the coreboot wiki will show you how to do this: - http://www.coreboot.org/Board:lenovo/x60/Installation.
- Do not make this decision lightly! This is your last and only chance. +

    +
  • ThinkPad X60, X60s and X60 Tablet: bin/x60/
  • +
  • ThinkPad T60: bin/t60/ (note, see ../hcl/index.html#supported_t60_list)
  • +
  • ThinkPad X200: bin/x200_8mb/ (8MiB flash chip) or bin/x200_4mb (4MiB flash chip) (see ../hcl/x200.html)
  • +
  • Apple MacBook2,1: bin/macbook21/
  • +
  • Apple MacBook1,1: bin/macbook21/ (it's not a typo; the same ROMs work)
  • +
+ +

These images use coreboot text-mode graphics:

+
    +
  • US Qwerty keyboard: boardname_usqwerty_txtmode.rom
  • +
  • UK Qwerty keyboard: boardname_ukqwerty_txtmode.rom
  • +
  • US Dvorak keyboard: boardname_usdvorak_txtmode.rom
  • +
  • UK Dvorak keyboard: boardname_ukdvorak_txtmode.rom
  • +
  • French Azerty keyboard: boardname_frazerty_txtmode.rom
  • +
  • French Dvorak (BEPO): boardname_frdvbepo_txtmode.rom
  • +
  • Italian Qwerty keyboard: boardname_itqwerty_txtmode.rom
  • +
  • Swedish Qwerty keyboard: boardname_svenska_txtmode.rom
  • +
+

These images use coreboot framebuffer graphics:

+
    +
  • US Qwerty keyboard: boardname_usqwerty_vesafb.rom
  • +
  • UK Qwerty keyboard: boardname_ukqwerty_vesafb.rom
  • +
  • US Dvorak keyboard: boardname_usdvorak_vesafb.rom
  • +
  • UK Dvorak keyboard: boardname_ukdvorak_vesafb.rom
  • +
  • French Azerty keyboard: boardname_frazerty_vesafb.rom
  • +
  • French Dvorak (BEPO): boardname_frdvbepo_vesafb.rom
  • +
  • Italian Qwerty keyboard: boardname_itqwerty_vesafb.rom
  • +
  • Swedish Qwerty keyboard: boardname_svenska_vesafb.rom
  • +
+ +

+ The boards for boardname in the examples above can be found by the names of the directories + in ./bin/ or ./resources/libreboot/config/.

- The following is for the libreboot image and *not* the factory bios dump: + _txtmode images come with a working MemTest86+ and GRUB Invaders, both of which require text-mode. + _vesafb images are recommended in most cases.

+

- Check the last two 64K regions in your ROM file (libreboot.rom in this example):
- $ dd if=libreboot.rom of=top64k.bin bs=1 skip=$[$(stat -c %s libreboot.rom) - 0x10000] count=64k
- $ dd if=libreboot.rom of=lower64k.bin bs=1 skip=$[$(stat -c %s libreboot.rom) - 0x20000] count=64k
- $ sha512sum lower64k.bin top64k.bin
- Make *sure* that they match before you continue. The ROMs included pre-compiled in libreboot should already match. - If they don't match, then do this (based on those instructions from coreboot wiki):
- $ dd if=top64k.bin of=libreboot.rom bs=1 seek=$[$(stat -c %s libreboot.rom) - 0x20000] count=64k conv=notrunc
- After this, the ROM will be safe to flash. Explanation is provided in ../git/index.html#build_bucts. + This will give you your native keyboard layout inside GRUB. The preferences in your OS are not affected, it just makes using + the GRUB command line easier (if you ever need to do that). + ../grub/index.html#grub_keyboard shows you how this was done. If your native keyboard layout + differs, you can adapt those notes and hack the 'build' script for your needs.

-
- -

This is for the ThinkPad X60 and T60 while running Lenovo BIOS. If you already have coreboot or libreboot running, - then go to #flashrom instead!

- -

If you are flashing a Lenovo ThinkPad T60, be sure to read ../hcl/index.html#supported_t60_list

+

Back to top of page.

+ +
+ +
+ +

X60/X60S/X60T/T60: How to flash the ROMs onto your machine (if running Lenovo BIOS firmware).

+ +
+ +

+ Hover over the next paragraph to make it black. +

+

+ Following this guide means simply flashing a libreboot ROM. This guide will not (directly) teach you how to make a backup (dump) of the original Lenovo BIOS + because to do so would be to explicitly endorse proprietary software. However, for the purposes of reverse engineering it can be useful + to have a backup. Each copy of the original Lenovo BIOS is tied to the specific machine that it came from; it will not run + on any other machine, even if it's the same type of machine as yours. What this means is that, effectively, you can back it up now (so that you can + re-flash it later if you want to run the original Lenovo BIOS again) or lose it forever. The X60/T60 installation + guide on the coreboot wiki will show you how to do this: + http://www.coreboot.org/Board:lenovo/x60/Installation.
+ Do not make this decision lightly! This is your last and only chance. +

+ +

+ The following is for the libreboot image and *not* the factory bios dump: +

+

+ Check the last two 64K regions in your ROM file (libreboot.rom in this example):
+ $ dd if=libreboot.rom of=top64k.bin bs=1 skip=$[$(stat -c %s libreboot.rom) - 0x10000] count=64k
+ $ dd if=libreboot.rom of=lower64k.bin bs=1 skip=$[$(stat -c %s libreboot.rom) - 0x20000] count=64k
+ $ sha512sum lower64k.bin top64k.bin
+ Make *sure* that they match before you continue. The ROMs included pre-compiled in libreboot should already match. + If they don't match, then do this (based on those instructions from coreboot wiki):
+ $ dd if=top64k.bin of=libreboot.rom bs=1 seek=$[$(stat -c %s libreboot.rom) - 0x20000] count=64k conv=notrunc
+ After this, the ROM will be safe to flash. Explanation is provided in ../git/index.html#build_bucts. +

+ +
+ +

This is for the ThinkPad X60 and T60 while running Lenovo BIOS. If you already have coreboot or libreboot running, + then go to #flashrom instead!

+ +

If you are flashing a Lenovo ThinkPad T60, be sure to read ../hcl/index.html#supported_t60_list

+ +
+

+ If you are using libreboot_src or git, then make sure that you built the sources first (see ../git/index.html#build). +

+
+ +

"YOURBOARD/YOURROM" should be replaced with what is correct as per #rom. Alternatively + you may be using your own custom ROM. Adapt.

-

- If you are using libreboot_src or git, then make sure that you built the sources first (see ../git/index.html#build). + Run the script:
+ $ sudo ./lenovobios_firstflash bin/YOURBOARD/YOURROM.

-
-

"YOURBOARD/YOURROM" should be replaced with what is correct as per #rom. Alternatively - you may be using your own custom ROM. Adapt.

+
-

- Run the script:
- $ sudo ./lenovobios_firstflash bin/YOURBOARD/YOURROM. -

+

+ You should see within the output the following:
+ "Updated BUC.TS=1 - 64kb address ranges at 0xFFFE0000 and 0xFFFF0000 are swapped". +

-
+

+ You should also see within the output the following:
+ "Flash chip is in an unknown state", "FAILED" and "DO NOT SHUTDOWN OR REBOOT"
+ Seeing this means that the operation was a resounding success! DON'T PANIC. +

-

- You should see within the output the following:
- "Updated BUC.TS=1 - 64kb address ranges at 0xFFFE0000 and 0xFFFF0000 are swapped". -

+

+ See this link for more details: + http://thread.gmane.org/gmane.linux.bios.flashrom/575. +

-

- You should also see within the output the following:
- "Flash chip is in an unknown state", "FAILED" and "DO NOT SHUTDOWN OR REBOOT"
- Seeing this means that the operation was a resounding success! DON'T PANIC. -

+

+ If the above is what you see, then SHUT DOWN. Wait a few seconds, and then boot; libreboot is running, but there is a 2nd procedure *needed* (see below). +

+ +

- See this link for more details: - http://thread.gmane.org/gmane.linux.bios.flashrom/575. + + If you boot and you see nothing, try turning up the backlight (Fn+Home). +

- If the above is what you see, then SHUT DOWN. Wait a few seconds, and then boot; libreboot is running, but there is a 2nd procedure *needed* (see below). + When you have booted up again:
+ $ sudo ./lenovobios_secondflash bin/YOURBOARD/YOURROM

-
+
-

- - If you boot and you see nothing, try turning up the backlight (Fn+Home). - -

+

+ You should see within the output the following:
+ "Updated BUC.TS=0 - 128kb address range 0xFFFE0000-0xFFFFFFFF is untranslated" +

-

- When you have booted up again:
- $ sudo ./lenovobios_secondflash bin/YOURBOARD/YOURROM -

+

+ You should also see within the output the following:
+ "Verifying flash... VERIFIED." +

-
+

Shut down again, wait a few seconds, and then boot.

-

- You should see within the output the following:
- "Updated BUC.TS=0 - 128kb address range 0xFFFE0000-0xFFFFFFFF is untranslated" -

+

- You should also see within the output the following:
- "Verifying flash... VERIFIED." + Some thinkpads come with WWAN cards installed, along with sim cards. These use non-free firmware and should be removed. + You might also want to remove bluetooth. See ../security/x60_security.html and + ../security/t60_security.html.

-

Shut down again, wait a few seconds, and then boot.

+

Back to top of page.

+ +
-
+
-

- Some thinkpads come with WWAN cards installed, along with sim cards. These use non-free firmware and should be removed. - You might also want to remove bluetooth. See ../security/x60_security.html and - ../security/t60_security.html. -

+

macbook21: How to flash your ROM (if running Apple EFI firmware)

-

Back to top of page.

+
-
+

+ Hover over the next paragraph to make it black. +

+

+ Following this guide means simply flashing a libreboot ROM. This guide will not (directly) teach you how to make a backup (dump) of the original Apple EFI firmware + because to do so would be to explicitly endorse proprietary software. However, for the purposes of reverse engineering it can be useful + to have a backup. Each copy of the original Apple EFI is (believed, but unproven to be) tied to the specific machine that it came from; it will not (as is believed) run + on any other machine, even if it's the same type of machine as yours. What this means is that, effectively, you can back it up now (so that you can + re-flash it later if you want to run the original Apple EFI firmware again) or lose it forever. The macbook21 installation + guide on the coreboot wiki will show you how to do this: + http://www.coreboot.org/Board:apple/macbook21.
+ Do not make this decision lightly! This is (very likely) your last and only chance. +

-

macbook21: How to flash your ROM (if running Apple EFI firmware)

+

+ (this theory is untested at the time of writing) +

-
+

+ Note: If you have a MacBook1,1 then these instructions will not work. See ../hcl/index.html#macbook11 for MacBook1,1 flashing instructions. +

+ +

- Hover over the next paragraph to make it black. + + This is for the MacBook2,1 while running Apple EFI firmware. If you already have + coreboot or libreboot running, then go to #flashrom instead! +

-

- Following this guide means simply flashing a libreboot ROM. This guide will not (directly) teach you how to make a backup (dump) of the original Apple EFI firmware - because to do so would be to explicitly endorse proprietary software. However, for the purposes of reverse engineering it can be useful - to have a backup. Each copy of the original Apple EFI is (believed, but unproven to be) tied to the specific machine that it came from; it will not (as is believed) run - on any other machine, even if it's the same type of machine as yours. What this means is that, effectively, you can back it up now (so that you can - re-flash it later if you want to run the original Apple EFI firmware again) or lose it forever. The macbook21 installation - guide on the coreboot wiki will show you how to do this: - http://www.coreboot.org/Board:apple/macbook21.
- Do not make this decision lightly! This is (very likely) your last and only chance. + +

+ Be sure to read the information in ../hcl/index.html#macbook21.

+
+

+ If you are using libreboot_src or git, then make sure that you built the sources first (see ../git/index.html#build). +

+
+

- (this theory is untested at the time of writing) + Look at #rom to see which ROM is suitable for your machine. Alternatively you may be using your own + custom ROM. Adapt.

- Note: If you have a MacBook1,1 then these instructions will not work. See ../hcl/index.html#macbook11 for MacBook1,1 flashing instructions. + Flashing is actually easy (compared to X60/T60).
+ $ sudo flashrom -p internal:laptop=force_I_want_a_brick -w bin/YOURBOARD/YOURROM

-
+

+ Alternatively, a script is provided which does the same thing:
+ $ sudo ./macbook21_firstflash bin/YOURBOARD/YOURROM +

-

- - This is for the MacBook2,1 while running Apple EFI firmware. If you already have - coreboot or libreboot running, then go to #flashrom instead! - -

+
-

- Be sure to read the information in ../hcl/index.html#macbook21. -

+

+ You should also see within the output the following:
+ "Verifying flash... VERIFIED." +

-
-

- If you are using libreboot_src or git, then make sure that you built the sources first (see ../git/index.html#build). -

-
+

+ If you see that, great! Shut down now (power off). Wait a few seconds and then boot! +

-

- Look at #rom to see which ROM is suitable for your machine. Alternatively you may be using your own - custom ROM. Adapt. -

+

+ + If you boot and you see nothing, try turning up the backlight (F2 for macbook21). + +

-

- Flashing is actually easy (compared to X60/T60).
- $ sudo flashrom -p internal:laptop=force_I_want_a_brick -w bin/YOURBOARD/YOURROM -

-

- Alternatively, a script is provided which does the same thing:
- $ sudo ./macbook21_firstflash bin/YOURBOARD/YOURROM -

+
+ +

Back to top of page.

+ +
-
+
+ +

X60/X60S/X60T/T60/X200/macbook21: How to flash the ROMs onto your machine (if running libreboot or coreboot already)

- You should also see within the output the following:
- "Verifying flash... VERIFIED." + + These instructions work for the Lenovo ThinkPad X60/X60S/X60T/T60 and Apple MacBook2,1. +

-

- If you see that, great! Shut down now (power off). Wait a few seconds and then boot! + + This assumes that you already have coreboot or libreboot running. +

-

- If you boot and you see nothing, try turning up the backlight (F2 for macbook21). + If you have Lenovo BIOS running (X60/X60S/X60T/T60), go to #flashrom_lenovobios instead.

- - -
- -

Back to top of page.

- -
- -

X60/X60S/X60T/T60/X200/macbook21: How to flash the ROMs onto your machine (if running libreboot or coreboot already)

- -

- - These instructions work for the Lenovo ThinkPad X60/X60S/X60T/T60 and Apple MacBook2,1. - -

-

- - This assumes that you already have coreboot or libreboot running. - -

-

- - If you have Lenovo BIOS running (X60/X60S/X60T/T60), go to #flashrom_lenovobios instead. - -

-

- - If you have Lenovo BIOS running (X200), go to x200_external.html instead. - -

-

- - If you have Apple EFI firmware running (macbook21), go to #flashrom_macbook21 instead. - -

-

- - If you are flashing a Lenovo ThinkPad T60, be sure to read ../hcl/index.html#supported_t60_list. - -

-

- - If you have an X200 with libreboot or coreboot already running, note that - the Gbe in the boot flash contains your MAC address. You will need to change the default - MAC address inside the ROM images before flashing a new libreboot image. See - ich9gen for details. - - Another important note about the X200: even if you do already have libreboot or coreboot, - it is possible for the user to write-protect regions in the flash chip, by modifying - the flash descriptor. If you have locked regions, you will need an external flasher - (see x200_external.html) to re-flash those regions. By default, - the X200 ROM images in libreboot contain a descriptor+gbe with all regions unlocked. - -

-

- - If you are flashing an Apple MacBook2,1, be sure to read the information in ../hcl/index.html#macbook21. - -

-

- If you are using libreboot_src or git, then make sure that you built the sources first (see ../git/index.html#build). + + If you have Lenovo BIOS running (X200), go to x200_external.html instead. +

-
-

- Look at #rom to see which ROM is suitable for your machine. Alternative you may be using your own - custom ROM. Adapt. -

-

- Flash the ROM:
- $ sudo ./flash bin/YOURBOARD/YOURROM -

-

- If you are flashing a ThinkPad X60 that is currently running libreboot 5th release or lower - (anything on or before June 22nd 2014), then use this to upgrade:
- $ sudo ./x60flashfrom5 bin/YOURBOARD/YOURROM -

- -
-

- You should see "Verifying flash... VERIFIED." written at the end of the flashrom output. SHUT DOWN - after you see this, and then boot up again after a few seconds. + + If you have Apple EFI firmware running (macbook21), go to #flashrom_macbook21 instead. + +

+

+ + If you are flashing a Lenovo ThinkPad T60, be sure to read ../hcl/index.html#supported_t60_list. + +

+

+ + If you have an X200 with libreboot or coreboot already running, note that + the Gbe in the boot flash contains your MAC address. You will need to change the default + MAC address inside the ROM images before flashing a new libreboot image. See + ich9gen for details. + + Another important note about the X200: even if you do already have libreboot or coreboot, + it is possible for the user to write-protect regions in the flash chip, by modifying + the flash descriptor. If you have locked regions, you will need an external flasher + (see x200_external.html) to re-flash those regions. By default, + the X200 ROM images in libreboot contain a descriptor+gbe with all regions unlocked. +

-

- If you boot and you see nothing, try turning up the backlight (Fn+Home for X60/X60S/X60T/T60/X200, F2 for macbook21). + If you are flashing an Apple MacBook2,1, be sure to read the information in ../hcl/index.html#macbook21.

+
+

+ If you are using libreboot_src or git, then make sure that you built the sources first (see ../git/index.html#build). +

+
+

+ Look at #rom to see which ROM is suitable for your machine. Alternative you may be using your own + custom ROM. Adapt. +

+

+ Flash the ROM:
+ $ sudo ./flash bin/YOURBOARD/YOURROM +

+

+ If you are flashing a ThinkPad X60 that is currently running libreboot 5th release or lower + (anything on or before June 22nd 2014), then use this to upgrade:
+ $ sudo ./x60flashfrom5 bin/YOURBOARD/YOURROM +

-
+
-

- Some thinkpads come with WWAN cards installed, along with sim cards. These use non-free firmware and should be removed. - You might also want to remove bluetooth. See ../security/x60_security.html and - ../security/t60_security.html. -

+

+ You should see "Verifying flash... VERIFIED." written at the end of the flashrom output. SHUT DOWN + after you see this, and then boot up again after a few seconds. +

-

Back to top of page

+

+ + If you boot and you see nothing, try turning up the backlight (Fn+Home for X60/X60S/X60T/T60/X200, F2 for macbook21). + +

-
+
-

- Copyright © 2014, 2015 Francis Rowe <info@gluglug.org.uk>
- 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 ../license.txt. -

+

+ Some thinkpads come with WWAN cards installed, along with sim cards. These use non-free firmware and should be removed. + You might also want to remove bluetooth. See ../security/x60_security.html and + ../security/t60_security.html. +

+ +

Back to top of page

+ +
-

- 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 ../license.txt for more information. -

+
+ +

+ Copyright © 2014, 2015 Francis Rowe <info@gluglug.org.uk>
+ 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 ../license.txt. +

+ +

+ 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 ../license.txt for more information. +

+ +
diff --git a/docs/install/t60_unbrick.html b/docs/install/t60_unbrick.html index ba010d3..a36f961 100644 --- a/docs/install/t60_unbrick.html +++ b/docs/install/t60_unbrick.html @@ -13,161 +13,166 @@ -
+

Unbricking the ThinkPad T60

- -
- -

Or go back to main index

- -

Table of Contents

- - -

Brick type 1: bucts not reset.

-

- You still have Lenovo BIOS, or you had libreboot running and you flashed another ROM; and you had bucts 1 set and - the ROM wasn't dd'd.* or if Lenovo BIOS was present and libreboot wasn't flashed.

- - In this case, unbricking is easy: reset BUC.TS to 0 by removing that yellow cmos coin (it's a battery) and putting it back after a minute or two:
-

- - *Those dd commands should be applied to all newly compiled T60 ROM images (the ROM images in libreboot binary archives already have this applied!):
- dd if=coreboot.rom of=top64k.bin bs=1 skip=$[$(stat -c %s coreboot.rom) - 0x10000] count=64k
- dd if=coreboot.rom bs=1 skip=$[$(stat -c %s coreboot.rom) - 0x20000] count=64k | hexdump
- dd if=top64k.bin of=coreboot.rom bs=1 seek=$[$(stat -c %s coreboot.rom) - 0x20000] count=64k conv=notrunc
- (doing this makes the ROM suitable for use when flashing a machine that still has Lenovo BIOS running, - using those instructions: http://www.coreboot.org/Board:lenovo/x60/Installation. - (it says x60, but instructions for t60 are identical) -

- -

bad rom (or user error), machine won't boot

- -

- In this scenario, you compiled a ROM that had an incorrect configuration, or there is an actual bug preventing your machine from - booting. Or, maybe, you set BUC.TS to 0 and shut down after first flash while Lenovo BIOS was running. In any case, your machine is bricked and will not boot at all. -

-

- "Unbricking" means flashing a known-good (working) ROM. The problem: you can't boot the machine, making this difficult. In this situation, external hardware (see hardware requirements above) is needed which can flash the SPI chip (where libreboot resides). -

- -

- Remove those screws and remove the HDD:
- -

- -

- Lift off the palm rest:
- -

- -

- Lift up the keyboard, pull it back a bit, flip it over like that and then disconnect it from the board:
- -

- -

- Gently wedge both sides loose:
- -

- -

- Remove that cable from the position:
- -

- -

- Now remove that bezel. Remove wifi, nvram battery and speaker connector (also remove 56k modem, on the left of wifi):
- -

- -

- Remove those screws:
- -

- -

- Disconnect the power jack:
- -

- -

- Remove nvram battery:
- -

- -

- Disconnect cable (for 56k modem) and disconnect the other cable:
- -

- -

- Disconnect speaker cable:
- -

- -

- Disconnect the other end of the 56k modem cable:
- -

- -

- Make sure you removed it:
- -

- -

- Unscrew those:
- -

- -

- Make sure you removed those:
- -

- -

- Disconnect LCD cable from board:
- -

- -

- Remove those screws then remove the LCD assembly:
- -

- -

- Once again, make sure you removed those:
- -

- -

- Remove the shielding containing the motherboard, then flip it over. Remove these screws, placing them on a steady - surface in the same layout as they were in before you removed them. Also, you should mark each screw hole after removing the - screw (a permanent marker pen will do), this is so that you have a point of reference when re-assembling the machine:
- - -

- -

- Now wire up the BBB and the Pomona with your PSU.
- Refer to bbb_setup.html for how to setup - the BBB for flashing.
- Note, the guide mentions a 3.3v DC PSU but you don't need this on the T60: - if you don't have or don't want to use an external PSU, then make - sure not to connect the red/black 3.3v leads mentioned in the guide; - instead, connect the AC adapter (the one that normally charges your - battery) so that the board has power (but don't boot it up)
-
- Correlate the following with the BBB guide linked above: -

+

This guide will show you how to recover from a bad flash that prevents your ThinkPad T60 from booting.

+

Back to previous index

+ + +
+

Table of Contents

+ +
+ +
+

Brick type 1: bucts not reset.

+

+ You still have Lenovo BIOS, or you had libreboot running and you flashed another ROM; and you had bucts 1 set and + the ROM wasn't dd'd.* or if Lenovo BIOS was present and libreboot wasn't flashed.

+ + In this case, unbricking is easy: reset BUC.TS to 0 by removing that yellow cmos coin (it's a battery) and putting it back after a minute or two:
+

+ + *Those dd commands should be applied to all newly compiled T60 ROM images (the ROM images in libreboot binary archives already have this applied!):
+ dd if=coreboot.rom of=top64k.bin bs=1 skip=$[$(stat -c %s coreboot.rom) - 0x10000] count=64k
+ dd if=coreboot.rom bs=1 skip=$[$(stat -c %s coreboot.rom) - 0x20000] count=64k | hexdump
+ dd if=top64k.bin of=coreboot.rom bs=1 seek=$[$(stat -c %s coreboot.rom) - 0x20000] count=64k conv=notrunc
+ (doing this makes the ROM suitable for use when flashing a machine that still has Lenovo BIOS running, + using those instructions: http://www.coreboot.org/Board:lenovo/x60/Installation. + (it says x60, but instructions for t60 are identical) +

+
+ +
+ +

bad rom (or user error), machine won't boot

+ +

+ In this scenario, you compiled a ROM that had an incorrect configuration, or there is an actual bug preventing your machine from + booting. Or, maybe, you set BUC.TS to 0 and shut down after first flash while Lenovo BIOS was running. In any case, your machine is bricked and will not boot at all. +

+

+ "Unbricking" means flashing a known-good (working) ROM. The problem: you can't boot the machine, making this difficult. In this situation, external hardware (see hardware requirements above) is needed which can flash the SPI chip (where libreboot resides). +

+ +

+ Remove those screws and remove the HDD:
+ +

+ +

+ Lift off the palm rest:
+ +

+ +

+ Lift up the keyboard, pull it back a bit, flip it over like that and then disconnect it from the board:
+ +

+ +

+ Gently wedge both sides loose:
+ +

+ +

+ Remove that cable from the position:
+ +

+ +

+ Now remove that bezel. Remove wifi, nvram battery and speaker connector (also remove 56k modem, on the left of wifi):
+ +

+ +

+ Remove those screws:
+ +

+ +

+ Disconnect the power jack:
+ +

+ +

+ Remove nvram battery:
+ +

+ +

+ Disconnect cable (for 56k modem) and disconnect the other cable:
+ +

+ +

+ Disconnect speaker cable:
+ +

+ +

+ Disconnect the other end of the 56k modem cable:
+ +

+ +

+ Make sure you removed it:
+ +

+ +

+ Unscrew those:
+ +

+ +

+ Make sure you removed those:
+ +

+ +

+ Disconnect LCD cable from board:
+ +

+ +

+ Remove those screws then remove the LCD assembly:
+ +

+ +

+ Once again, make sure you removed those:
+ +

+ +

+ Remove the shielding containing the motherboard, then flip it over. Remove these screws, placing them on a steady + surface in the same layout as they were in before you removed them. Also, you should mark each screw hole after removing the + screw (a permanent marker pen will do), this is so that you have a point of reference when re-assembling the machine:
+ + +

+ +

+ Now wire up the BBB and the Pomona with your PSU.
+ Refer to bbb_setup.html for how to setup + the BBB for flashing.
+ Note, the guide mentions a 3.3v DC PSU but you don't need this on the T60: + if you don't have or don't want to use an external PSU, then make + sure not to connect the red/black 3.3v leads mentioned in the guide; + instead, connect the AC adapter (the one that normally charges your + battery) so that the board has power (but don't boot it up)
+
+ Correlate the following with the BBB guide linked above: +

 POMONA 5250:
 ===  DVD drive ====
@@ -179,98 +184,102 @@ POMONA 5250:
 This is how you will connect. Numbers refer to pin numbers on the BBB, on the plugs near the DC jack.
 
-

- Connect the pomona from the BBB to the flash chip. No pics unfortunately. (use the text diagram above). -

- -

- SSH'd into the BBB:
- # ./flashrom -p linux_spi:dev=/dev/spidev1.0,spispeed=512 -w yourrom.rom -

-

- It should be Verifying flash... VERIFIED at the end. If flashrom complains about multiple flash chip - definitions detected, then choose one of them following the instructions in the output. -

- -

- Put those screws back:
- -

- -

- Put it back into lower chassis:
- -

- -

- Attach LCD and insert screws (also, attach the lcd cable to the board):
- -

- -

- Insert those screws:
- -

- -

- On the CPU (and there is another chip south-east to it, sorry forgot to take pic) - clean off the old thermal paste (with the alcohol) and apply new (Artic Silver 5 is good, others are good too) - you should also clean the heatsink the same way
- -

- -

- Attach the heatsink and install the screws (also, make sure to install the AC jack as highlighted):
- +

+ Connect the pomona from the BBB to the flash chip. No pics unfortunately. (use the text diagram above). +

+ +

+ SSH'd into the BBB:
+ # ./flashrom -p linux_spi:dev=/dev/spidev1.0,spispeed=512 -w yourrom.rom +

+

+ It should be Verifying flash... VERIFIED at the end. If flashrom complains about multiple flash chip + definitions detected, then choose one of them following the instructions in the output. +

+ +

+ Put those screws back:
+ +

+ +

+ Put it back into lower chassis:
+ +

+ +

+ Attach LCD and insert screws (also, attach the lcd cable to the board):
+ +

+ +

+ Insert those screws:
+ +

+ +

+ On the CPU (and there is another chip south-east to it, sorry forgot to take pic) + clean off the old thermal paste (with the alcohol) and apply new (Artic Silver 5 is good, others are good too) + you should also clean the heatsink the same way
+ +

+ +

+ Attach the heatsink and install the screws (also, make sure to install the AC jack as highlighted):
+ +

+ +

+ Reinstall that upper bezel:
+ +

+ +

+ Do that:
+ +

+ +

+ Re-attach modem, wifi, (wwan?), and all necessary cables. Sorry, forgot to take pics. Look at previous removal steps to see where they go back to. +

+ +

+ Attach keyboard and install nvram battery:
+ +

+ +

+ Place keyboard and (sorry, forgot to take pics) reinstall the palmrest and insert screws on the underside:
+ +

+ +

+ It lives!
+ +

+ +

+ Always stress test ('stress -c 2' and xsensors. below 90C is ok) when replacing cpu paste/heatsink:
+ +

+ +
+ +
+ +

+ Copyright © 2014, 2015 Francis Rowe <info@gluglug.org.uk>
+ 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 ../license.txt. +

+ +

+ 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 ../license.txt for more information.

- -

- Reinstall that upper bezel:
- -

- -

- Do that:
- -

- -

- Re-attach modem, wifi, (wwan?), and all necessary cables. Sorry, forgot to take pics. Look at previous removal steps to see where they go back to. -

- -

- Attach keyboard and install nvram battery:
- -

- -

- Place keyboard and (sorry, forgot to take pics) reinstall the palmrest and insert screws on the underside:
- -

- -

- It lives!
- -

- -

- Always stress test ('stress -c 2' and xsensors. below 90C is ok) when replacing cpu paste/heatsink:
- -

- -
- -

- Copyright © 2014 Francis Rowe <info@gluglug.org.uk>
- 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 ../license.txt. -

- -

- 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 ../license.txt for more information. -

+ +
diff --git a/docs/install/x200_external.html b/docs/install/x200_external.html index 84bf2ed..66f938f 100644 --- a/docs/install/x200_external.html +++ b/docs/install/x200_external.html @@ -13,62 +13,61 @@ -
+

Flashing the X200 with a BeagleBone Black

- -
- -

- 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. -

- -

- 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 ../hcl/x200.html#x200s -

- -

- 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) -

+

Initial flashing instructions for X200.

+

+ 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. +

+

+ 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 ../hcl/x200.html#x200s +

+

+ 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) +

-

Or go back to main index

+

Back to main index

+ -
+
-

Flash chips

- -

- 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). -

- -

- Back to top of page. -

+

Flash chips

+ +

+ 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). +

-
+

+ Back to top of page. +

+ +
+ +
-

Initial BBB setup

- -

- Refer to bbb_setup.html for how to - setup the BBB for flashing. -

+

Initial BBB setup

+ +

+ Refer to bbb_setup.html for how to + setup the BBB for flashing. +

-

- The following shows how to connect clip to the BBB (on the P9 header), for SOIC-16 (clip: Pomona 5252): -

+

+ The following shows how to connect clip to the BBB (on the P9 header), for SOIC-16 (clip: Pomona 5252): +

 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 ===
 This is how you will connect. Numbers refer to pin numbers on the BBB, on the plugs near the DC jack.
 
-

- The following shows how to connect clip to the BBB (on the P9 header), for SOIC-8 (clip: Pomona 5250): -

+

+ The following shows how to connect clip to the BBB (on the P9 header), for SOIC-8 (clip: Pomona 5250): +

 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 ===
 This is how you will connect. Numbers refer to pin numbers on the BBB, on the plugs near the DC jack.
 
-

- 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). - images/x200/wson_soldered.jpg (image copyright (C) 2014 Steve Shenton under CC-BY-SA 4.0 - or higher, same license that this document uses) shows it wired (soldered) and - connected to a BBB. -

- -

- Connect Pomona 5252/5250 to the X200 flash chip, and dump/flash -

-

- images/x200/x200_pomona.jpg - shows everything connected. In this picture, the X200 is being flashed - with the BBB. -

- 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. -

-

- I did (SSH'd into the BBB):
- # ./flashrom -p linux_spi:dev=/dev/spidev1.0,spispeed=512
- In my case, the output was: + 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). + images/x200/wson_soldered.jpg (image copyright (C) 2014 Steve Shenton under CC-BY-SA 4.0 + or higher, same license that this document uses) shows it wired (soldered) and + connected to a BBB.

+ +

+ Connect Pomona 5252/5250 to the X200 flash chip, and dump/flash +

+

+ images/x200/x200_pomona.jpg + shows everything connected. In this picture, the X200 is being flashed + with the BBB. +

+

+ 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. +

+

+ I did (SSH'd into the BBB):
+ # ./flashrom -p linux_spi:dev=/dev/spidev1.0,spispeed=512
+ In my case, the output was: +

 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.
 
-

- 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):
- # ./flashrom -p linux_spi:dev=/dev/spidev1.0,spispeed=512 -c "MX25L6405(D)" -

-

- 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. These - are not blobs, they only contain non-functional data (configuration details, fully readable) which is fully documented in public datasheets. - The descriptor will need to be modified - to disable the ME (also disable AMT) so that you can flash a ROM that excludes it. -

-

- How to backup factory.rom (change the -c option as neeed, for your flash chip):
- # ./flashrom -p linux_spi:dev=/dev/spidev1.0,spispeed=512 -c "MX25L6405(D)" -r factory.rom
- # ./flashrom -p linux_spi:dev=/dev/spidev1.0,spispeed=512 -c "MX25L6405(D)" -r factory1.rom
- # ./flashrom -p linux_spi:dev=/dev/spidev1.0,spispeed=512 -c "MX25L6405(D)" -r factory2.rom
- Now compare the 3 images:
- # sha512sum factory*.rom
- 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. -

-

- Information about the descriptor, gbe regions and how the ME was removed can be found in the notes linked at - ../hcl/x200_remove_me.html. Libreboot ROM images now include - the 12KiB descriptor+gbe by default, generated using ich9gen; - however, do note that the MAC address in the Gbe region is generic. Follow the instructions at - ../hcl/x200_remove_me.html#ich9gen and do what it says to change the MAC address - inside your X200 ROM image, before flashing it. -

-

- 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 libreboot.rom) for example I had to do:
- # ./flashrom -p linux_spi:dev=/dev/spidev1.0,spispeed=512 -c "MX25L6405(D)" -w libreboot.rom -

-

- You might see errors, but if it says Verifying flash... VERIFIED at the end, then it's flashed and should boot. - Test it! (boot your X200) -

-

- My output when running the command above: -

+

+ 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):
+ # ./flashrom -p linux_spi:dev=/dev/spidev1.0,spispeed=512 -c "MX25L6405(D)" +

+

+ 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. These + are not blobs, they only contain non-functional data (configuration details, fully readable) which is fully documented in public datasheets. + The descriptor will need to be modified + to disable the ME (also disable AMT) so that you can flash a ROM that excludes it. +

+

+ How to backup factory.rom (change the -c option as neeed, for your flash chip):
+ # ./flashrom -p linux_spi:dev=/dev/spidev1.0,spispeed=512 -c "MX25L6405(D)" -r factory.rom
+ # ./flashrom -p linux_spi:dev=/dev/spidev1.0,spispeed=512 -c "MX25L6405(D)" -r factory1.rom
+ # ./flashrom -p linux_spi:dev=/dev/spidev1.0,spispeed=512 -c "MX25L6405(D)" -r factory2.rom
+ Now compare the 3 images:
+ # sha512sum factory*.rom
+ 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. +

+

+ Information about the descriptor, gbe regions and how the ME was removed can be found in the notes linked at + ../hcl/x200_remove_me.html. Libreboot ROM images now include + the 12KiB descriptor+gbe by default, generated using ich9gen; + however, do note that the MAC address in the Gbe region is generic. Follow the instructions at + ../hcl/x200_remove_me.html#ich9gen and do what it says to change the MAC address + inside your X200 ROM image, before flashing it. +

+

+ 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 libreboot.rom) for example I had to do:
+ # ./flashrom -p linux_spi:dev=/dev/spidev1.0,spispeed=512 -c "MX25L6405(D)" -w libreboot.rom +

+

+ You might see errors, but if it says Verifying flash... VERIFIED at the end, then it's flashed and should boot. + Test it! (boot your X200) +

+

+ My output when running the command above: +

 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.
 
+ +

+ Back to top of page. +

-

- Back to top of page. -

+
-
+
-

- Copyright © 2014, 2015 Francis Rowe <info@gluglug.org.uk>
- 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 ../license.txt. -

+

+ Copyright © 2014, 2015 Francis Rowe <info@gluglug.org.uk>
+ 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 ../license.txt. +

-

- 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 ../license.txt for more information. -

+

+ 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 ../license.txt for more information. +

+ +
diff --git a/docs/install/x60_unbrick.html b/docs/install/x60_unbrick.html index 89edfb4..1b5056d 100644 --- a/docs/install/x60_unbrick.html +++ b/docs/install/x60_unbrick.html @@ -13,123 +13,128 @@ -
+

Unbricking the ThinkPad X60

- -
+

This guide will show you how to recover from a bad flash that prevents your ThinkPad X60 from booting.

+

Back to previous index

+ -

Or go back to main index

+
+

Table of Contents

+ +
-

Table of Contents

- +
+

Brick type 1: bucts not reset.

+

+ You still have Lenovo BIOS, or you had libreboot running and you flashed another ROM; and you had bucts 1 set and + the ROM wasn't dd'd.* or if Lenovo BIOS was present and libreboot wasn't flashed.

-

Brick type 1: bucts not reset.

-

- You still have Lenovo BIOS, or you had libreboot running and you flashed another ROM; and you had bucts 1 set and - the ROM wasn't dd'd.* or if Lenovo BIOS was present and libreboot wasn't flashed.

- - In this case, unbricking is easy: reset BUC.TS to 0 by removing that yellow cmos coin (it's a battery) and putting it back after a minute or two:
-

+ In this case, unbricking is easy: reset BUC.TS to 0 by removing that yellow cmos coin (it's a battery) and putting it back after a minute or two:
+

- *Those dd commands should be applied to all newly compiled X60 ROM images (the ROM images in libreboot binary archives already have this applied!):
- dd if=coreboot.rom of=top64k.bin bs=1 skip=$[$(stat -c %s coreboot.rom) - 0x10000] count=64k
- dd if=coreboot.rom bs=1 skip=$[$(stat -c %s coreboot.rom) - 0x20000] count=64k | hexdump
- dd if=top64k.bin of=coreboot.rom bs=1 seek=$[$(stat -c %s coreboot.rom) - 0x20000] count=64k conv=notrunc
- (doing this makes the ROM suitable for use when flashing a machine that still has Lenovo BIOS running, - using those instructions: http://www.coreboot.org/Board:lenovo/x60/Installation. -

+ *Those dd commands should be applied to all newly compiled X60 ROM images (the ROM images in libreboot binary archives already have this applied!):
+ dd if=coreboot.rom of=top64k.bin bs=1 skip=$[$(stat -c %s coreboot.rom) - 0x10000] count=64k
+ dd if=coreboot.rom bs=1 skip=$[$(stat -c %s coreboot.rom) - 0x20000] count=64k | hexdump
+ dd if=top64k.bin of=coreboot.rom bs=1 seek=$[$(stat -c %s coreboot.rom) - 0x20000] count=64k conv=notrunc
+ (doing this makes the ROM suitable for use when flashing a machine that still has Lenovo BIOS running, + using those instructions: http://www.coreboot.org/Board:lenovo/x60/Installation. +

+
+ +
-

bad rom (or user error), machine won't boot

-

- In this scenario, you compiled a ROM that had an incorrect configuration, or there is an actual bug preventing your machine from - booting. Or, maybe, you set BUC.TS to 0 and shut down after first flash while Lenovo BIOS was running. In any case, your machine is bricked and will not boot at all. -

-

- "Unbricking" means flashing a known-good (working) ROM. The problem: you can't boot the machine, making this difficult. In this situation, external hardware (see hardware requirements above) is needed which can flash the SPI chip (where libreboot resides). -

-

- Remove those screws:
- -

-

- Push the keyboard forward (carefully):
- -

-

- Lift the keyboard up and disconnect it from the board:
- -

-

- Grab the right-hand side of the chassis and force it off (gently) and pry up the rest of the chassis:
- -

-

- You should now have this:
- -

-

- Disconnect the wifi antenna cables, the modem cable and the speaker:
- -

-

- Unroute the cables along their path, carefully lifting the tape that holds them in place. Then, disconnect the modem - cable (other end) and power connection and unroute all the cables so that they dangle by the monitor hinge on the right-hand - side:
- -

-

- Disconnect the monitor from the motherboard, and unroute the grey antenna cable, carefully lifting the tape - that holds it into place:
- -

-

- Carefully lift the remaining tape and unroute the left antenna cable so that it is loose:
- -

-

- Remove the screw that is highlighted (do NOT remove the other one; it holds part of the heatsink (other side) into place):
- -

-

- Remove those screws:
- -

-

- Carefully remove the plate, like so:
- -

-

- Remove the SATA connector:
- -

-

- Now remove the motherboard (gently) and cast the lcd/chassis aside:
- -

-

- Lift back that tape and hold it with something. Highlighted is the SPI flash chip:
- -

-

- Now wire up the BBB and the Pomona with your PSU.
- Refer to bbb_setup.html for how to setup - the BBB for flashing.
- Note, the guide mentions a 3.3v DC PSU but you don't need this on the X60: - if you don't have or don't want to use an external PSU, then make - sure not to connect the red/black 3.3v leads mentioned in the guide; - instead, connect the AC adapter (the one that normally charges your - battery) so that the board has power (but don't boot it up) -
- Correlate the following with the BBB guide linked above: -

+

bad rom (or user error), machine won't boot

+

+ In this scenario, you compiled a ROM that had an incorrect configuration, or there is an actual bug preventing your machine from + booting. Or, maybe, you set BUC.TS to 0 and shut down after first flash while Lenovo BIOS was running. In any case, your machine is bricked and will not boot at all. +

+

+ "Unbricking" means flashing a known-good (working) ROM. The problem: you can't boot the machine, making this difficult. In this situation, external hardware (see hardware requirements above) is needed which can flash the SPI chip (where libreboot resides). +

+

+ Remove those screws:
+ +

+

+ Push the keyboard forward (carefully):
+ +

+

+ Lift the keyboard up and disconnect it from the board:
+ +

+

+ Grab the right-hand side of the chassis and force it off (gently) and pry up the rest of the chassis:
+ +

+

+ You should now have this:
+ +

+

+ Disconnect the wifi antenna cables, the modem cable and the speaker:
+ +

+

+ Unroute the cables along their path, carefully lifting the tape that holds them in place. Then, disconnect the modem + cable (other end) and power connection and unroute all the cables so that they dangle by the monitor hinge on the right-hand + side:
+ +

+

+ Disconnect the monitor from the motherboard, and unroute the grey antenna cable, carefully lifting the tape + that holds it into place:
+ +

+

+ Carefully lift the remaining tape and unroute the left antenna cable so that it is loose:
+ +

+

+ Remove the screw that is highlighted (do NOT remove the other one; it holds part of the heatsink (other side) into place):
+ +

+

+ Remove those screws:
+ +

+

+ Carefully remove the plate, like so:
+ +

+

+ Remove the SATA connector:
+ +

+

+ Now remove the motherboard (gently) and cast the lcd/chassis aside:
+ +

+

+ Lift back that tape and hold it with something. Highlighted is the SPI flash chip:
+ +

+

+ Now wire up the BBB and the Pomona with your PSU.
+ Refer to bbb_setup.html for how to setup + the BBB for flashing.
+ Note, the guide mentions a 3.3v DC PSU but you don't need this on the X60: + if you don't have or don't want to use an external PSU, then make + sure not to connect the red/black 3.3v leads mentioned in the guide; + instead, connect the AC adapter (the one that normally charges your + battery) so that the board has power (but don't boot it up) +
+ Correlate the following with the BBB guide linked above: +

 POMONA 5250:
 ===  golden finger and wifi switch ====
@@ -141,132 +146,136 @@ POMONA 5250:
 This is how you will connect. Numbers refer to pin numbers on the BBB, on the plugs near the DC jack.
 
-

- Connecting the BBB and pomona (in this image, an external 3.3v DC PSU was used):
- -

+

+ Connecting the BBB and pomona (in this image, an external 3.3v DC PSU was used):
+ +

-

- SSH'd into the BBB:
- # ./flashrom -p linux_spi:dev=/dev/spidev1.0,spispeed=512 -w yourrom.rom -

-

- It should be Verifying flash... VERIFIED at the end. If flashrom complains about multiple flash chip - definitions detected, then choose one of them following the instructions in the output. -

+

+ SSH'd into the BBB:
+ # ./flashrom -p linux_spi:dev=/dev/spidev1.0,spispeed=512 -w yourrom.rom +

+

+ It should be Verifying flash... VERIFIED at the end. If flashrom complains about multiple flash chip + definitions detected, then choose one of them following the instructions in the output. +

+ +

+ Remove the programmer and put it away somewhere. Put back the tape and press firmly over it:
+ +

+

+ Your empty chassis:
+ +

+

+ Put the motherboard back in:
+ +

+

+ Reconnect SATA:
+ +

+

+ Put the plate back and re-insert those screws:
+ +

+

+ Re-route that antenna cable around the fan and apply the tape:
+ +

+

+ Route the cable here and then (not shown, due to error on my part) reconnect the monitor cable to the motherboard + and re-insert the screws:
+ +

+

+ Re-insert that screw:
+ +

+

+ Route the black antenna cable like so:
+ +

+

+ Tuck it in neatly like so:
+ +

+

+ Route the modem cable like so:
+ +

+

+ Connect modem cable to board and tuck it in neatly like so:
+ +

+

+ Route the power connection and connect it to the board like so:
+ +

+

+ Route the antenna and modem cables neatly like so:
+ +

+

+ Connect the wifi antenna cables. At the start of the tutorial, this machine had an Intel wifi chip. Here you see I've replaced it with an + Atheros AR5B95 (supports 802.11n and can be used without blobs):
+ +

+

+ Connect the modem cable:
+ +

+

+ Connect the speaker:
+ +

+

+ You should now have this:
+ +

+

+ Re-connect the upper chassis:
+ +

+

+ Re-connect the keyboard:
+ +

+

+ Re-insert the screws that you removed earlier:
+ +

+

+ Power on!
+ +

+

+ Trisquel live USB menu (using the GRUB ISOLINUX parser):
+ +

+

+ Trisquel live desktop:
+ +

+ +
+ +

- Remove the programmer and put it away somewhere. Put back the tape and press firmly over it:
- -

-

- Your empty chassis:
- -

-

- Put the motherboard back in:
- -

-

- Reconnect SATA:
- -

-

- Put the plate back and re-insert those screws:
- -

-

- Re-route that antenna cable around the fan and apply the tape:
- -

-

- Route the cable here and then (not shown, due to error on my part) reconnect the monitor cable to the motherboard - and re-insert the screws:
- -

-

- Re-insert that screw:
- -

-

- Route the black antenna cable like so:
- -

-

- Tuck it in neatly like so:
- -

-

- Route the modem cable like so:
- -

-

- Connect modem cable to board and tuck it in neatly like so:
- -

-

- Route the power connection and connect it to the board like so:
- -

-

- Route the antenna and modem cables neatly like so:
- -

-

- Connect the wifi antenna cables. At the start of the tutorial, this machine had an Intel wifi chip. Here you see I've replaced it with an - Atheros AR5B95 (supports 802.11n and can be used without blobs):
- -

-

- Connect the modem cable:
- -

-

- Connect the speaker:
- -

-

- You should now have this:
- -

-

- Re-connect the upper chassis:
- -

-

- Re-connect the keyboard:
- -

-

- Re-insert the screws that you removed earlier:
- -

-

- Power on!
- -

-

- Trisquel live USB menu (using the GRUB ISOLINUX parser):
- + Copyright © 2014, 2015 Francis Rowe <info@gluglug.org.uk>
+ 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 ../license.txt.

+

- Trisquel live desktop:
- + 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 ../license.txt for more information.

- -
- -

- Copyright © 2014 Francis Rowe <info@gluglug.org.uk>
- 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 ../license.txt. -

- -

- 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 ../license.txt for more information. -

+ +
diff --git a/docs/install/x60tablet_unbrick.html b/docs/install/x60tablet_unbrick.html index 0510867..3623482 100644 --- a/docs/install/x60tablet_unbrick.html +++ b/docs/install/x60tablet_unbrick.html @@ -8,120 +8,125 @@ @import url('../css/main.css'); - Libreboot documentation: Unbricking the ThinkPad X60 Tablet + Unbricking the ThinkPad X60 Tablet -
-

Unbricking the ThinkPad X60

- -
- -

Or go back to main index

- -

Table of Contents

- - -

Brick type 1: bucts not reset.

-

- You still have Lenovo BIOS, or you had libreboot running and you flashed another ROM; and you had bucts 1 set and - the ROM wasn't dd'd.* or if Lenovo BIOS was present and libreboot wasn't flashed.

- - In this case, unbricking is easy: reset BUC.TS to 0 by removing that yellow cmos coin (it's a battery) and putting it back after a minute or two:
-

- - *Those dd commands should be applied to all newly compiled X60 ROM images (the ROM images in libreboot binary archives already have this applied!):
- dd if=coreboot.rom of=top64k.bin bs=1 skip=$[$(stat -c %s coreboot.rom) - 0x10000] count=64k
- dd if=coreboot.rom bs=1 skip=$[$(stat -c %s coreboot.rom) - 0x20000] count=64k | hexdump
- dd if=top64k.bin of=coreboot.rom bs=1 seek=$[$(stat -c %s coreboot.rom) - 0x20000] count=64k conv=notrunc
- (doing this makes the ROM suitable for use when flashing a machine that still has Lenovo BIOS running, - using those instructions: http://www.coreboot.org/Board:lenovo/x60/Installation. -

- -

bad rom (or user error), machine won't boot

-

- In this scenario, you compiled a ROM that had an incorrect configuration, or there is an actual bug preventing your machine from - booting. Or, maybe, you set BUC.TS to 0 and shut down after first flash while Lenovo BIOS was running. In any case, your machine is bricked and will not boot at all. -

-

- "Unbricking" means flashing a known-good (working) ROM. The problem: you can't boot the machine, making this difficult. In this situation, external hardware (see hardware requirements above) is needed which can flash the SPI chip (where libreboot resides). -

- -

- -

- -

- Remove those screws:
- -

- -

- Remove the HDD:
- -

- -

- Push keyboard forward to loosen it:
- -

- -

- Lift:
- -

- -

- Remove those:
- -

- -

+

+

Unbricking the ThinkPad X60 Tablet

+

This guide will show you how to recover from a bad flash that prevents your ThinkPad X60 Tablet from booting.

+

Back to previous index

+
+ +
+

Table of Contents

+ +
+ +
+

Brick type 1: bucts not reset.

+

+ You still have Lenovo BIOS, or you had libreboot running and you flashed another ROM; and you had bucts 1 set and + the ROM wasn't dd'd.* or if Lenovo BIOS was present and libreboot wasn't flashed.

+ + In this case, unbricking is easy: reset BUC.TS to 0 by removing that yellow cmos coin (it's a battery) and putting it back after a minute or two:
+

+ + *Those dd commands should be applied to all newly compiled X60 ROM images (the ROM images in libreboot binary archives already have this applied!):
+ dd if=coreboot.rom of=top64k.bin bs=1 skip=$[$(stat -c %s coreboot.rom) - 0x10000] count=64k
+ dd if=coreboot.rom bs=1 skip=$[$(stat -c %s coreboot.rom) - 0x20000] count=64k | hexdump
+ dd if=top64k.bin of=coreboot.rom bs=1 seek=$[$(stat -c %s coreboot.rom) - 0x20000] count=64k conv=notrunc
+ (doing this makes the ROM suitable for use when flashing a machine that still has Lenovo BIOS running, + using those instructions: http://www.coreboot.org/Board:lenovo/x60/Installation. +

+
+ +
+ +

bad rom (or user error), machine won't boot

+

+ In this scenario, you compiled a ROM that had an incorrect configuration, or there is an actual bug preventing your machine from + booting. Or, maybe, you set BUC.TS to 0 and shut down after first flash while Lenovo BIOS was running. In any case, your machine is bricked and will not boot at all. +

+

+ "Unbricking" means flashing a known-good (working) ROM. The problem: you can't boot the machine, making this difficult. In this situation, external hardware (see hardware requirements above) is needed which can flash the SPI chip (where libreboot resides). +

+ +

+ +

+ +

+ Remove those screws:
+ +

+ +

+ Remove the HDD:
+ +

+ +

+ Push keyboard forward to loosen it:
+ +

+ +

+ Lift:
+ +

+ +

+ Remove those:
+ +

+ +

+ + +

+ +

+ Also remove that (marked) and unroute the antenna cables:
+ +

+ +

+ For some X60T laptops, you have to unroute those too:
+ +

+ +

+ Remove the LCD extend board screws. Also remove those screws (see blue marks) and remove/unroute the cables and remove the metal plate:
+ +

+ +

+ Remove that screw and then remove the board:
+ +

- -

- -

- Also remove that (marked) and unroute the antenna cables:
- -

- -

- For some X60T laptops, you have to unroute those too:
- -

- -

- Remove the LCD extend board screws. Also remove those screws (see blue marks) and remove/unroute the cables and remove the metal plate:
- -

- -

- Remove that screw and then remove the board:
- -

- -

- Now wire up the BBB and the Pomona with your PSU.
- Refer to bbb_setup.html for how to setup - the BBB for flashing.
- Note, the guide mentions a 3.3v DC PSU but you don't need this on the X60 Tablet: - if you don't have or don't want to use an external PSU, then make - sure not to connect the red/black 3.3v leads mentioned in the guide; - instead, connect the AC adapter (the one that normally charges your - battery) so that the board has power (but don't boot it up) -
- Correlate the following with the BBB guide linked above: -

+

+ Now wire up the BBB and the Pomona with your PSU.
+ Refer to bbb_setup.html for how to setup + the BBB for flashing.
+ Note, the guide mentions a 3.3v DC PSU but you don't need this on the X60 Tablet: + if you don't have or don't want to use an external PSU, then make + sure not to connect the red/black 3.3v leads mentioned in the guide; + instead, connect the AC adapter (the one that normally charges your + battery) so that the board has power (but don't boot it up) +
+ Correlate the following with the BBB guide linked above: +

 POMONA 5250:
 ===  golden finger and wifi switch ====
@@ -133,37 +138,41 @@ POMONA 5250:
 This is how you will connect. Numbers refer to pin numbers on the BBB, on the plugs near the DC jack.
 
-

- Connecting the BBB and pomona (in this image, an external 3.3v DC PSU was used):
- -

+

+ Connecting the BBB and pomona (in this image, an external 3.3v DC PSU was used):
+ +

+ +

+ SSH'd into the BBB:
+ # ./flashrom -p linux_spi:dev=/dev/spidev1.0,spispeed=512 -w yourrom.rom +

+

+ It should be Verifying flash... VERIFIED at the end. If flashrom complains about multiple flash chip + definitions detected, then choose one of them following the instructions in the output. +

+ +

+ Reverse the steps to re-assemble your machine. +

+ +
+ +

- SSH'd into the BBB:
- # ./flashrom -p linux_spi:dev=/dev/spidev1.0,spispeed=512 -w yourrom.rom -

-

- It should be Verifying flash... VERIFIED at the end. If flashrom complains about multiple flash chip - definitions detected, then choose one of them following the instructions in the output. + Copyright © 2014, 2015 Francis Rowe <info@gluglug.org.uk>
+ 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 ../license.txt.

- Reverse the steps to re-assemble your machine. + 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 ../license.txt for more information.

- -
- -

- Copyright © 2014 Francis Rowe <info@gluglug.org.uk>
- 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 ../license.txt. -

- -

- 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 ../license.txt for more information. -

+ +
-- cgit v0.9.1