I'm trying out Coreboot on a Thinkpad T60p. I followed the instructions at https://github.com/bibanon/Coreboot-ThinkPads/wiki/ThinkPad-T60p until I got the flashing part. There it wasn't clear where the lenovobios_firstflash and lenovobios_secondflash scripts were to be found. On IRC, someone pointed me to https://github.com/rabcyr/libreboot/blob/master/lenovobios_firstflash. I used that and got what seems like a failure[1]. A few minutes after this, the laptop decided to go to sleep and I couldn't wake it. I rebooted and evidently somehow Coreboot and SeaBIOS took.
Now I suppose I'm at the stage where I do the second flashing. In the meantime, the trackpoint stick and buttons won't work anymore and there's an intermittent high-pitched whine from the left side of the keyboard.
Did I actually succeed in flashing my T60p? Did I do anything wrong? How do I fix the trackpoint and get rid of the whine?
[1] $ sudo ./lenovobios_firstflash ~/coreboot/build/coreboot.rom
if [[ $EUID -ne 0 ]]; then echo "This script must be run as root" exit 1 fi if (( $# != 1 )); then echo "Usage: ./lenovobios_firstflash yourrom.rom" echo "usage: ./lenovobios_firstflash path/to/yourrom.rom" echo "You need to specify exactly 1 file" exit 1 fi Usage: ./lenovobios_firstflash yourrom.rom usage: ./lenovobios_firstflash path/to/yourrom.rom You need to specify exactly 1 file dave@osiris:~/libreboot_util$ sudo ./lenovobios_firstflash ~/coreboot/build/coreboot.rom
if [[ $EUID -ne 0 ]]; then echo "This script must be run as root" exit 1 fi if (( $# != 1 )); then echo "Usage: ./lenovobios_firstflash yourrom.rom" echo "usage: ./lenovobios_firstflash path/to/yourrom.rom" echo "You need to specify exactly 1 file" exit 1 fi if [ ! -f $1 ]; then echo "File not found!" exit 1 fi
bucts="unknown" flashromsst="unknown" flashrommacronix="unknown" if [ -f "DEBLOB" ]; then bucts="./bucts/bucts" flashromsst="./flashrom/flashrom_lenovobios_sst" flashrommacronix="./flashrom/flashrom_lenovobios_macronix" elif [ $(uname -i) = "i686" ] || [ $(uname -m) = "i686" ]; then bucts="./bucts/i686/bucts" flashromsst="./flashrom/i686/flashrom_lenovobios_sst" flashrommacronix="./flashrom/i686/flashrom_lenovobios_macronix" elif [ $(uname -i) = "x86_64" ] || [ $(uname -m) = "x86_64" ]; then bucts="./bucts/x86_64/bucts" flashromsst="./flashrom/x86_64/flashrom_lenovobios_sst" flashrommacronix="./flashrom/x86_64/flashrom_lenovobios_macronix" else echo "This script must be run on an i686 or x86_64 host. x86_64 is recommended." exit 1 fi uname -i) uname -i uname -m) uname -m
# Set bucts # this means we are working in src if [ ! -f "$bucts" ]; then echo "BUCTS failed. Make sure BUC.TS is 1, or else you will brick your machine. ABORTING so as to protect against bricking the machine." exit 1 fi
$(echo $bucts) 1 echo $bucts) echo $bucts bucts utility version 'withoutgit' Using LPC bridge 8086:27b9 at 0000:1f.00 Current BUC.TS=0 - 128kb address range 0xFFFE0000-0xFFFFFFFF is untranslated Updated BUC.TS=1 - 64kb address ranges at 0xFFFE0000 and 0xFFFF0000 are swapped
$(echo $flashromsst) -p internal -w $1 echo $flashromsst) echo $flashromsst flashrom v0.9.8-unknown on Linux 3.2.0-4-686-pae (i686) flashrom is free software, get the source code at http://www.flashrom.org
Calibrating delay loop... OK. Found chipset "Intel ICH7M". Enabling flash write... WARNING: SPI Configuration Lockdown activated. OK. Found SST flash chip "SST25VF016B" (2048 kB, SPI) mapped at physical address 0xffe00000. Reading old flash chip contents... done. Erasing and writing flash chip... spi_block_erase_20 failed during command execution at address 0x0 Reading current flash chip contents... done. Looking for another erase function. spi_block_erase_52 failed during command execution at address 0x0 Reading current flash chip contents... done. Looking for another erase function. Transaction error! spi_block_erase_d8 failed during command execution at address 0x1f0000 Reading current flash chip contents... done. Looking for another erase function. spi_chip_erase_60 failed during command execution Reading current flash chip contents... done. Looking for another erase function. spi_chip_erase_c7 failed during command execution Looking for another erase function. No usable erase functions left. FAILED! Uh oh. Erase/write failed. Checking if anything has changed. Reading current flash chip contents... done. Apparently at least some data has changed. Your flash chip is in an unknown state. Get help on IRC at chat.freenode.net (channel #flashrom) or mail flashrom@flashrom.org with the subject "FAILED: <your board name>"! ------------------------------------------------------------------------------- DO NOT REBOOT OR POWEROFF! $(echo $flashrommacronix) -p internal -w $1 echo $flashrommacronix) echo $flashrommacronix flashrom v0.9.8-unknown on Linux 3.2.0-4-686-pae (i686) flashrom is free software, get the source code at http://www.flashrom.org
Calibrating delay loop... OK. Found chipset "Intel ICH7M". Enabling flash write... WARNING: SPI Configuration Lockdown activated. OK. No EEPROM/flash device found. Note: flashrom can never write if the flash chip isn't found automatically.