Redhat 9 on an IBM Thinkpad G40.
This operation system installation didn't cost me a penny, so the least I thought I could offer in return was to document my experience in order to (hopefully) help others:
I found the following two articles really helpful:
http://www.hardeman.nu/~david/thinkpad/
http://www.userve.nl/laptop-g40.html
I did things in the following order which (possibly in a roundabout way) worked.
(NB I had already been running XP for a little while, but only a couple of hours, so was happy to reinstall it, blatting over any existing data)
1. Reformat the hard drive to FAT32
Press the "Access IBM" button on startup. Select the "Recover to factory contents" option. This will spend a couple of minutes reformating the NTFS partition to FAT32, and copying the XP install images from the (BIOS-)hidden section of the hard disk. It will then reboot (a number of times, if you let it) BUT...you need to interrupt this reboot, in order to run the RedHat installation.
My experience was that the "recovery to factory contents" procedure disables the "Access IBM" button until the whole recovery process is finished.
I solved this by holding down the OFF button immediately as the first reboot was commencing.
When you power up, you should be able to use the "Access IBM" button again, and choose to boot from the RedHat CDROM.
2. Resize the FAT32 partition
I performed this step, because RedHat's Disk Druid wasn't able to resize the FAT32 partition during installation (part 3., below). It was greyed-out. I therefore did it manually, using parted, as follows:
Boot from the RedHat installation CD. When prompted to press ENTER to continue installation, instead run "linux rescue". This will install a minimum linux kernel, enabling you to partition the hard drive.
Resize the large FAT32 partition, using "parted". This will be your windows XP partition, so make it as big as you think you'll need. I've read that you need up to 10GB for the "restore to factory defaults" procedure to work.
3. Install Redhat
Reboot (from the CD ROM, again), and install Redhat, partitioning the hard drive as you see fit.
(Note, I've subsequently found that the 1024 cylinder limit for booting from the hard drive DOESN'T apply to this Thinkpad. My Thinkpad happily boots from my /boot partition at cylinder 2033).
NB CREATE A BOOT FLOPPY, just in case!!
4. Reinstall XP
Once Redhat is installed, you can then perform another "restore to factory defaults" procedure which will reinstall windows xp into the first (fat32) partition. It will ignore your linux partitions, but it will reinstall the XP bootloader. I got a couple of messages about dodgy partition tables, but I *think* it was because of step 2. I just clicked "ok" and the XP installation sorted them out.
5. Install bootloader
I didn't install a bootloader during the Redhat installation, choosing to create an install floppy instead.
The XP installation then wrote its own. However, the RH installation appeared to have at least written a valid /etc/grub.conf file as I then ran
/sbin/grub-install /dev/hda
and the GRUB bootloader was installed!
6. Network
I installed the driver from Broadcom, following this advice.
NB In order to compile the driver, you need to install the "Kernel Development" and "Development Tools" packages (from the installation CDROM).
Configuring Redhat to boot up without the trying to initialise eth0.
Annoyingly, the DHCP negotiation (during boot) takes ages to time out if the ethernet cable isn't plugged in.
Apparently there's a way of setting the timeout to be shorter but...this can lead to dhcp not functioning properly.
I chose, instead to add a new option to the GRUB configuration so that - if desired, Linux can be started up without networking support. (I would imagine the process would be similar for LILO, but I haven't used it and so don't know!)
I'm no expert, and I followed somebody else's guidelines, but here's what I came up with. And it works!
Your versions of the following two files need to be edited as follows:
NB As with all such tinkering, MAKE BACKUPS FIRST!!
/etc/grub.conf
default=0
timeout=10
splashimage=(hd0,1)/grub/splash.xpm.gz
title Red Hat Linux
root (hd0,1)
kernel /vmlinuz-2.4.20-8 ro root=LABEL=/ hdc=ide-scsi
initrd /initrd-2.4.20-8.img
# This is a copy of the above, but with NO_NETWORKING=yes appended to the kernel parameters.
title Red Hat Linux NO NETWORK
root (hd0,1)
kernel /vmlinuz-2.4.20-8 ro root=LABEL=/ hdc=ide-scsi NO_NETWORKING=yes
initrd /initrd-2.4.20-8.img
title Windows XP
rootnoverify (hd0,0)
chainloader +1
|
/etc/network-scripts/ifcfg-eth0
# Please read /usr/share/doc/initscripts-*/sysconfig.txt
# for the documentation of these parameters.
USERCTL=no
PEERDNS=yes
TYPE=Ethernet
DEVICE=eth0
BOOTPROTO=dhcp
# The below used to simply read ONBOOT=yes
if [ "$NO_NETWORKING" = "yes" ]; then
ONBOOT=no
else
ONBOOT=yes
fi
|
7. Modem
Apparently, according to this article the internal AC'97 modem can be installed under Linux. Download the driver from here. This is version 2.7.10. Apparently later versions don't work. You have to change line 75 of amrmo_init.c from
#define PCI_DEVICE_ID_ICH3 0x2486
to
#define PCI_DEVICE_ID_ICH3 0x24C6
...and follow the instructions in README. I haven't tried running it yet, I'll post more details when I find my modem lead.
It works!
For some reason, using the graphical configuration tools, I couldn't get the modem to work. I had to perform the following steps:
- Connect using wvdial (I couldn't find pppd).
First of all, get wvdial to interrogate the modem, and write a config file.
wvdialconf /tmp/wvdial.conf
Edit this config file, and insert your ISP's phone number, and your username and password.
Test this, as follows:
wvdial --config /tmp/wvdial.conf
It should connect to your ISP, via the modem. NB Ctrl-C disconnects.
Once you're happy that the configuration works, you can copy it over /etc/wvdial.conf, meaning that you can subsequently simply use wvdial with no arguments.
- Running ifcfg should show that you now have a ppp0 interface. Now all you have to do is route all (non-local) IP traffic through it. Execute the following command:
/sbin/route add default ppp0
You can use /sbin/route to view the resulting routing configuration.
On my Thinkpad, this seems to work.
It's very inelegant, and I could probably spend some time getting "ifup ppp0" to work, but...I only rarely use the dial-up so I probably won't bother.
NB I don't know much AT ALL about networking; this article seemed interesting, and helped me.
The wvdial man pages were quite helpful, too.
8. Automounting digital camera
I made the following changes in order that my (USB) digital camera be automatically mounted (with desired permissions) whenever it be plugged in:
/etc/auto.master
# Uncommented the following line:
/misc /etc/auto.misc --timeout=60
|
/etc/auto.misc
# Added the following line:
# uid=500 means that it's mounted being owned by user 500 (who
# happens to be me).
camera -fstype=auto,uid=500,mode=775 :/dev/sda1
|
You can then either reboot, or simply restart the autofs process:
/etc/init.d/autofs restart
Now this is done, I can now magically view the contents of my digital camera by simply executing "cd /misc/camera". No more hassles with "mount", etc.
9. Mounting the windows NTFS partition (read-only)
I went to http://linux-ntfs.sourceforge.net/rpm/redhat9.html
and downloaded kernel-ntfs-[KERNEL-VER].i686.rpm
NB [KERNEL-VER] should be replaced by your kernel version; in my case "2.4.20-30.9".
I then followed these instructions.
In order that the NTFS partition be mounted automatically, I added the following line:
/etc/fstab
/dev/hda1 /mnt/windows ntfs ro,umask=0222 0 0
|
(Thus far) it all seems to work.
Kieran.
Apr 2004