Search:  
Gentoo Wiki

HP_Compaq_Presario_V2000

Contents

Introduction

This is a guide to installing and making Gentoo 2005.1-rc1 usable and functional on a Compaq Presario V2000 based laptop. The specific model I installed upon is the V2410US. This should work on any of the AMD-processor-based ATI motherboard-based V2000 variants, and also any similar-architectured HP models as there are many HP laptops with the same configuration. It will probably work to a lesser degree of success on the Intel-based ones, but some modifications to the procedure will have to be done of course.

I'll be doing a reinstall and documenting what I do as I go along here to help other V2000 users.

The Beginning - Initial Setup

The first step - booting off the Gentoo CD. I only mention this because there's a glitch in some V2000 BIOSes that cause a bug in the APIC to make time go twice as fast as it should. (so 1 second = 2 seconds.) If you have one of these defective BIOSes - I'd recommend flashing it with the Windows-only-based flash utility and BIOS image available at www.compaq.com before starting the Gentoo install as there are no linux-ways to flash it as of yet.

Warning: If you don't follow this step on buggy firmware your system clock will be totally out of wack and could cause file modification time problems as well as very glitchy behavior.

To boot Gentoo and safely avoid this problem in either case:

Code: Boot Prompt
boot: gentoo noapic

The trackpad gets activated at boot from the CD's kernel, and touch sensitivity is turned on in this default state, the pad is so sensitive you will find yourself accidentally clicking all over the console because GPM gets started automatically. You can disable this by typing /etc/init.d/gpm stop before doing anything else. It makes the installation much easier.

Out-of-box the internal wireless card will not work for Gentoo installation, you will have to use wired ethernet for the first portion of the install. You will have to restart ethernet connectivity on the system as it seems to sometimes have a hard time setting up the card via DHCP - so right after you're at a command prompt, type:

Code: Boot Prompt
/etc/init.d/net.eth0 restart

Next step - fdisk the drive - any standard fdisk method should work here, I've tried several and all have worked fine.

For the Stage3 (or 2 if you are adventurous) tarball I used the stage-3-athlon-xp-2005.1-r1.tar.bz2 because its architecture is fairly the same. The 64-bit system builds should also work to some degree but one would probably need to do a stage2 build for that, when I attempted a 64-bit stage3 none of the included precompiled apps would work because the boot CD apparently assumed the processor was 32-bit and started into a 32-bit environment.

The rest of the install for the next bit is straightforward as in the Gentoo handbook so I won't waste space duplicating information.

Kernel Configuration

Once your chrooted into your environment they had you set up, skip their recommendation to use gentoo-sources. This hardware is very picky with everything so I've been using the vanilla-sources-2.6.14.2 - the newer kernels in ~arch don't add any benefit to this particular system. Grab the kernel by typing

Code: Kernel
emerge =vanilla-sources-2.6.14.2

Update: On a V2310US, gentoo-sources 2.6.20-r8 runs without issues.

This is the output of lspci - this coupled with Internet research is what I used to pick the kernel configuration options for core system functionality - notes within.

Code: lspci
00:00.0 Host bridge: ATI Technologies Inc RS480 Host Bridge (rev 01)
00:01.0 PCI bridge: ATI Technologies Inc Unknown device 5a3f
00:13.0 USB Controller: ATI Technologies Inc IXP SB400 USB Host Controller
00:13.1 USB Controller: ATI Technologies Inc IXP SB400 USB Host Controller
00:13.2 USB Controller: ATI Technologies Inc IXP SB400 USB2 Host Controller
00:14.0 SMBus: ATI Technologies Inc IXP SB400 SMBus Controller (rev 11)
00:14.1 IDE interface: ATI Technologies Inc Standard Dual Channel PCI IDE Controller ATI
00:14.3 ISA bridge: ATI Technologies Inc IXP SB400 PCI-ISA Bridge
00:14.4 PCI bridge: ATI Technologies Inc IXP SB400 PCI-PCI Bridge
00:14.5 Multimedia audio controller: ATI Technologies Inc IXP SB400 AC'97 Audio Controller (rev 02)
00:14.6 Modem: ATI Technologies Inc ATI SB400 - AC'97 Modem Controller (rev 02)
01:05.0 VGA compatible controller: ATI Technologies Inc ATI Radeon XPRESS 200M 5955 (PCIE)
05:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)
05:02.0 Network controller: Broadcom Corporation BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (rev 02)
05:09.0 CardBus bridge: Texas Instruments PCIxx21/x515 Cardbus Controller
05:09.2 FireWire (IEEE 1394): Texas Instruments OHCI Compliant IEEE 1394 Host Controller
05:09.3 Mass storage controller: Texas Instruments PCIxx21 Integrated FlashMedia Controller
05:09.4 Class 0805: Texas Instruments PCI6411, PCI6421, PCI6611, PCI6621, PCI7411, PCI7421,PCI7611, PCI7621 Secure Digital (SD) Controller

The very bottom item - the TI SD controller does not function in Linux. It is the only piece of hardware (not including the VGA-out/TV-out/Expansion Port 2/Modem which I haven't had a chance to try yet) on this system that does not have any drivers for it. There is a project that has barely started regarding this, but progress has been minimal so far. If you have any ideas go there and offer your support! Texas Instruments 6xx1,7xx1 FlashMedia driver for Linux Also a discussion thread on the topic that has some information: Linux on Laptops - Texas Instruments PCIxx21 Integrated FlashMedia Controller Here are the basic kernel configuration options necessary to make this system boot off the kernel. Extras can be added on a user-requirement basis of course. (Also many can be shut off as there are some options such as gigabit ethernet controllers and IBM ThinkPad options turned on in the default kernel config that have no reason to be turned on.)

Update: As of kernel 2.6.17 this driver is included in the kernel. It supports slow SD card read/write and perhaps MMC. It doesn't work on XD, Memory Stick, or SM.

Linux Kernel Configuration: Kernel Configuration
Processor type and features  --->
    Processor family (Opteron/Athlon64/Hammer/K8)
    [*] HPET Timer Support 
    [*] Preempt The Big Kernel Lock
    [*] Local APIC support on uniprocessors
    [*]   IO-APIC support on uniprocessors
    [*] Machine Check Exception
    <*>   Check for non-fatal errors on AMD Athlon/Duron / Intel Pentium 
    <*> /dev/cpu/*/msr - Model-specific register support
    <*> /dev/cpu/*/cpuid - CPU information support
    High Memory Support (4GB)  ---> (Needed if you have more than 1GB RAM)
    Memory model (Flat Memory)  --->
    [*] Allocate 3rd-level pagetables from highmem
    [*] MTRR (Memory Type Range Register) support
    [*] Enable seccomp to safely compute untrusted bytecode
Power management options (ACPI, APM)  --->
    [*] Software Suspend
    ACPI (Advanced Configuration and Power Interface) Support  --->
        [*] ACPI Support
        [*]   Sleep States
        [*]     /proc/acpi/sleep (deprecated)
        <*>   AC Adapter
        <*>   Battery
        <*>   Button
        <*>   Video
        <*>   Generic Hotkey (EXPERIMENTAL)
        <*>   Fan
        <*>   Processor
        <*>     Thermal Zone
        (0)   Disable ACPI for systems before Jan 1st this year
        [*]   Power Management Timer Support
    CPU Frequency scaling  --->
        [*] CPU Frequency scaling
        <*>   CPU frequency translation statistics
        [*]     CPU frequency translation statistics details
        Default CPUFreq governor (userspace)  --->
        ---   'userspace' governor for userspace frequency scaling
        ---   CPUFreq processor drivers
        <*>   ACPI Processor P-States driver
        <*>   AMD Opteron/Athlon64 PowerNow!
    Bus options (PCI, PCMCIA, EISA, MCA, ISA)  --->
        [*]   Legacy /proc/pci interface
        [*] ISA support (I don't think this is needed but some hardware was reported as an ISA bridge, so just in case...)
        <*> PCCard (PCMCIA/CardBus) support
            <*>   16-bit PCMCIA support
            [*]     PCMCIA control ioctl (obsolete)
            ---   32-bit CardBus support
            ---   PC-card bridges
            <*>   CardBus yenta-compatible bridge support
        Networking  --->
            Generic IEEE 802.11 Networking Stack
            <*>     IEEE 802.11 WEP encryption (802.1x)
            <*>     IEEE 802.11i CCMP support
            <*>     IEEE 802.11i TKIP encryption
    Device Drivers  --->
        Plug and Play support  --->
            [*] Plug and Play support
            [*]   Plug and Play ACPI support (EXPERIMENTAL) 
        Block devices  --->
            <*> Normal floppy disk support
            <*> Low Performance USB Block driver
            [*] Support for Large Block Devices
        ATA/ATAPI/MFM/RLL support  --->
            <*> ATA/ATAPI/MFM/RLL support
            <*>   Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support
            <*>     Include IDE/ATA-2 DISK support
            [*]     Use multi-mode by default
            <*>     PCMCIA IDE support
            <*>     Include IDE/ATAPI CDROM support
            <*>     Include IDE/ATAPI FLOPPY support
            [*]     PCI IDE chipset support
            [*]       Sharing PCI IDE interrupts support
            <*>       Generic PCI IDE Chipset Support
            [*]       Generic PCI bus-master DMA support
            [*]         Use PCI DMA by default when available
            <*>         ATI IXP chipset IDE support
        SCSI device support  --->
            [*]   legacy /proc/scsi/ support
            <*>   SCSI disk support
            <*>   SCSI generic support
        IEEE 1394 (FireWire) support  --->
            <*> IEEE 1394 (FireWire) support
            <*>   OHCI-1394 support
            <*>   OHCI-1394 Video support
            <*>   SBP-2 support (Harddisks etc.)
            <*>   Ethernet over 1394
            <*>   OHCI-DV I/O support
            <*>   Raw IEEE1394 I/O support
            <*>   IEC61883-1 Plug support
            <*>     IEC61883-6 (Audio transmission) support
        Network device support  --->
            Ethernet (10 or 100Mbit)  --->
                [*] EISA, VLB, PCI and on board controllers
                <*> RealTek RTL-8129/8130/8139 PCI Fast Ethernet Adapter support
        Input device support  --->
            [*]     Provide legacy /dev/psaux device
            (1280)  Horizontal screen resolution
            (768)   Vertical screen resolution
            <*>   Event interface
            [*]   Mouse  --->
                <*>   PS/2 mouse
        Character devices  --->
            [*] Legacy (BSD) PTY support
            <*> /dev/agpgart (AGP Support)
            <*>   AMD Opteron/Athlon64 on-CPU GART support
            [*] HPET - High Precision Event Timer
            [*]   Allow mmap of HPET
        Hardware Monitoring support  --->
            <*> Hardware Monitoring support
        Graphics support  --->
            <*> Support for frame buffer devices
            [*]   VESA VGA graphics support
            Console display driver support  --->
                [*]   Video mode selection support
                <*> Framebuffer Console support
        Sound  --->
            <*> Sound card support
            Advanced Linux Sound Architecture  --->
                <*> Advanced Linux Sound Architecture
                <*>   Sequencer support
                <*>   OSS Mixer API
                <*>   OSS PCM (digital audio) API
                [*]   OSS Sequencer API
                PCI devices  --->
                    <*> ATI IXP AC97 Controller
                    <*> ATI IXP Modem
        USB support  --->
            <*> Support for Host-side USB
            [*]   USB device filesystem
            <M>   EHCI HCD (USB 2.0) support
            <M>   OHCI HCD support
            <*>   USB Modem (CDC ACM) support
            <*>   USB Printer support
            <*>   USB Mass Storage support
            <*>   USB Human Interface Device (full HID) support
            [*]     HID input layer support
            [*]     /dev/hiddev raw HID device support
            [*]   USB Monitor

You can add any other processor throttling governors you want, but I just use the userspace governor so powernowd can manage my processor for me to maximize battery life. You will want to leave Device Drivers -> Graphics support -> Backlight & LCD device support turned off - as it will cause your system to freeze solid when you try to use your backlight controls. They will work BIOS-controlled perfectly fine however, and even remember their battery and AC-power independent settings! Another quirk of this board - getting full USB2.0 speeds working on all devices is still kinda...spotty at best. I compiled both USB controllers as modules for now so one can manually load the USB 2.0 controller only when using a true USB 2.0 480Mbps device - however when using it in this configuration, processor throttling, or any ACPI function will cause the system to freeze, and USB 1.1 devices won't show up to the system at all. (Because the 1.1 controller will be disabled.) Hopefully future kernels will have better support for the ATI USB controllers on this system. There is an ATI framebuffer driver available in the kernel but it's kinda glitchy and I've yet to figure out how to get it to allow any resolutions above the lowest level at the console. With the generic vesa driver you can add vga=792 to the end of your kernel arguments in grub.conf and get a decent text display for those days when you don't want to live in a GUI.

Setting Use Flags

After you compile and copy your kernel to your /boot directory, I would recommend -ing out any entry in /etc/make.profile/make.defaults that you don't want in your make.conf (example: -gnome -famd) as the settings in there will thoroughly hose your system configuration if you don't want their default setup. Why Gentoo decided to start doing this is beyond me - as it removes the whole "totally customizable and controllable" option from a first-install and can cost countless hours later trying to repair their damage. See also HOWTO Use Portage Correctly

For an /etc/make.conf this is the contents of one of my variants:

File: make.conf
CFLAGS="-O2 -march=athlon-xp"
CHOST="i686-pc-linux-gnu"
CXXFLAGS="${CFLAGS}"
# Disabled USE vanilla
USE="3dnow 3dnowext X a52 aac acpi aim alsa arts avi bluetooth browserplugin\
cdparanoia crypt cups dbus dri dts dv dvd dvdread encode ethereal exif ffmpeg\
foomaticdb fortran ftp gif gnome gstreamer gtk gtk2 hal icq jpeg kde\
kdeenablefinal kdexdeltas kerberos krb4 mad matroska mikmod mmx mp3 mpeg mpeg2\
mpeg4 msn mysql mysqli nsplugin ogg oggvorbis openal opengl oscar pam pdflib\
png posix ppds qt quicktime samba session spell sqlite sse sse2 ssl tiff\
truetype unicode usb vcd vorbis win32codecs wmf xosd xpm xv yahoo zlib"
ACCEPT_KEYWORDS="~x86"

This make.conf takes advantage of all processor optimizations available to the processor, and also all kde and gnome add-ins so it should be well-optimized for both KDE and Gnome installations. It also adds about every possible media file support, IM client, and a few other bells and whistles for someone that just wants a straightforward "just works" system. You may want to hold off on this step until after you've rebooted into your working system. I use it at this step to compile every package included with my use flags, but some will use the mysql or X use flag and those need to be manually commented out by typing

livecd / # USE="-mysql -X" emerge packagename

to avoid it trying to build the entire system before rebooting.

Turion based laptops can also take advantage of an x86_64 installation. Use a stage3 for amd64 and set your -march flag to "athlon64".

Configuration Scripts

From here they want you to go through setting up your base configuration scripts, I would omit the addition of /etc/conf.d/domainname to the default runlevel as it's already in the boot runlevel in this stage 3 tarball. Also, in the step that says to add pcmcia-cs to the default runlevel, this is not necessary. The above kernel configuration handles PCMCIA card services and adding the package to the runlevel only creates hiccups. (However the included utilities in the package are still handy to have.)

Rebooting

At this point, you should be able to reboot your system per the Gentoo x86 Handbook and have a working Compaq Presario V2000 series!

I will add minimal guides to get the synaptics touchpad and the display working in Xorg, as well as getting ndiswrapper working for wireless networking once my system's built enough to do that.

Related Links

Retrieved from "http://www.gentoo-wiki.info/HP_Compaq_Presario_V2000"

Last modified: Thu, 28 Aug 2008 22:37:00 +0000 Hits: 22,598