Page 1 of 3 123 LastLast
Results 1 to 10 of 93

Thread: How to Upgrade the Thinkpad x61 BIOS

Hybrid View

  1. #1
    Join Date
    Jul 2007
    Location
    Austin, TX (formerly D.C)
    Beans
    359
    Distro
    Ubuntu 10.04 Lucid Lynx

    How to Upgrade the Thinkpad x61 BIOS

    NOTE: If attachments are missing - I would be inclined to look for a newer source than one 5 years old thread here


    This tutorial details how to upgrade the BIOS of a Thinkpad x61, x61s or x61s tablet notebook using a bootable USB stick. At the time of writing, the 2.20 BIOS and 1.03 firmware versions are the most current for the X61/X61s. Also, the most current BIOS and firmware versions for the ThinkPad X61 Tablet are 1.23 and 1.03, respectively.

    Disclaimer: While these steps worked for me while upgrading my X61 BIOS from 1.06 to 2.07, and later from 2.07 to 2.14 and 2.14 to 2.20, use them at your own discretion. BIOS upgrades always carry some associated risk, and I cannot be held liable for anything that goes wrong.

    Motivation

    The Thinkpad x61 is an ultralight notebook offered by Lenovo. As any x61 owners should know, the internal optical drive present in most laptops was omitted from the x61 in order to minimize weight.

    Regular BIOS upgrades have been offered by Lenovo for the x61, and are released without charge in two forms:

    X61/X61s:
    1. A Win32-only executable
    2. A bootable DOS CD-ROM disc


    X61 Tablet:
    1. A Win32-only executable
    2. A bootable DOS CD-ROM disc

    The bootable CD-ROM disc is the only option available for GNU/Linux users. Ridiculously enough, USB CD-ROM drivers are not included on the disk, such that external CD-ROM drives will not work with the BIOS upgrade. Not even the Lenovo Thinkpad USB CD-ROM drive allows the user to upgrade the BIOS.

    Officially, the supported method for an x61 upgrade on a non-Win32 platform is to use the CD-ROM drive in an ultrabase. Those of us who don't have one are left in the dark. In this tutorial, I will show how to upgrade the x61 BIOS from a bootable USB stick.

    Why Upgrade the BIOS

    Although the stock BIOS shipped with most x61 laptops may be fine for most users, the BIOS v2.07, which was released in January 2008, offers an improved fan speed controller. It also fixes USB interrupt bugs present in previous releases, which have manifested themselves as problems with the right-side USB ports (see here and here). Later BIOS revisions have dealt with other firmware bugs, such as WOL (Wake on LAN) errors, POST issues and CardBus and 1394 bugs. Some BIOS release between 2.14 and 2.20 (for the x61/x61s) fixes DSDT problems that have cropped up with recent kernels.

    That being said, a BIOS upgrade not a necessity. There are workarounds for many of the problems it fixes (I provide a hack for the USB devices, for example, in the previous two hyperlinked posts). Of course, the newest BIOS and firmware versions are preferable, however, so without further ado...

    How to Upgrade the Thinkpad x61 BIOS with a USB Thumb Drive

    The rest of this tutorial shows how to upgrade the Thinkpad BIOS to the newest version without an internal CD-ROM drive. The basic steps involved are:

    1. Format the USB stick to be a DOS boot device
    2. Copy the bootable ISO BIOS files to the USB stick
    3. Boot to the USB stick and follow instructions

    The instructions for Step 1 are given both using a Windows computer, as well as one running Linux. This issue is not unique to Linux users, and also affects users of a 64-bit Windows operating system.

    1. Format the USB stick to be a DOS boot device (Windows)

    There are multiple ways to do this step, I'm taking the easiest route I know: the HP USB Disk Storage Format Tool combined with Win98 DOS boot disc files.

    First, connect a USB stick (<= 4GB) and backup any important files; we are going to format the device, which will erase any information you have on it.

    Next, get the HP USB Disk Storage Format Tool (from here or HPUSBFW.zip attached to this tutorial). Run HPUSBFW.EXE and select the FAT (FAT16) filesystem and "Create a DOS Startup Disc".

    Under "using DOS system files located at", provide a directory containing a valid DOS boot disc. I have attached the appropriate files for a Win98 DOS boot disc to this tutorial, in win98boot.zip. They should also be available here .

    Click "Start" to format the USB into a bootable DOS-wielding device. If this process worked, then skip to the section entitled "2. Copy the bootable ISO BIOS files to the USB stick".

    1. Format the USB stick to be a DOS boot device (Linux)

    I had previously posted instructions on how to properly format a USB stick under Linux. A rough copy of these instructions can be found here. However, it soon became clear that the procedure was finicky at best, and did not work for all users.

    Since then, I have come to the conclusion that by far the simplest and least risky way to format a USB stick under Linux is to prescribe to the same method that was used under Windows, by formatting the USB stick as a (proprietary, but gratis) Windows 98 boot disk. Furthermore, the simplest way to do so is to copy an image of a bootable USB stick directly onto the USB device.

    First, insert your USB stick and determine what device it is assigned to. This is fairly simple by looking at the output of:

    Code:
    sudo fdisk -l
    For a device which is the same size as your USB stick and formatted (presumably) as Fat32 or Fat16. Normally the device will be in the form /dev/sdb or /dev/sdc, etc.

    **Note: It is critical that you get the name of your USB device correct, and always type it accurately. If you use the device name of another harddrive, you could very easily end up wiping other, unrelated disks. For that reason, I'm always going to use the identifier [USB device] for the device name of your specific USB drive. Use the name of the root device, and omit any partition numbers that may follow the device name.**

    After you have discovered your USB stick device name, download the raw bootable USB stick image ("win98usb.tar") which is attached to this post. We will copy this image directly onto the USB device, which will thrash any existing file system. Therefore, remove all data before proceeding.

    Untar the bootable USB stick image into the current directory. The only reason that the image is tarred is in order to comply with the Ubuntu Forums filetype restrictions for uploads.

    Code:
    tar -xf ./win98usb.tar
    Unmount the USB stick, either through Nautilus or with the following command:

    Code:
    umount -f [path to root folder of mounted USB stick]
    Once the USB stick is unmounted, copy the image onto the device with the following command:

    Code:
    sudo dd if=win98usb.img of=[USB device] conv=notrunc
    The dd command should not take long, and will produce output similar to the following:

    Code:
    $ sudo dd if=./win98usb.img of=/dev/sdc conv=notrunc
    1214+0 records in
    1214+0 records out
    621568 bytes (622 kB) copied, 0.193487 s, 3.2 MB/s
    This will prepare the USB stick as a bootable device ready for the remainder of the X61 BIOS installation procedure.

    2. Copy the bootable ISO BIOS files to the USB stick

    This step is very simple: just copy all of the files from the bootable BIOS CD provided by Lenovo onto the USB stick. The most recent ISO file can be found for the X61/X61s here (regular), and for the X61 Tablet here (tablet). The link for the correct ISO file will be found corresponding to the file description "BIOS Update Bootable CD".

    This can be done many different ways. In Windows, one must first mount the .iso file (which can be done using any of a number of different free programs) and then copy the files over.

    In Linux, the ISO may be trivially mounted and copied from the command line:

    Code:
    sudo mount -o loop [path to ISO file] [mount point]
    sudo cp -af [mount point]/* [path to USB folder]
    Where [path to ISO file] is the path to the CD ISO image, [mount point] is wherever you want to mount the CD image to (you can choose this, /cdrom/ works), and [path to USB folder] is the location of your mounted USB drive.

    It should be noted that the default DOS command-line interpreter (COMMAND.COM), if present, must be overwritten by the (much smaller) version provided by Lenovo in order for this to work. Under Windows, this may require you to disable the read-only flag on the file before overwriting it.

    3. Boot to the USB stick and follow instructions

    This step should pretty much be self-explanatory. Make sure to set the boot priority of the USB device to be higher than your internal hard drive, and then reboot!

    **Note: With BIOS revision v2.14 and after, after booting to the USB device, the system may query for the location of the "COMMAND.COM" file. Should this happen to you, entering 'command.com' (without quotes) will allow you to proceed to the BIOS upgrade.**

    Follow the on-screen instructions, and your BIOS should be upgraded within 5 minutes. As always with BIOS upgrades, do not under any circumstances turn the laptop off before installation is complete, or you could turn your laptop into a very expensive paperweight.

    That's it! Please let me know if you have any questions.

    Mike



    Revision History:
    1.0.0 - Original post (June 4th, 2008)
    1.0.1 - Updated for BIOS revision X61/61s 2.14, Added "1. Format the USB stick to be a DOS boot device (Linux)" (July 30th, 2008)
    1.0.2 - Added ISO links for the X61 Tablet (August 5th, 2008)
    1.0.3 - Removed the Linux instructions, due to troubles reported by users (August 9th, 2008)
    1.0.4 - Updated the links for the most recent BIOS updates (2.20/2.23)
    1.0.5 - Added new Linux instructions (May 27, 2009)
    1.0.6 - Minor update to Linux instructions
    1.0.7 - Updated the links to BIOSes 2.21/1.24 for the X61/X61s and the X61 tablet (June 8th, 2010)
    1.0.8 - Minor changes
    Attached Files Attached Files
    Last edited by Elfy; March 19th, 2014 at 07:00 PM.

  2. #2
    Join Date
    Jun 2008
    Beans
    1

    Re: How to Upgrade the Thinkpad x61 BIOS

    works perfekt.

    for 2.14 bios, release date 2008/06/13 too.

    many thx

  3. #3
    Join Date
    Jul 2007
    Location
    Austin, TX (formerly D.C)
    Beans
    359
    Distro
    Ubuntu 10.04 Lucid Lynx

    Re: How to Upgrade the Thinkpad x61 BIOS

    works perfekt.

    for 2.14 bios, release date 2008/06/13 too.

    many thx
    Thanks for the kind words, and I'm glad the instructions are clear enough to have worked for at least one person

    If anybody else has any problems, I'm subscribed to the thread so that I should be able to field any concerns in the future. The BIOS upgrade improves the embedded fan speed controller and seems to make suspend-to-RAM more reliable, so I think it's a good idea for x61ers.

    Mike

  4. #4
    Join Date
    Jul 2007
    Beans
    1

    Re: How to Upgrade the Thinkpad x61 BIOS

    GREAT tutorial. You hit the nail on the head.

    I just finished upgrading my X61s to the latest bios.

    Thanks again!

  5. #5
    Join Date
    Jul 2008
    Beans
    4

    Re: How to Upgrade the Thinkpad x61 BIOS

    Works fine, thanks. The best thing is seeing that other people have done so without problems as I was a little worried about frying the X61.

    The first time I overwrote the Win98 command.com file with the Lenovo one, using a simple copy and paste in windows, the flash drive failed to boot. It didn't like the command.com file. I then copied the DOS files from the ISO image to a new folder and pointed the HP USB tool to that folder. After booting fine, I ran updtflsh.exe to upgrade. I imagine that the Ubuntu commands avoid this. But anyway, a tip for those who do not yet have Linux or similar installed.

  6. #6
    Join Date
    Jul 2007
    Location
    Austin, TX (formerly D.C)
    Beans
    359
    Distro
    Ubuntu 10.04 Lucid Lynx

    Re: How to Upgrade the Thinkpad x61 BIOS

    I'm glad to hear that we're at least 4/4 for not destroying our laptops upgrading the BIOS

    The first time I overwrote the Win98 command.com file with the Lenovo one, using a simple copy and paste in windows, the flash drive failed to boot. It didn't like the command.com file. I then copied the DOS files from the ISO image to a new folder and pointed the HP USB tool to that folder. After booting fine, I ran updtflsh.exe to upgrade. I imagine that the Ubuntu commands avoid this. But anyway, a tip for those who do not yet have Linux or similar installed.
    I don't know why copying the files via Windows Explorer would make a difference, but thanks for the tip

    **NOTE: I tried the entire operation in Windows recently (to update to BIOS 2.14, and had no problem with Windows Explorer. I'm not sure what the issue StickyTape was experiencing, but if anybody else has the same one, he described a possible solution above.**

    Mike
    Last edited by mbsullivan; July 25th, 2008 at 10:47 PM.

  7. #7
    Join Date
    Aug 2008
    Beans
    3

    Re: How to Upgrade the Thinkpad x61 BIOS (Windows or Linux)

    Quote Originally Posted by mbsullivan View Post
    This tutorial details how to upgrade the BIOS of a Thinkpad x61, x61s or x61s tablet notebook using a bootable USB stick. At the time of writing, the 2.14 BIOS and 1.03 firmware versions are the most current for the X61/X61s. Also, the most current BIOS and firmware versions for the ThinkPad X61 Tablet are 1.17 and 1.02, respectively.

    Disclaimer: While these steps worked for me while upgrading my X61 BIOS from 1.06 to 2.07, and later from 2.07 to 2.14, use them at your own discretion. BIOS upgrades always carry some associated risk, and I cannot be held liable for anything that goes wrong.

    Motivation

    The Thinkpad x61 is an ultralight notebook offered by Lenovo. As any x61 owners should know, the internal optical drive present in most laptops was omitted from the x61 in order to minimize weight.

    Regular BIOS upgrades have been offered by Lenovo for the x61, and are released without charge in two forms:

    X61/X61s:
    1. A Win32-only executable
    2. A bootable DOS CD-ROM disc


    X61 Tablet:
    1. A Win32-only executable
    2. A bootable DOS CD-ROM disc

    The bootable CD-ROM disc is the only option available for GNU/Linux users. Ridiculously enough, USB CD-ROM drivers are not included on the disk, such that external CD-ROM drives will not work with the BIOS upgrade. Not even the Lenovo Thinkpad USB CD-ROM drive allows the user to upgrade the BIOS.

    Officially, the supported method for an x61 upgrade on a non-Win32 platform is to use the CD-ROM drive in an ultrabase. Those of us who don't have one are left in the dark. In this tutorial, I will show how to upgrade the x61 BIOS from a bootable USB stick.

    Why Upgrade the BIOS

    Although the stock BIOS shipped with most x61 laptops may be fine for most users, the newest BIOS (2.07), which was released in January, offers an improved fan speed controller. It also fixes USB interrupt bugs present in previous releases, which have manifested themselves as problems with the right-side USB ports (see here and here). Later BIOS revisions have dealt with other firmware bugs, such as WOL (Wake on LAN) errors, POST issues and CardBus and 1394 bugs.

    That being said, a BIOS upgrade not a necessity. There are workarounds for the problems it fixes (I provide a hack for the USB devices, for example, in the previous two hyperlinked posts). Of course, the newest BIOS and firmware versions are preferable, however, so without further ado...

    How to Upgrade the Thinkpad x61 BIOS with a USB Thumb Drive

    The rest of this tutorial shows how to upgrade the Thinkpad BIOS to the newest version under Linux or Windows without an internal CD-ROM drive. The basic steps involved are:

    1. Format the USB stick to be a DOS boot device
    2. Copy the bootable ISO BIOS files to the USB stick
    3. Boot to the USB stick and follow instructions

    Instructions for Step 1 are given for upgrading under Windows as well as Linux. Although it may be distasteful to an Ubuntu user, the instructions for upgrading on a Windows machine are simpler and carry less risk. However, should one be unable or unwilling to use a Windows machine, they may jump to the section entitled "Format the USB stick to be a DOS boot device (Linux)".

    1. Format the USB stick to be a DOS boot device (Windows)

    There are multiple ways to do this step, I'm taking the easiest route I know: the HP USB Disk Storage Format Tool combined with Win98 DOS boot disc files.

    First, connect a USB stick and backup any important files: we are going to format the device, which will lose any information you have on it.

    Next, get the HP USB Disk Storage Format Tool (from here or HPUSBFW.zip attached to this tutorial). Run HPUSBFW.EXE and select the FAT (FAT16) filesystem and "Create a DOS Startup Disc".

    Under "using DOS system files located at", provide a directory containing a valid DOS boot disc. I have attached the appropriate files for a Win98 DOS boot disc to this tutorial, in win98boot.zip. They should also be available here .

    Click "Start" to format the USB into a bootable DOS-wielding device. If this process worked, then skip to the section entitled "2. Copy the bootable ISO BIOS files to the USB stick".

    1. Format the USB stick to be a DOS boot device (Linux)

    First, insert your USB stick and determine what device it is assigned to. This is fairly simple by looking at the output of:

    Code:
    sudo fdisk -l
    For a device which is the same size as your USB stick and formatted (presumably) as Fat32 or Fat16. Normally the device will be in the form /dev/sdb or /dev/sdc, etc.

    Note: It is critical that you get the name of your usb device correct, and always type it accurately. If you use the device name of another harddrive, you could very easily end up wiping other, unrelated disks. For that reason, I'm always going to use the identifier [USB device] for the device name of your specific USB drive.

    After you have discovered your USB stick device name, set up a bootable Fat16 partition on the USB stick. There are multiple ways to do this (users familiar with parted/gparted may want to go that route). The simplest way, IMHO, is to enter the following command into a terminal window:

    Code:
    sudo cfdisk [USB device]
    Then, set up a "New" "Primary" partition filling the whole disc, make it "Bootable", and set the type to "0E" [W95 FAT16 (LBA)]. The "Write" the partition table to the USB drive.

    Next, format the newly created partition as a FAT16 drive. To do this, run the following in a terminal window:

    Code:
    sudo mkdosfs -F 16 -vc [USB device]1
    This may take a couple of minutes, unless your USB stick is on the smaller side.

    Now we are going to set the drive to be bootable, using FreeDOS system files. In order to make the USB drive bootable, we are going to use makebootfat. Because it is not (yet) in the Ubuntu repositories, you must compile and install it yourself, from source code. Alternatively, as described below, you may use a .deb file that I created.

    Using a precompiled package for makebootfat:

    Compiling makebootfat requires various packages that are required to build C programs from source. For lazy users or those who cannot or will not install the necessary requirements, I have attached a debian package (.deb) to this post (entitled "makebootfat_1.4-1ubuntu0_i386.deb
    "). I accept no liability for your use of this package. However, should you want to, it is installable through the following command:

    Code:
    sudo dpkg -i makebootfat_1.4-1ubuntu0_i386.deb
    If you have installed makebootfat through the attached .deb file, you may jump to the section entitled "Create the Bootable USB Device".

    Building makebootfat from source:

    In order to compile and build makebootfat yourself, get the project source code (labelled "makebootfat-1.4.tar.gz (0.1 MB)") here. I am also attaching the source code to this forum post, for reasons explained below.

    Note: This tutorial is written using makebootfat 1.4, which is protected under the GPL. On the off chance that future versions of the program stop working for our purposes, the source code for v1.4 is attached at the bottom of this post.

    The process for installing makebootfat is the same as most projects that must be built from source:

    Code:
    [in directory containing makebootfat-1.4.tar.gz]
    tar -xzf makebootfat-1.4.tar.gz 
    cd makebootfat-1.4
    ./configure
    make
    sudo make install
    This should install the project binary (makebootfat) to /usr/bin/makebootfat.

    Create the Bootable USB Device

    Now, we use makebootfat to create a bootable DOS USB stick. These instructions use draw files from the FreeDOS and SYSLINUX projects. In order to simplify everything, I have attached a tarball (linboot.tar.gz) that contains the files you need in order to upgrade the x61 BIOS. To get a better feel for where these files come from (and why) read this article.

    Download the essential configuration and system files, extract them, and go to that folder:

    Code:
    tar -xzf linboot.tar.gz
    cd linboot
    Now, make the USB drive bootable with the provided master boot record settings (mbr.bin), and the boot sector images (fat*.bin). Also, provide the FreeDOS system files:

    Code:
    sudo makebootfat -o usb -E 255 -1 fat12.bin -2 fat16.bin -3 fat32lba.bin -m mbr.bin freedos
    This will prepare the USB stick as a bootable device ready for the remainder of the X61 BIOS installation procedure.

    2. Copy the bootable ISO BIOS files to the USB stick

    This step is very simple: just copy all of the files from the bootable BIOS CD provided by Lenovo onto the USB stick. The ISO file can be found for the X61/X61s here, and for the X61 Tablet here.

    This can be done many different ways. In Windows, one must first mount the .iso file (which can be done using any of a number of different free programs) and then copy the files over.

    In Linux, the ISO may be trivially mounted and copied from the command line:

    Code:
    sudo mount -o loop [path to ISO file] [mount point]
    sudo cp -f [mount point]/* [path to USB folder]
    It should be noted that the default DOS command-line interpreter (COMMAND.COM), if present, should be overwritten by the (much smaller) version provided by Lenovo.

    3. Boot to the USB stick and follow instructions

    This step should pretty much be self-explanatory. Make sure to set the boot priority of the USB device to be higher than your internal hard drive, and then reboot!

    **Note: With BIOS revision 2.14, after booting to the USB device, the system may query for the location of the "COMMAND.COM" file. Should this happen to you, entering 'command.com' (without quotes) will allow you to proceed to the BIOS upgrade.**

    Follow the on-screen instructions, and your BIOS should be upgraded within 5 minutes. As always with BIOS upgrades, do not under any circumstances turn the laptop off before installation is complete, or you could turn your laptop into a very expensive paperweight.

    That's it! Please let me know if you have any questions.

    Mike



    Revision History:
    1.0.0 - Original post (June 4th, 2008)
    1.0.1 - Updated for BIOS revision X61/61s 2.14, Added "1. Format the USB stick to be a DOS boot device (Linux)" (July 30th, 2008)
    1.0.2 - Added ISO links for the X61 Tablet (August 5th, 2008)
    Hello guys,

    I've tried to upgrade my X61 BIOS from version 2.07 to 2.14 and get the following output while trying to write the update:

    "Invalid Opcode at 3A29....
    Invalid Opcode at 3A29....
    Invalid Opcode at 3A29....
    Invalid Opcode at 3A29....
    " in an endless loop until I pressed and hold the power button.

    Thanks a lot in advance for any clue.

    Tarlipe

  8. #8
    Join Date
    Jul 2007
    Location
    Austin, TX (formerly D.C)
    Beans
    359
    Distro
    Ubuntu 10.04 Lucid Lynx

    Re: How to Upgrade the Thinkpad x61 BIOS (Windows or Linux)

    Quote Originally Posted by tarlipe View Post
    Hello guys,

    I've tried to upgrade my X61 BIOS from version 2.07 to 2.14 and get the following output while trying to write the update:

    "Invalid Opcode at 3A29....
    Invalid Opcode at 3A29....
    Invalid Opcode at 3A29....
    Invalid Opcode at 3A29....
    " in an endless loop until I pressed and hold the power button.

    Thanks a lot in advance for any clue.

    Tarlipe
    Hi Tarlipe,

    Are you using a Tablet or a regular X61? Also, did you use the Windows or Linux version for step #1?

    Mike

  9. #9
    Join Date
    Aug 2008
    Beans
    3

    Re: How to Upgrade the Thinkpad x61 BIOS (Windows or Linux)

    Quote Originally Posted by mbsullivan View Post
    Hi Tarlipe,

    Are you using a Tablet or a regular X61? Also, did you use the Windows or Linux version for step #1?

    Mike
    I did the Linux version for step#1. Should I try on windows?

    thanks for your answer

  10. #10
    Join Date
    Aug 2008
    Beans
    3

    Re: How to Upgrade the Thinkpad x61 BIOS

    With the windows version for step#1, it worked like a charm!
    It just need to type command.com and everything went right.

    Thank you.

Page 1 of 3 123 LastLast

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •