Installing Debian on a Santa Rosa laptop

This page wants to be a memo of the steps necessary to install Debian on a Santa Rosa laptop. Santa Rosa is the newly released (May 2007) platform for Intel based laptops.

This page is still work in progress. Feel free to add comments or questions, I'll try to answer them as fast and accurately as I can.

My laptop

I bought my laptop at this address: http://www.littlebit.ch They assemble laptops on personal specifications, and it is possible to buy machines without operating system. I bought the Sepia X35 (http://www.littlebit.ch/notebook/sepia_x35/sepia_x35.cfm). It is a 13.3" ultraportable (or at least highly portable) with the following configuration:

Judging from the amount of Asus branded CDs I got in the box, the OEM is Asus, so I guess the quality of the hardware is not bad at all.

Here are the outputs of lspci and lsusb, plus additional information on the hardware. (STILL TO DO). {{{$ lspci -v 00:00.0 Host bridge: Intel Corporation Mobile Memory Controller Hub (rev 03)

00:02.0 VGA compatible controller: Intel Corporation Mobile Integrated Graphics Controller (rev 03) (prog-if 00 [VGA])

00:02.1 Display controller: Intel Corporation Mobile Integrated Graphics Controller (rev 03)

00:1a.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI #4 (rev 03) (prog-if 00 [UHCI])

00:1a.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI #5 (rev 03) (prog-if 00 [UHCI])

00:1a.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI #2 (rev 03) (prog-if 20 [EHCI])

00:1b.0 Audio device: Intel Corporation 82801H (ICH8 Family) HD Audio Controller (rev 03)

00:1c.0 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 1 (rev 03) (prog-if 00 [Normal decode])

00:1c.2 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 3 (rev 03) (prog-if 00 [Normal decode])

00:1c.3 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 4 (rev 03) (prog-if 00 [Normal decode])

00:1c.4 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 5 (rev 03) (prog-if 00 [Normal decode])

00:1d.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI #1 (rev 03) (prog-if 00 [UHCI])

00:1d.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI #2 (rev 03) (prog-if 00 [UHCI])

00:1d.2 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI #3 (rev 03) (prog-if 00 [UHCI])

00:1d.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI #1 (rev 03) (prog-if 20 [EHCI])

00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev f3) (prog-if 01 [Subtractive decode])

00:1f.0 ISA bridge: Intel Corporation Mobile LPC Interface Controller (rev 03)

00:1f.1 IDE interface: Intel Corporation Mobile IDE Controller (rev 03) (prog-if 8a [Master SecP PriP])

00:1f.2 SATA controller: Intel Corporation Mobile SATA AHCI Controller (rev 03) (prog-if 01 [AHCI 1.0])

00:1f.3 SMBus: Intel Corporation 82801H (ICH8 Family) SMBus Controller (rev 03)

01:00.0 Ethernet controller: Marvell Technology Group Ltd. Unknown device 4364 (rev 12)

02:00.0 SATA controller: JMicron Technologies, Inc. JMicron 20360/20363 AHCI Controller (rev 02) (prog-if 01 [AHCI 1.0])

03:00.0 Network controller: Intel Corporation Unknown device 4229 (rev 61)

06:01.0 ?FireWire (IEEE 1394): Ricoh Co Ltd Unknown device 0832 (rev 05) (prog-if 10 [OHCI])

06:01.1 Generic system peripheral [0805]: Ricoh Co Ltd ?R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 22)

06:01.2 System peripheral: Ricoh Co Ltd Unknown device 0843 (rev 12)

06:01.3 System peripheral: Ricoh Co Ltd ?R5C592 Memory Stick Bus Host Adapter (rev 12)

Debian Etch Installation

Judging from the amount of scary reports I read before actually receiving the laptop, I was ready to perform a debootstrap installation from a LiveCD with a kernel > 2.6.21. Truth is, all I had to do to install Etch on the machine has been to setup the SATA drive to "IDE" mode, as opposed to "AHCI" mode, that is supported only > 2.6.19. Etch installation went without a hitch with the graphical d-i. After the first reboot I had a system with these characteristics:

To have this laptop perform at 100% I'd suggest to upgrade to unstable or at least to enable backports in order to have a newer kernel and X.org 1.3 with the new intel driver. Please read further for these topics.

I have installed the AMD64 port.

Upgrade to Sid

After the installation of Etch I upgraded to Sid in order to have a newer kernel and the full intel graphics. I installed linux-image-2.6.22rc5-AMD64 and upon the reboot I switched back the SATA drive to "AHCI". The system booted without problems in the new mode. I haven't tested booting the 2.6.18 Etch original kernel to see if it works. The upgrade to Sid went pretty smoothly, nothing to report here.

Intel Graphics GMA965 X3100

Intel released an X.org driver for the X3100 graphic chipset at its website http://www.intellinuxgraphics.org. The driver is already packaged in Lenny and Sid so there is no need for manual compilation. To enable full 3D just follow this procedure:

Upgrade to newest xserver-xorg

This can be handled through synaptic or apt-get without problems.

Upgrade libmesa to 7.0

If you try to enable DRI on the X3100 using Mesa 6.5 you will crash your system, requiring a hard reset. You will have to install Mesa 7.0 and you can do it by either compiling the libs you find at http://www.mesa3d.org or, if you're a lazy bum like myself, just get the Ubuntu Gutsy Gibbon packages.

Modify /etc/X11/xorg.conf

The easiest way to describe this is to publish my xorg.conf. Please note the parts related to the TV output: they are *essential* otherwise you'll get a weird effect with the drawn screen not filling the monitor.

-----INSERT XORG.CONF HERE-----

My xorg.conf is setup to use compiz. Just install compiz 0.5 from the Debian Sid repository and the desktop effects will start automagically at logon. If you're not interested in this, just comment out (or delete) the Section "Extensions".

Intel WiFi 4965

Intel released a driver at http://www.intellinuxwireless.org. The driver (iwlwifi) uses the new mac80211 subsystem that landed in the linux kernel >= 2.6.22. The 2.6.22-rc5 in Sid supports that. If you're using a kernel older than 2.6.21 you might want to refer to the good documentation on the Intel website. The installation of the driver can be broken down to three steps:

mac80211

Given I used a kernel recent enough, all I had to do has been:

First prepare the compilation by installing linux-headers and build essential, then make a link needed by the driver:

$ apt-get install linux-headers-`uname -r` build-essential
$ ln -s /usr/src/linux-headers-`uname -r` /lib/modules/`uname -r`/source

Now get the mac80211 files and prepare the driver compilation

$ wget http://intellinuxwireless.org/mac80211/downloads/mac80211-9.0.2.tgz
$ tar -xzvf mac80211-9.0.2.tgz
$ cd mac80211-9.0.2
$ make patch_kernel

At this point it's time to compile the module

iwlwifi

{{{$ wget http://intellinuxwireless.org/iwlwifi/downloads/iwlwifi-0.1.1.tgz $ tar -xzvf iwlwifi-0.1.1.tgz $ cd iwlwifi-0.1.1 $ make $ sudo make install}}}

microcode

{{{$ wget http://intellinuxwireless.org/iwlwifi/downloads/iwlwifi-3945-ucode-2.14.4.tgz $ tar -xzvf iwlwifi-3945-ucode-2.14.4.tgz $ sudo cp iwlwifi-3945-ucode /lib/firmware}}}

Now the driver and the microcode are installed and it's time to load the module{{{$ sudo depmod -a $ sudo modprobe iwlwifi}}} At this point my NetworkManager applet detected the 4 wireless networks I have around my house and I connected to an open network just by clicking its icon. I haven't tested WEP/WPA encrypted networks because I have no such setup available. Please note that the development of this driver is very active so the files I linked here might be outdated pretty fast. Visit the intel website from time to time to upgrade the driver.