Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 27 Apr 2001 13:37:59 -0500
From:      "Jacques A. Vidrine" <n@nectar.com>
To:        freebsd-mobile@FreeBSD.org
Subject:   [SOLVED?] IBM ThinkPad X20 and FreeBSD
Message-ID:  <20010427133759.A71732@hamlet.nectar.com>

next in thread | raw e-mail | index | archive | help
[Bcc'd to -chat because there was general interest in this at one
 time.  Please follow-up there if your message is not related to the
 technical content of this message.  Thanks!]

Hello all.  This is the  continuing saga of apparent incompatibilities
between IBM's ThinkPad BIOS and FreeBSD.

Summary for the impatient:
   
   I received a  ThinkPad X20  yesterday, with  BIOS version 2.12  and
   embedded controller program version 1.27 (the most recent available
   of each).  It was  preinstalled with Windows  2000 Professional.  I
   shrunk the partition and  installed FreeBSD.  Thereafter, the  BIOS
   would hang at boot, so that I could not boot off  of any device.  I
   downgraded to an older BIOS, and was then able to boot FreeBSD.

   BIOS version 2.12:  The most recent. Hangs if FreeBSD is installed.
        version 2.10:  Supposedly fixed,  but unavailable for download
                       or from tech support.
        version 2.07:  Supposedly  broken,  but  actually  works  with
                       FreeBSD.

More information:

Those interested will already be aware of the  BIOS problems that have
plagued ThinkPads in the past 6  months or so.   The issue was brought
up on    BSD Today [1] and  Slashdot,   and there  was  a discouraging
description of the problem posted on IBM's tech support web site [2].

Later it was reported that the problem was  fixed [3].  Shortly after,
I ordered  a ThinkPad X20  to replace my  really well beaten Sony VAIO
Z505.

When  I received the ThinkPad X20,  it had two partitions: partition 1
was Windows  2000; partition 2 was the  IBM Recovery  Partition.  Both
were FAT32   formatted with partition  id 28.  The  system worked fine
under Windows 2000.  There was no hibernation  partition and I did not
try anything to do with hibernation.

After  verifying  the  thing  was in    basic working  order,   I used
PartitionMagic to shrink the Windows 2000 partition.  I also installed
BootMagic.  This  left me with pretty  much the  same partition table,
except  that the Windows  2000 partition started  about 14 GB into the
disk (20 GB total  disk).  I then  verified everything still worked by
rebooting a few times.

Finally,  I installed FreeBSD  4.2.    FreeBSD  was installed  at  the
beginning of the disk in the  14 GB partition.  My resulting partition
table looked something like this:

   #   ID  type   ~start   ~size  description
   1   28  FAT32    14GB     4GB  Windows 2000
   2   28  FAT32    18GB     1GB  IBM Recovery Partition
   3  165  FreeBSD     0    14GB  FreeBSD 4.2

Fairly  simple set up.  Once I   rebooted after this new installation,
the BIOS hung.   I could not access   the BIOS configuration  menu, or
boot off of any device.

Searching the IBM web site led me to the location  of BIOS and related
updates [4].  One can  see on the web  site and  in the release  notes
that the original problem was corrected.   Here is an excerpt from the
release notes for BIOS version 2.10 for the ThinkPad X20:

  <2.10 - 2.10(IZET90WW)>
   - (Fix) The system can't be booted from the hard disk drive whose
           partition ID is n5h (n is 1 or greater).

At this point I  was pretty confused,  since naturally this fix should
have also been in BIOS version 2.12 (the BIOS I was running).  Yet the
symptoms were  exactly  as those described  in  the originally reported
problem and on these mailing lists.

I decided that I  would try downgrading to  BIOS version 2.10.  Only I
couldn't find it for download!  2.07 and  2.12 were available, but not
2.10.  This  prompted me to contact IBM  tech support.   I was told by
the  (nice,  helpful) tech there  that   version 2.10 was  never  made
available for  download and never     will  -- it was  only    factory
installed.  He didn't know why :-)

The tech suggested downgrading to 2.07,  and then back  to 2.12 to see
if that cleared  anything up.  I was skeptical,  but I  wanted to give
support enough information so that the problem would be resolved, so I
gave it a try.

I removed the hard drive so I could boot of the System Program Service
Diskette with BIOS version  2.07.    The downgrade went smoothly.    I
replaced   the   hard  drive,    just  to see    what   happened,  and
what-do-you-know: I could now boot normally again.

As a  sanity check, I went  through  the procedure  to upgrade back to
2.12.  Once this  was done, my  BIOS would hang at  boot again.  Again
downgrading to 2.07 brought things back to `normal'.

I reported the results  back to IBM  support, so  that they could  fix
BIOS version 2.12.  My ticket number for this  problem is 16650354.  I
asked them to keep the ticket open -- I  consider using the older BIOS
a work-around only.  If you have  similar problems  with your ThinkPad
X20 or other ThinkPads, I  encourage you to cross-reference my  ticket
number when contacting support.

Now, if I were brave, I would create another  dummy partition and mess
around with   different partition  IDs   to see  if   it matched   the
description of the bug fixed (i.e. supposedly any partition id that is
a multiple of  16, plus 5 should  trigger the bug).  However,  I don't
have any  way to access the ThinkPad  hard  drive should I  get myself
into a fix.  If you have multiple ThinkPads or can otherwise frob your
drive elsewhere to  recover, I encourage you  to do so and report your
results here.

I  may  report more  later about how   well this ThinkPad  works under
FreeBSD.  For now I have to visit my in-laws for  the weekend, and eat
boiled crawfish and fried catfish. :-)

Cheers,
-- 
Jacques Vidrine / n@nectar.com / jvidrine@verio.net / nectar@FreeBSD.org

[1] <URL:http://bsdtoday.com/2000/November/News342.html>;

[2] <URL:http://www-1.ibm.com/servlet/support/manager?rs=0&rt=0&org=psg&doc=7D1DA70F48750BC4852569850057E57E>;
    or go to IBM's web site and search for `thinkpad freebsd'.

[3] <URL:http://slashdot.org/bsd/01/02/01/1448231.shtml>;

[4] <URL:ftp://ftp.pc.ibm.com/pub/pccbbs/mobiles/>;  To find information
    about the bug fixes, search the *.txt files for the string `n5h'.
    The important files there for the ThinkPad X20 are:
      spsdiz88.exe    Creates a bootable disk for installing BIOS v2.07
      spsdiz88.txt    Release notes for above.
      spsdiz92.exe    Creates a bootable disk for installing BIOS v2.12
      spsdiz92.txt    Release notes for above.
      d2dfdfix.exe    Creates a bootable disk for accessing the IBM 
                      Recovery Partition of your hard drive.

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-mobile" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20010427133759.A71732>