Dual Boot Debian, Ubuntu or Kubuntu Linux/WinXP on HP zd8000 Laptop

Status: Works with 3D hardware acceleration and sound!

X running fgl_glxgears with hardware acceleration on the HP zd8000 at 1440x900!:

News

2006Jan23 @ 9:52 PM PST - After a week of fighting with Debian Linux, I gave in and installed Ubuntu Linux which is a Debian derivative. They follow Debian, but make releases every six months! Why did I switch? Well, in Debian Unstable, you will find x.org 6.9.0... Unfortunately, I couldn't get the ATI drivers to work with x.org 6.9.0 and downgrading to 6.8.0 caused problems. The good news is that I've got my zd8000 up and running with accelerated video!!! Oh, and guess what, it almost completely worked out of the box! I just had to go into the xorg.conf and changed the driver from ATI to fglrx and type: apt-get install xorg-driver-fglrx xorg-driver-fglrx-dev fglrx-control and reboot! It just all worked, even the sound! NOTES: In Kubuntu/Ubuntu the root user is disabled by default... Instead the first user added to the system has admin abilities through sudo. What's the difference between Kubuntu and Ubuntu? Kubuntu=KDE &amp Ubuntu=GNOME Check out this nice article called Ubuntu on HP ZD8000 series Laptop by Keir Gordon! Thanks Keir for the great page! Working Ubuntu xorg.conf:xorg.conf

2006Jan15 @ 7:26 AM PST - Updated directions on how to get the ATI Linux Drivers (hopefully more clear now).

2006Jan13 @ 04:15 PM PST - Well, my zd8000 started melting (smoking coming out the front in the middle of a meeting at work!) and was therefore sent back to HP for repairs (still under warrenty). I just received it back with a new motherboard and a NEW hard drive, meaning I'm glad I documented how to install Linux on this laptop! This also means I get update the documentation! Thank you everyone who sent me more information on getting things running with the zd8000! I will try to include your comments (giving credit to you) as I update the documentation. In this round I'm going to document how to use Knoppix 4.0.2 and QTParted to resize the Windows XP partition rather than blowing away the NTFS partion and reinstalling Windows XP.

2005Feb25 @ 4:25 PM PST - Updated modules.conf
with acpi modules. Added /etc/modutils/acpi and
/etc/modutils/alsa) for those of you who want to
use 'update-modules'.

2005Feb25 @ 3:42 PM PST - Added 'Step 10
- Setting Up the Audio'. Added lspci/lsmod/modules.conf
files to 'Quick Links to Files' section. Also note
that if you would like to use the 2.6.10 kernel debian
package I built with the instructions located in
'Step 3 - Installing Debian', just e-mail me and I'll
provide you with the package. Also added links
for quick navigation within this document.

2005Feb25 @ 12:10 PM PST - Added 'Quick Links to Files' and
'Known Problems/Solutions' sections. I'm currently
working on setting up the sound. When I get the sound
working I will post more information related to the
sound as well as 'lspci' and 'lsmod' output.

Contact Info

Feel free to e-mail me if you have any questions, comments,
suggestions, or just want to let me know if this document was helpful
to you? Enjoy!

Overview

Note that in this document I sometimes go into a lot of detail that
someone who has a lot of experiance with Debian or other flavors of
Linux won't need. But for those of you who are fairly new to installing
Linux, I've included a little extra detail. If your completely new
to installing Linux, it may be a little challenging by starting with
a laptop. You might want to try installing on a desktop first. Any
way, e-mail me if I left anything out or if you have any questions or
just want to let me know if this document was helpful.

USB Mouse/X Crash - Using XF86Config-4
(Version 2) I've noticed that X can't start if
a USB mouse is connected before turning on the computer. It tries
to load X three times and fails.
Then if you type startx the system locks up.
QUICK FIX: If you let X load to the login screen, you can plug
in the USB mouse and it works just fine. If I figure out how to
fix the XF86Config-4 file so this doesn't happen, I'll post a
version 3.

The following contributions and comments have been added only after
receiving permission to post comments / names. If I receive an e-mail
from you, I will not post it here unless you give me permission to do
so.

Name of Contributor

Contribution/Comment

J. Ritter - 2005Mar08 14:01

I've seen your page about debian on a hp pavilion zd8000.
I found it very usefull!
Personaly, I had troubble starting both netinstall dist and standard
distibutions of debian on this computer. I've found a solution with disabling
the framebuffer in the woody 3.0r4. Here's the line I'd used to start the
install on standard distribution "bf24 video=vga16:off".
Regards, J. Ritter

EinarJ - 2005Feb25 13:29

1. USB crashes can be avoided inserting an USB section in XF86Config-4.
2. It's not necessary to reinstall Windows XP. I defragged using a defragger
in Windows XP, then downloaded Systemrescue from Debian, burnt it to a CD,
booted into Systemrescue and used the ntfs tools to reduce the size of the
Windows XP ntfs file system. Then I went into cfdisk and deleted the Windows
XP ntfs partition, made a new ntfs partition the size I wanted (17GB
Important: MUST BE THE SAME SIZE AS THE REDUCED WINDOWS XP NTFS FILE SYSTEM)
and added partitions for /boot, swap and / (100MB), (600MB) and the rest of
the harddisk.
3. I used Debian netinstall with the same problems as you had. Check out Frans
mail below. I ran Systemrescue again, ran mkdir /mnt/mydir and
mounted /dev/hda. Then I used nano to blacklist i810_audio
in /etc/hotplug/blacklist and /etc/discover.conf. Voila - everytning worked
when restarting.
4. I've got the wireless to work today, required some work.
5. I've got the display to work at 1440x900, but not at full speed. Looking
forward to check out your page and see if I can get full speed.

To quote the ntfsresize FAQ... below are the directions from that page:
Here are the steps how to resize NTFS:

Download the Knoppix ISO image.

Burn it to a CD or DVD.

Boot from the media and hit <ENTER> when you see the message "Boot:".

Click the "K" menu in the bottom left corner.

Click the "System" menu.

Click the "QTParted" which is a graphical, user friendly partition editor.

Select a disk.

Select the NTFS partition to be resized.

Right click with the mouse and choose Resize.

Set the new partition size.

Commit your changes in the File -> Commit menu.
If your keyboard and mouse stop responding during resizing
then please just be patient.

Step 1 - Option 2: Reinstall WinXP

I currently have a 60GB drive and I want to have a 30GB for Linux
/ 30GB for WinXP. Reinstall WinXP deleting the original partition.
And then press 'C' to create a new windows partition. If you just
press enter you'll be using the ENTIRE hard drive for WinXP. (Made
that mistake by accident.)

After you finish reinstalling WinXP, use the HP Application and
Recovery DVD to recover all the applications and settings that
your HP came with if you'd like. NOTE: I used this DVD after
switching from WinXP Home Edition (came with computer) to
Pro Edition and it worked fine. So don't worry about that if your
upgrading to WinXP Pro.

I was going to recommend downloading the netinst of 'Sarge' using the new
Debian-Installer, but unfortunately when I tried to install using the
sarge-i386-netinst.iso dated 2005Feb23 (~RC2), I couldn't get Debian
to work. I was getting an error related to hotplug trying to load the sound
drivers and fatally failing. I've concluded that the problem was that
the sound drivers for this laptop where probably not included in this
build. I'm sure this will work in the future,
but until then I recommend using the 'Stable' release (3.0) just to get
the system up and running and then upgrade to a new kernel later.
Later in this document I post the .config file which I used to build
the 2.6.10 kernel which is working with my laptop.

NOTE: In this section I mention how you can make a
Debian package for easy installation of the kernel. If you
want to skip this step, feel free to e-mail me requesting
the 2.6.10 kernel debian package I built. I'll try to get
it to you as quickly as possible.

Since my system has 1GB of RAM I decided to make a 2GB partition for SWAP
space. I heard that roughly double your RAM amount is a good choice.
I then used the remaining free space for / using EXT3 file system.

The Debian installer seemed to setup the network card just fine, but
when I upgraded to 2.6.10 kernel, it didn't automatically load the network
driver. The driver 8139too seems to work fine. Either add that to your
/etc/modules or type:

modprobe 8139too

If you want to build your own kernel, install the Debian package
kernel-source-2.6.10 or which ever kernel you want to use, but this one
worked for me. Next you need to decompress the kernel. Copy this
.config file into the top level of the
newly extracted directory (/usr/src/kernel-source-2.6.10). In that
directory type

make oldconfig

To make this into a debian package so you can easily install it, install
kernel-package (apt-get install kernel-package). Then type:

make-kpkg kernel_image

If you get any errors, you probably have dependancy problems. Go to the
Debian Packages page
and go to 'Search the contents of packages' and select the distribution
you are interested in... in my case 'Testing'. Then search for the missing
file (i.e. someheaderfile.h) and it will tell you which package you need
to install.

Once the make-kpkg finishes, you'll find the debian package in /usr/src/.
Type the following to install your new kernel:

dpkg --install kernel-image-2.6.10_10.00.Custom_i386.deb

Once that's done you'll need to update your boot loader. In my case, grub.
Typing the following will update grub:

I changed my apt preferences (/etc/apt/preferences) to the following
so that I can get the 'Sarge' distribution and XFree86 4.3. Basically,
it changes the priority so apt will look for packages first in testing,
then unstable, then stable. Set this up how every you would like.

I personally like to use gnome (Debian Package: genome-desktop-environment)
with gdm (Debian Package: gdm). Note that if you install gdm it will
automatically launch X, which won't work yet. So you may want to install
this package later. If you do install it, you can turn it off by going
to a console by pressing alt-F1, login as root and
type:

/etc/init.d/gdm stop

When you are ready to turn it back on again type:
/etc/init.d/gdm start
When you reboot your laptop gdm will automatically start in the future.
If you happen to be new to linux, you might want to try out KDE as well
as GNOME to see which one you like better. (Debian Package: kde) GDM will
let you choose from a menu which one you wan to use.

If you are having trouble finding the driver, follow these instructions.
(1) Goto http://www.ati.com.
(2) Click on 'Drivers & Software'
(3) Click on 'Linux Display Drivers and Software'
(4) Click on 'RADEON 8500 Series and higher' for Linux
x86 (most likely this one for zd8000) or x86_64.
(5) Click on 'ATI Proprietary Linux x86 Display Drivers
for XFREE86 / X. Org Version 8.20.8'.
(6) Choose the download that matches your version of X
Windows.

I converted this package to a Debian package using
alien (apt-get install alien) by typing:

alien -d --scripts file_name.rpm

Normally you can get away with typing:

dpkg --install file_name.deb

BUT, in this case, we need to use the --force-overwrite option, so
that it can overwrite /usr/X11R6/lib/libGL.so.1.2 which was provided by
xlibmesa-gl package).

Next you have to build the kernel modules for your system. If you installed
a Debian built kernel like kernel-image-2.6.10-1-686, you also need to
install the headers package for that kernel. In my case
'kernel-headers-2.6.10-1-686'.

apt-get install kernel-headers-2.6.10-1-686

Then you need to get ready to build the modules:

cd /lib/modules/fglrx/build_mod

Type:

bash make.sh

If it builds properly, go back a directory to /lib/modules/fglrx/ and type:

Note if you want to skip Step 7 and 8 you can use my
XF86Config-4 file.
If you make improvments, please e-mail me and I'll post the new version.
Run:

fglrxconfig

fglrxconfig - Mouse Section

Mouse Type:

2) PS/2 or USB with PS/2 protocol

Mouse Model:

2) PS/2 Wheel Mouse (X11 Generic)

Emulate 3 Buttons:

yes

Mouse Device:

/dev/psaux

fglrxconfig - Keyboard Section

Keybord Type:

3) Generic 104-key PC

fglrxconfig - FireGL Settings

Quad Buffer Stereo:

No

fglrxconfig - TV Out

Enable TV out (I choose no, because I'm not going to use this):

No

fglrxconfig - FireGL Screen Layout

I like to use 'Clone' mode so that what I see on a projector is that same
as what I see on my laptop, but this is just my preference.

fglrxconfig - Monitor Settings

WARNING: Choosing '1) auto detect' will cause you to spend
hours trying to figure out why it just doesn't want to work.
If you do choose auto detect you will need to change the line in
XF86Config-4 from:

Option "MonitorLayout" "AUTO, AUTO"

to:

Option "MonitorLayout" "LVDS, CRT"

I just changed this after I had choosen auto detect, so I don't know
which one is the right one to choose from the menu. If you select
one, please confirm it put the correct line in XF86Config-4.

If you get an error like the following in your /var/log/XFree86.0.log,
then the above change may be your solution.

(II) fglrx(0): Not using default mode "640x480" (hsync out of range)
(II) fglrx(0): Not using default mode "1280x1024" (hsync out of range)
(II) fglrx(0): Not using default mode "640x512" (hsync out of range)
(II) fglrx(0): Not using default mode "1600x1200" (height too large for virtual size)
(II) fglrx(0): Not using default mode "1600x1200" (height too large for virtual size)
(II) fglrx(0): Not using default mode "800x600" (hsync out of range)
(II) fglrx(0): Not using default mode "1600x1200" (height too large for virtual size)
(II) fglrx(0): Not using default mode "800x600" (hsync out of range)
(II) fglrx(0): Not using default mode "1600x1200" (height too large for

fglrxconfig - Sync Rates

I couldn't find the specs on HPs website. So I e-mailed them and they gave
me the following ranges. (FYI, I have the WXGA+ 1440x900 LCD.)

I finally got the audio working. I followed the
instructions on the ALSA web site
The instructions mostly worked, except I had to change one
line from:

alias snd-card-0 snd-

to:

alias snd-card-0 snd-intel8x0

If you want to skip the instructions on that website, you
can use my modules.conf file
which has all the sound stuff setup properly for the
zd8000. Note that I built the ALSA & OSS modules into
my kernel. If you didn't do that you'll have to install
the ALSA modules based on the intructions on the website.

After I restarted Linux so all the modules would load,
I typed the following commands as root to give all
programs premission to use the sound card:

chmod a+rw /dev/dsp
chmod a+rw /dev/mixer

I ran into a little problem where xmms could play an mp3
file, but the gnome-volume-control couldn't open
/dev/mixer. The solution to this problem was to install
gstreamer0.8-alsa:

apt-get install gstreamer0.8-alsa

And then open Applications > Desktop Preference >
Advanced > Multimedia Systems Selector (gstreamer-preferences from commandline) and change
output and input to ALSA as shown below.

Note: You may need to logout and logback in before
your sound will work properly.

Next I binded the three audio control keys on the keyboard
to control the sound. I did this using Applications >
Desktop Preferences > Keyboard Shortcuts. Just scroll
down until you get to the audio section as shown below:
Just click on each one and then when it asks for which
key to press, just press the audio keys above the keyboard
and your set. =o)