Installing Debian Sarge with 2.6.12 Kernel on Dell Optiplex GX620 with Intel i945/955
chipset (Intel HD Audio AC97) and ATI Radeon X600 SE Video Card




Step1. Boot into linux

I use Debian netinstall CD image (180MB) to boot into Debian Linux. To do that, first
I need to switch BIOS setting of SATA Drive to support lagacy devices such as (P)ATA.
BIOS menu -> Disk Drives ->SATA -> select "Combination" instead of "Normal". Save and
boot from CD-ROM.

After prompt of Debian, type "linux26" which automatically boots using Linux 2.6.8.2-386
kernel (regular 2.4 kernel fail to boot).

This kernel is fine except the audio support. We will compile a custom kernel later.


Step2. Installing Debian

A standard Debian installation follows. The network card is recognized but video and audio
need tweaking.


Step3. Compiling Linux 2.6.12 Kernel

The motivation of compiling a linux 2.6.12 kernel is to simplify the snd-hda-intel ALSA
kernel module process. Linux 2.6.12 kernel has the snd-hda-intel kernel built in so
no extra ALSA configuration is necessary.

General instruction is at

http://newbiedoc.sourceforge.net/system/kernel-pkg.html

or

http://www.vmlinux.org/jocke/linux/debian-kernel-2.6.shtml

Don't know why they didn't mention the mkinitrd part, maybe they compile the kernel using initrd
switches (which I didn't use) so that is ok.

A. download 2.6.12 kernel source from kernel.org
wget http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.12.tar.bz2


B. unzip them to /usr/src/linux2.6.12

C. following Debian kernel installation steps

apt-get install kernel-packages gcc

D. make menuconfig

select Device Drivers: -> IDE SATA support (deprecated), build them into kernel (*)
disable Device Drivers: -> SCSI support (new), all SCSI support are disabled
select Sound -> Advanced Sound Architecture -> Intel HD Audio (NEW), build them into kernel (*)
you can disable OSS, which is optional
you can select the Processor Architecture to P4 (optional)

if the config does not disable SATA support, the boot sequence will show
"VFS: Kernel Panic, cannot find device /dev/hda0"

or "dev/console, no such file"

E. make-dpkg clean

F: make-dpkg --add-verions=p4-sata-old kernel-image

this takes a while, in my machine 37 minutes.

G: cd ..; dpkg -i kernel-image-p4-sata-old.deb

H: cd /boot; mkinitrd -o /boot/linux2.6.12.img linux-2.6.12-p4-sata-old

I: add a line to /etc/grub/menu.lst after the linux 2.6.12 lable, same as the linux 2.6.8

initrd: /boot/linux2.6.12.img

K: reboot

if all goes well, you will get a sound-capable linux 2.6.12 kernel


Step 4: Build fglrx module from ATI to the kernel


A. follow the instruction from

http://xoomer.virgilio.it/flavio.stanchina/debian/fglrx-installer.html

B. Since we don't have a ready-made debian package available, we must compile the kernel module ourselves.
I use the patch proviced by some people using Fedora Core 4

fglrx_6_8_0-8.14.13-fc4.patch

patch -p1 < fglrx_6_8_0-8.14.13-fc4.patch


if you don't patch it, you will get error messages such as "slot_number" is not a member
of the struct, another tweak is to replace "slot_num"to "pci_num".

Then compile the kernel module per instruction in the /usr/src/linux2.6.12

C. If all is well, you should see the fglrx.ko file in the output of the compilation

D. copy them to /lib/modules/2.6.12p4-sata-old/kernel/drivers/video

depmod -ae;
modprobe fglrx

E: install XFree86

F: Change the /etc/X11/XF86config-4

use driver "fglrx"
default depth 24

H: startx, use

fglrxinfo; fgl_glxgears ;


Some of the files I mentioned in the installation process

/etc/grub/menu.lst

/etc/X11/XF86config-4

fglrx_6_8_0-8.14.13-fc4.patch


kernel module (fglrx.ko) for ATI Radeon, only for linux2.6.12 kernel

linux2.6.12 kernel with Intel-HD Audio (sound-hda-intel) sound support, in Debian format (don't know
if you can use it, no ATI fglrx kernel module built in, no scsi).

Use modprobe snd-pcm-oss to enable sound to be played by firefox macromedia player plugins.
Unkown issues

If it is possible to boot into the linux kernel 2.6.12 with SATA support enabled in BIOS. At least
2.6.8 kernel is not able to do that.
Back