HARDWARE Gentoo AMD64 on HP Pavilion dv5000z
From Gentoo Linux Wiki
- This page is a candidate for deletion
- Reason given: You could delete this page, instead of "HARDWARE Gentoo on HP Pavilion dv5000z", because some people wish to keep that one. Please, look at Talk:HARDWARE Gentoo on HP Pavilion dv5000z. Serpol 06:28, 5 May 2006 (UTC)
- If you disagree with its deletion, please explain why on its discussion page.
- If you intend to fix it, please remove this notice, but do not remove this notice from articles that you have created yourself.
- Make sure no other pages link here and check the page's history before deleting.
| Laptops • TV Tuner Cards • Wireless • Servers • Storage • Other Hardware • Motherboards • Related |
Contents |
[edit] Introduction
The HP Pavilion dv5000z series is very new, and looks like a replacement of the dismissed zv6000 series (Turion processor instead of Athlon), or a smaller dv8000z (15.4" screen instead of 17"). I've installed Gentoo AMD64 on a dv5078EA, which is equipped with an AMD Turion 64 ML-34 processor, 1GB RAM, and 100GB hard disk.
| Code: lspci -v |
0000:00:18.0 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] HyperTransport Technology Configuration Flags: fast devsel Capabilities: [80] #08 [2101] 0000:00:18.1 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Address Map Flags: fast devsel 0000:00:18.2 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] DRAM Controller Flags: fast devsel 0000:00:18.3 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Miscellaneous Control Flags: fast devsel |
| Code: cat /proc/cpuinfo |
processor : 0 vendor_id : AuthenticAMD cpu family : 15 model : 36 model name : AMD Turion(tm) 64 Mobile Technology ML-34 stepping : 2 cpu MHz : 1790.887 cache size : 1024 KB fpu : yes fpu_exception : yes cpuid level : 1 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt lm 3dnowext 3dnow pni lahf_lm bogomips : 3522.56 TLB size : 1024 4K pages clflush size : 64 cache_alignment : 64 address sizes : 40 bits physical, 48 bits virtual power management: ts fid vid ttp tm stc |
I've found many useful tips in the articles Gentoo Linux 64bit on HP Pavilion zv6000 series notebook and Gentoo on HP Pavilion dv8000z, as well as in Ryan McGuire's page Gentoo Linux on new HP dv8000z, and I wish to thank their authors.
[edit] Partitioning
The notebook is shipped with Windows XP Home Edition installed on the whole hard disk. I've shrunk the Windows partition (to 15GB) by the tools provided by SystemRescueCD (qtparted, which runs ntfsresize; look at the NTFS Resize FAQ).
[edit] Booting and Networking
My first aim was to get Gentoo booting the quickest way. So I made a straightforward networkless stage3 installation following the Gentoo Handbook, setting CFLAGS="-march=k8 -O2 -pipe" in /etc/make.conf, and choosing the gentoo-sources kernel and the genkernel script to configure it. I emerged dhcpcd too, and added net.eth0 the the default runlevel.
| Code: lspci -v |
|
0000:06:06.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)
Subsystem: Hewlett-Packard Company: Unknown device 30a4
Flags: bus master, medium devsel, latency 128, IRQ 22
I/O ports at a000
Memory at c020a400 (32-bit, non-prefetchable) [size=256]
Capabilities: [50] Power Management version 2
|
Gentoo booted nicely, the fan was working, but I didn't get my eth0 interface configured, because:
| Code: dmesg |
8139cp: 10/100 PCI Ethernet driver v1.2 (Mar 22, 2004) 8139cp: pci dev 0000:06:06.0 (id 10ec:8139 rev 10) is not an 8139C+ compatible chip 8139cp: Try the "8139too" driver instead. |
- the kernel loaded the 8139cp module, but, as dmesg pointed out, 8139too is needed;
- the RealTek card is named "eth1", while "eth0" is the firewire link.
So I added net.eth1 (a symbolik link to /etc/init.d/net.lo, as net.eth0) to the default runlevel and the row "8139too" to /etc/modules.autoload.d/kernel-2.6.
| Code: ls -al /etc/init.d |
lrwxrwxrwx 1 root root 6 Feb 26 00:47 net.eth0 -> net.lo lrwxrwxrwx 1 root root 6 Feb 26 03:36 net.eth1 -> net.lo -rwxr-xr-x 1 root root 24324 Feb 26 00:47 net.lo |
| File: /etc/modules.autoload.d/kernel-2.6 |
8139too |
| Code: dmesg |
8139too Fast Ethernet driver 0.9.27 ACPI: PCI Interrupt 0000:06:06.0[A] -> GSI 22 (level, low) -> IRQ 22 eth1: RealTek RTL8139 at 0xffffc20000a26400, 00:0f:b0:bf:21:fa, IRQ 22 eth1: Identified 8139 chip type 'RTL-8100B/8139D' eth1: link up, 10Mbps, half-duplex, lpa 0x0000 eth1: no IPv6 routers present |
My current kernel config is:
| Linux Kernel Configuration: Networking support |
|
--- Networking support
[*] Network device support
Ethernet (10 or 100Mbit) --->
[*] Ethernet (10 or 100Mbit)
[*] EISA, VLB, PCI and on board controllers
<*> RealTek RTL-8139 PCI Fast Ethernet Adapter support
|
[edit] Graphics
| Code: lspci -v |
0000:01:05.0 VGA compatible controller: ATI Technologies Inc: Unknown device 5955 (prog-if 00 [VGA]) Subsystem: Hewlett-Packard Company: Unknown device 30a4 Flags: bus master, 66Mhz, medium devsel, latency 66, IRQ 7 Memory at c8000000 (32-bit, prefetchable) I/O ports at 9000 [size=256] Memory at c0100000 (32-bit, non-prefetchable) [size=64K] Capabilities: [50] Power Management version 2 |
It was not a painless process. I installed Xorg-6.8.2 and ran Xorg -configure, but it only detected a VGA card and after startx the screen was ugly. When I replaced "vga" with "radeon" I got the message "no device found". The same when I emerged ati-drivers.
As I discovered the hard way, you should emerge --sync and emege portage before configuring X, because the video card (ATI Radeon XPRESS 200M 5955) requires a recent ati-drivers package. You also should add the folowing lines to /etc/portage/package.keywords:
| File: /etc/portage/package.keywords |
app-admin/eselect ~amd64 app-admin/eselect-opengl ~amd64 x11-drivers/ati-drivers ~amd64 |
because the ati-drivers package and the ones it requires are masked.
Then:
- enter BIOS Setup to set "UMA+Sideport" and 128M of shared video memory in the video preferences (otherwise, DRI doesn't work!);
- create a realistic /etc/X11/xorg.conf file; I've used the one provided by Ryan McGuire: xorg.hp-dv8000z.3d-WORKING.conf;
- run aticonfig --initial --input=/etc/X11/xorg.conf; this edits your xorg.conf file and sets the resolution to 1024x768;
- run aticonfig --resolution="1280x800,1024x768,800x600" to get the native resolution;
- cross your fingers and run startx ;-)
My current kernel config:
| Linux Kernel Configuration: Graphics support |
|
<*> Support for frame buffer devices
<*> VESA VGA graphics support
VESA driver type (vesafb) --->
(X) vesafb
<*> ATI Radeon display support
[*] DDC/I2C for ATI Radeon support
[*] Backlight & LCD device support --->
--- Backlight & LCD device support
<*> Lowlevel Backlight controls
<*> Lowlevel LCD controls
[*] Support for the framebuffer splash
|
[edit] Devices
When you can boot, connect to a network, and get X-window working, you can go on. So, let's go on...
[edit] Synaptics Touchpad
If you do not do anything, you get normal mouse functionality. To add the special touchpad features, such as horizontal and vertical scrolling, just add "x11-drivers/synaptics ~amd64" to /etc/portage/package.keywords and check the article Synaptics Touchpad.
[edit] USB Support
You can check the Gentoo Linux USB Guide. USB 1.1 (OHCI) and USB 2.0 (EHCI) are both supported:
| Code: lspci -v I grep USB |
|
00:13.0 USB Controller: ATI Technologies Inc IXP SB400 USB Host Controller (prog-if 10 [OHCI])
00:13.1 USB Controller: ATI Technologies Inc IXP SB400 USB Host Controller (prog-if 10 [OHCI])
00:13.2 USB Controller: ATI Technologies Inc IXP SB400 USB2 Host Controller (prog-if 20 [EHCI])
|
[edit] Sound
| Code: lspci -v |
0000:00:14.5 Multimedia audio controller: ATI Technologies Inc: Unknown device 4370 (rev 02) Subsystem: Hewlett-Packard Company: Unknown device 30a4 Flags: bus master, 66Mhz, slow devsel, latency 64, IRQ 7 Memory at c0003400 (32-bit, non-prefetchable) Capabilities: [40] Message Signalled Interrupts: 64bit- Queue=0/0 Enable- |
No problem. Just check the Gentoo ALSA Guide.
The sound portion in your /etc/modules.conf should look like:
| File: /etc/modules.conf |
## ALSA portion alias snd-card-0 snd-atiixp ## OSS/Free portion alias sound-slot-0 snd-card-0 alias sound-service-0-0 snd-mixer-oss alias sound-service-0-1 snd-seq-oss alias sound-service-0-3 snd-pcm-oss alias sound-service-0-8 snd-seq-oss alias sound-service-0-12 snd-pcm-oss alias /dev/mixer snd-mixer-oss alias /dev/dsp snd-pcm-oss alias /dev/midi snd-seq-oss options snd cards_limit=1 |
My current kernel config:
| Linux Kernel Configuration: Sound |
|
<M> Sound card support
Advanced Linux Sound Architecture --->
<M> Advanced Linux Sound Architecture
<M> Sequencer support
< > Sequencer dummy client
<M> OSS Mixer API
<M> OSS PCM (digital audio) API
[*] OSS Sequencer API
<M> RTC Timer support
[ ] Verbose printk
[ ] Debug
Generic devices --->
PCI devices --->
< > ALi M5451 PCI Audio Controller
<M> ATI IXP AC97 Controller
<M> ATI IXP Modem
|
[edit] CPU Frequency Scaling
Well, I checked the Gentoo Linux AMD64 FAQ, but I've preferred another way, without cpudyn.
I configured cpufreq in my kernel:
| Linux Kernel Configuration: Power Management Options |
Power management options ----> CPU Frequency scaling ---> [*] CPU Frequency scaling [ ] Enable CPUfreq debugging <*> CPU frequency translation statistics [ ] CPU frequency translation statistics details Default CPUFreq governor (performance) ---> --- 'performance' governor <*> 'powersave' governor <*> 'userspace' governor for userspace frequency scaling < > 'ondemand' cpufreq policy governor <*> 'conservative' cpufreq governor --- CPUFreq processor drivers <*> AMD Opteron/Athlon64 PowerNow! < > Intel Enhanced SpeedStep <*> ACPI Processor P-States driver --- shared options [ ] /proc/acpi/processor/../performance interface (deprecated) |
I chose "conservative" instead of "ondemand" because of the description of the "conservative" governor in make menuconfig: "If you have a desktop machine then you should really be considering the 'ondemand' governor instead, however if you are using a laptop, PDA or even an AMD64 based computer (due to the unacceptable step-by-step latency issues between the minimum and maximum frequency transitions in the CPU) you will probably want to use this governor."
Then I emerged cpudyn, but whenever i did cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor I got "powersafe".
Moreover, I think I ran into those "unacceptable latency issues": now and then my mouse, the download of a web page, or whatever else stopped a few seconds.
So I have removed cpudyn from my runlevel and added
| File: /etc/conf.d/local.start |
echo conservative > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor |
to /etc/conf.d/local.start. I think that my notebook is working better now ;-)
[edit] To be continued
I'm going to configure more of my system and to add other sections here.
I've just wanted to share my first results, hoping they are useful to somebody ;-)
