Your trail: DebianLinuxOnCompaqPresario1503APLaptop
Install Debian Linux on Compaq Presario 1503AP laptop
Identify hardware
The Presario 1503AP bears the label 'Presario 1500' on the cover. There is a sticker just above the right hand speaker that identifies the precise model '1503AP'. There is also a more detailled Compaq serial number sticker on the bottom of the machine - the codes on this sticker allow you to work out the exact model and original hardware configuration (CPU, RAM, HDD) regardless of which model Compaq you have.
The specifications relevent to the Linux install:
| Feature | Detail | |
| CPU | Intel Pentium 4 2GHz | |
| Memory | 256MB | |
| Hard disk | 20GB | |
| Other storage | CD-ROM (internal) | |
| | 1.44MB FDD (internal) | |
| USB | USB 2.0, 2 ports (NEC), OHCI compliant | |
| Firewire | IEEE1394, 1 port, Texas Instruments | |
| Video | ATI Technologies Inc Radeon Mobility M6 LW (Radeon 7500 is an alternate name for this card) | |
| Sound | Intel Corp. AC'97 Audio Controller | |
| Input devices | Keyboard - standard | |
| | Touchpad - standard PS/2 | |
| Modem | Conexant HSFi V92 MiniPCI? modem | |
| Ethernet | Intel PRO/100 VE | |
| PCMCIA | Texas Instruments PCI1410 PC card Cardbus Controller | |
| Infra Red | | |
Installation Notes
I believe the Debian documentation already tells you most of what you need to know to boot and partition. I will point out the main issues that you will need to deal with. If you are unfamiliar with the Linux installation process then I suggest you read both this document and the installation document for your chosen Linux distribution from start to finish before commencing the installation.
Booting Linux
You may need to set your BIOS to allow booting from CDROM or floppy (whichever is your preferred boot media). Do this by pressing F10 within the first 2 seconds of switching on the power and then setting the appropriate option within the menus.
Some Compaq's have a CMOS setting that bars them from booting from a floppy disk. This setting can only be disabled using a DOS utility obtained from the Compaq web site or Compaq support disks that accompany the machine. This didn't apply to my laptop.
I booted successfully with the 2.0.38 kernel on my bootable Debian 2.1 CDROM. Other 'installation standard' kernels should also boot successfully. Most of the necessary drivers aren't included in this type of kernel and you will have to compile your own later for best compatibility and performance.
If you have never compiled a kernel before, then your freshly installed system is the best opportunity to experiment with kernels.
Partitioning for dual boot
If you are planning on dual booting Linux and XP or Linux and 2000 Pro (I chose the latter) then you will need to partition your hard drive with Linux.
THIS WILL ERASE THE ENTIRE CONTENTS OF YOUR HARD DISK
You will need to re-install Windows after installing Linux. You can not use the auto-recovery CD supplied by Compaq. Therefore, you have to manually locate the necessary drivers for your laptop and put them onto a CDROM or removeable USB hard disk BEFORE you commence this process. You will also need to have an ordinary Microsoft Windows CDROM with serial number.
All the Windows drivers you will need are at http://www.compaq.com in the software downloads area. Compaq calls these drivers Softpaqs. There is a tool on the web site to locate the SoftPaqs? required for your desired operating system and model of laptop. This tool found for me all the drivers except the modem driver. The modem driver for Windows 2000 is SP19194 - this is very important as none of the Windows generic modem drivers will work with this modem!
Let's now deal with the partitions.
/dev/hda1 should be a small partition, say 64MB, for your /boot partition.
/dev/hda2 can be your swap partition, 128MB is fine. Create the partition and set the type to "Linux Swap".
/dev/hda3 will be your Windows partition. Create this partition and set the type to one of the arbitrary FAT32 types.
/dev/hda5 will be your Linux partition. Create this partition and set the type to "Linux". This partition should be a logical partition, you may need to create an extended partition first depending on which partitioning program you use. My partitioning program created the extended partition automatically when I chose create logical partition.
Partition sizes: This really depends on how much Linux data you have and how much Windows data you have.
Finally, after doing the above partition, DELETE the Windows partition that you just created. Leave this space unallocated and Windows partition software will recreate the partition later.
Installation method: network, modem, CDROM or external drive
If you are installing entirely from CDROM, great. Just install everything you need, including Kernel source 2.4.18 or later, and proceed to configure the kernel.
If you are installing from the network, you will need to have booted from a recent kernel. I used a 2.4.18 binary from someones web site. The laptop has an Intel Ether Express 100 card. In my experience, every newer version of this card is incompatible with the older versions of the driver, under both Windows and Linux. In other words, if you have a kernel that includes an Intel Ether Express 100 driver but it doesn't detect your card (whether it's this machine or another machine in future) then you may need to either a) get a newer kernel or b) do what I have had to do several times and patch the driver code in the kernel to recognise the newer card and pretend that it is an older model.
If you want to install using the modem, then it just won't be possible. The modem is a software modem and you will need to do a full kernel compile and module compile to get everything up and running. You just won't be able to do these things until after you have installed the rest of the system!
Installing from an external drive will require you to boot with a kernel that has got SCSI support, SCSI hard disk support, USB OHCI support and USB mass storage support. All four of these modules must be either loaded or compiled into the kernel. You then mount your external USB drive as if it were a SCSI drive. Eg, if no other SCSI peripherals are present, then the first partition on your external hard disk will be /dev/sda1
Installing LILO
Install LILO to the master boot record. Make sure the options below are included in /etc/lilo.conf
boot=/dev/hda
root=/dev/hda5
image=/vmlinuz
label=Linux
read-only
Configure the kernel
For those who have never done this:
cd /usr/src
bzip2 -cd kernel-source-2.4.18.tar.bz2 | tar xf -
cd kernel-source-2.4.18
make menuconfig
now select all the options you require, especially the drivers that relate to this laptop
make-kpkg binary --revision=cpq1503ap.1
cd ..
dpkg -i kernel-image-2.4.18_cpq1503ap.1.deb
Your kernel is now installed!
Reboot and test
See if it works. I hope by now that you have forgotten about installing Windows, if not read on.
Install Windows
Before installing Windows, you will need to create a Linux boot floppy. You will need this shortly. A Debian rescue disk will be fine if you already have one, or a bootable Debian CD.
To create a raw kernel floppy:
cp /vmlinuz /dev/fd0
rdev /dev/fd0 /dev/hda5 (I assume here that /dev/hda5 is your Linux root partition)
Boot from the Windows install CD.
When it asks about partitioning, create 1 new partition in the space you left empty before.
Windows will ask you if it can make it's partition the bootable partition, and therefore prevent your other operating system from booting. This is OK for now and we will show you how to reconfigure LILO soon.
Complete the install process for Windows.
Install the Softpaq's from Compaq.
Boot your system into Linux again using the disk you created/already had.
Add the following to /etc/lilo.conf:
other=/dev/hda3
table=/dev/hda
label=w2k
You now need to type the command
lilo
to rewrite the partition table to the disk.
When you boot, the word LILO will be displayed momentarily. You can press the shift key at this point and the LILO menu will appear, allowing you to choose your operating system.
USB support
The USB driver in the kernel works fine.
The option CONFIG_USB_OHCI is required when compiling the kernel. On the menu, this appears as "OHCI (Compaq, iMacs, OpTi?, SiS?, ALi, ...) support"
Firewire
The firewire module loads. I haven't tested it with any hardware.
The option CONFIG_IEEE1394_OHCI1394 is required when compiling the kernel. On the menu, this appears as "OHCI-1394 support".
Video
The ATI Mobility Radeon 7500 card requires that you use a recent kernel, for example 2.4.18 and Xfree86 version 4.2 (found in the unstable release of Debian). Xfree86 version 4.1 did not work. The device setting to use is: ati
Make sure you enable CONFIG_AGP when compiling the kernel, this is shown as "/dev/agpgart (AGP Support)" in the menu.
Sound
The Intel sound driver works fine.
Choose CONFIG_SOUND_ICH when compiling the kernel. This is shown on the menu as "Intel ICH (i8xx) audio support.
Modem
After compiling your kernel, you will need to obtain the HSF driver from the Conexant Linux pages on the web. Use the tar file, not the RPM's.
Simply follow the instructions. When you try to load the driver it will tell you that it can't find your modem and it will ask for the PCI vendor ID and device ID. You can confirm these using the following two commands:
cat /proc/pci
pcitweak -l
On my system the vendor ID is 14f1 and the device ID is 2f00, however, these values could change if Compaq introduces a newer model modem chip into the machine. Best to confirm them with pcitweak
After doing the above and letting the script recompile the drivers, the modem worked fine. The current version of the Linux driver doesn't support V.92.
Ethernet
To use the ethernet card, you will need to have booted from a recent kernel. 2.4.18 worked for me. The laptop has an Intel Ether Express 100 card. In my experience, every newer version of this card is incompatible with the older versions of the driver, under both Windows and Linux! In other words, if you have a kernel that includes an Intel Ether Express 100 driver but it doesn't detect your card (whether it's this machine or another machine in future) then you may need to either a) get a newer kernel or b) do what I have had to do several times and patch the driver code in the kernel to recognise the newer card and pretend that it is an older model.
The kernel compile requires the option CONFIG_EEPRO100, or "Ether Express Pro/100 support" if you are using the menu.
PCMCIA
The CardBus? module appeared to load successfully, I don't have any PC cards to test it.
Just selecting CONFIG_CARDBUS or "Card Bus support" is all that is required when compiling the kernel.
Infra Red
I haven't tested this either, but the module appears to load successfully.
Conclusions
Overall, setting up this laptop wasn't too hard, I didn't have to modify any source code, and all built in devices are working (although only within the limits of the Linux drivers, eg the modem won't operate at full V.92 level).
I required the latest unstable version of Debian and kernel version 2.4.18 in order to get everything working. Debian version 3.0 includes Xfree86 v4.1, which won't work with this laptop. |
|