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).

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.