Tuesday, January 1, 2013

How to install Linux on an IBM Thinkpad 750

Now, before your eyebrow finishes its arch, I wrote this howto over 10 years ago!  However, due to the nature of change over the years, the original URL fell off of the internet and this howto is no longer linked to http://www.linux-on-laptops.com.  Therefore, without further adieu, my HOWTO on How to install Linux on an IBM Thinkpad 750:


Running Linux on an IBM Thinkpad 750 (non-colour/monochrome-like display)

by Scott Prader.
Original Version 0.0.4, November 6, 2001
Previous Version 0.1.0, January 1, 2013
Updated Version 0.2.0, February 2, 2014

Well, I'll tell you what I tried, what failed, and what succeeded.

BTW, if you are looking for help on running Linux on other laptops, go this site to the Official "Linux on Laptops" homepage.  For more information on IBM Thinkpad laptops in general, this link has some nice information.

The Hardware

What I basically have is what was handed to me by someone who did not want this any longer (he doesn't know much about computers and figures that if it doesn't have color then it's as good as junk.) was an IBM Thinkpad 750, complete with power supply. It has a 486 dx 25 (or 33mhz, Linux still hasn't decided what it wants to be yet), 8 megs of ram, a 170 meg ide hard drive, a black & white display, 2 PCMCIA slots, and the standard 15-pin video (for an external monitor), serial and parallel ports. It also has some sort of sound card but I haven't managed to get it to work yet.. from what I heard, it would require a boot to dos or win95 to properly initialize it and then a loadlin into linux.. not exactly a route i wish to take.  I was also fortunate to have another friend with a 3com 3c589 Etherlink III PCMCIA Network Card to use.

What I tried

Redhat did not give the results that I was looking for (it wouldn't boot a full kernel), so I tried Slackware and it was problematic as well.

What failed

Slackware did not work right away.  It would boot the boot floppy just fine and ask for the root floppy (which is normal behavior) but once it started to run it's rc scripts, it found it could not fork any longer.

What worked

A bunch of people on the internet claimed that Debian is the best Linux distro out there.. I was skeptical, but adventurous.. I didn't know what else to do but to give it a go.. so I fished thru hundreds of floppy disks to find 7 working (for the most part) floppies to be used. See, I didn't have a Debian CD at the time but I did have a cable modem, so downloading distro's of any OS off the internet is not much of a problem.  However, Debian took a lot of the guess work out of that.. there is a 7-disk method with which you can install debian from virtually any way: floppy, cdrom, ftp, NFS... so I went with the floppy method.. i knew about the apt-get program that came with it so i wasn't too upset with a minimal installation.  So I booted up the first 2 floppies.  To my surprise, the standard debian floppy disk installation method comes fully complete with PCMCIA support.  It managed to detect the 3c589 just fine.  After installing all of the floppies, I rebooted and was pleased to find a 2.0.36 kernel booting happily.

In Conclusion...

Getting the base OS of Debian installed was a snap.  I then gave it an IP address using ifconfig+route and used Debian's neat config scripts to configure the network.  I plugged some cat5 into the 3c589, plugged it into the hub, told my server about it, and soon enough it was talking to the net!  I used the apt-get program to install what i needed off of the internet.  I didn't need a cdrom for this; I could update it all off the internet with ease.  Considering the hardware limitations, it sure beat hours and hours of compiling.  I tried to get X working but it doesn't seem to like the b&w screen.  However, on an external monitor it will work.  After I installed several things like a compiler, perl and a few other useful things used to program, I still had more than 50 megabytes of hard drive space free. I've taken it with me a lot and when i don't, it sits on top of the TV upstairs for me to use while watching TV.

New Information [ August, 2000 ]

Well, considering it's been nearly a year now without any updates to this page, I figured it was about time.  So, here are some quick notes that i have compiled to make life a little easier for people, along with some tips on newer kernels and distributions:

  • When booting from a Debian installation (or any linux floppy disk) be sure you specify: floppy=thinkpad otherwise you will run into nasty problems. 
  • Debian Potato 2.2 has _FINALLY_ been released!! So what's the dilly-o? Welp, if you've ever tried to boot a standard set of boot/root floppies from potato onto a 750, you KNOW it won't work, even with floppy=thinkpad. why? VFS kernel panics when u insert the root floppy. Sooo, the solution is to snag the compact kernel image and drivers and write these over to your floppies... simply create your normal boot floppy, mount it, replace the 'linux' kernel file, unmount it, then go boot it. Suddenly, you can install Potato on your Thinkpad 750. Of course, the drivers must be installed onto the appropriate floppy as well. 
  • I somehow found myself back in Silicon Valley last week at the LWE and an old BBS friend had some thinkpad stuff laying around.. so now my 750 is running 20 megs of ram (as opposed to 8) and has an 810 meg hard drive (as opposed to 170 megs), so it is much speedier and thus more useful. :) 
  • Pictures!! Got one up for now, I'll get some more up later. 
  • TODO

    At this point, I still have yet to get X to behave properly, although I have gleamed some information from the video card when typing 'X' on its own and reading the server messages. I also recently stumbled across one of IBM's sites that has complete PDF and, for some, Bookmanager documentation for legacy IBM Thinkpads at http://web.archive.org/web/20010208214159/http://www3.pc.ibm.com/cgi-bin/bookmgr/BOOKS/tpvol2/CCONTENTS.  The documentation appears to include the 750, but after messing around in ftp.pc.ibm.com/pub/pccbbs/mobiles, I came across 750_tips.txt which should help shed some light on anything 750-related. Also, a PDF file (viewable just fine with xpdf) I found contains some information on the 750 (as well as the 720c, one of which I was handed last week from a friend I know from online.. I'm SUCH a hardware geek *g*).


    UPDATE!!! [ November, 2001 ]

    So I'm sitting here messing around with traffic shaping when I receive an email from Jeremy Ferris thanking me for putting this site up. A week passes and he responds with an XF86Config file for the 750. I have yet to try it out but I certainly will soon; here it is:

    # Refer to the XF86Config(4/5) man page for a description of the format
    Section "Files"
        FontPath "/usr/X11R6/lib/X11/fonts/misc/"
        FontPath "/usr/X11R6/lib/X11/fonts/Speedo/"
        FontPath "/usr/X11R6/lib/X11/fonts/75dpi/"
        FontPath "/usr/X11R6/lib/X11/fonts/100dpi/"
        RGBPath "/usr/X11R6/lib/X11/rgb"
    EndSection
    Section "ServerFlags"
    EndSection
    Section "Keyboard"
        Protocol "Standard"
        AutoRepeat 500 5
        ServerNumLock
        LeftAlt     Meta
    EndSection
    Section "Pointer"
        Protocol "ps/2"
        Device "/dev/mouse"
        Emulate3Buttons
    EndSection
    Section "Monitor"
        Identifier "TP Monitor"
        VendorName "IBM"
        ModelName "TP750"
        BandWidth 80        # this may not be correct
        HorizSync 35.38
        VertRefresh 67.38
        ModeLine "640x480" 28.3 640 672 768 800 480 490 492 525
    EndSection
    Section "Device"
        Identifier "IBM Device"
        VendorName "Unknown"
        BoardName "Unknown"
        #Chipset "wd90c30"
    EndSection
    Section "Screen"
        Driver "vga16"
        Device "IBM Device"
        Monitor "TP Monitor"
        Subsection "Display"
            Modes "640x480"
            ViewPort 0 0
            Virtual 800 600
        EndSubsection
    EndSection
    
    now, this file worked under slackware but I had to change the Device under 
    "Pointer" to: /dev/psaux to get it to run for Debian.
    
    My initial problems with getting the Debian setup going all revolved around 
    faulty disks! grr! I think that I did not encounter this problem with 
    slackware because I used dd differently. I think that maybe the Debian way 
    (that is the way one is told to use dd in the installation guide) for using 
    dd doesn't check the disks for errors... I could be wrong and I have not 
    tested the theory. 
    
    I have since compiled a new kernel on the 750 and am trying to set it up as a 
    firewall/proxy.
    
    once again, thanks for having your how-to up, it was helpful.
    
    Jeremy