creativelimits.net:linux/SRX87/

Linux SRX87 install guide

Introduction

I recently decided to splurge and get myself a laptop. I have been a stationary computer user since I could count. I was looking for a light weight laptop that I could easily bring to school and run linux on. The Sony Vaio SRX87 fit the bill, and I liked its sleek design.

I loosely followed the instructions for the SRX77, which is a similar model. Another, good resource is the linux-sony mailing list.

Please note this is a work in progress and this document should be considered a rough guide. If you have any suggestion or corrections my email address is logisticNOSPAMATsdf-euNOSPAMDOTorg.

Installation of Debian/GNU Linux 3.0

SRX-87 does not come with a floppy drive or with a built in CD-ROM drive. It does come with an external i.Link DVD drive that will boot a CD on startup. I acquired a CD set from Edmunds of Woody. One can create their own CD set but this involved too much work for me.

Keep in mind that because the DVD drive is not supported by the stock kernel you will need another way of getting the base of the distribution installed. My solution was to connect the laptop (via ethernet) to my home network. During the install Woody can use DHCP to configure the network interface, and then, it can use apt-get to install the base system. This method is probably only practical if you have a broadband connection. Another option is to put the contents of the CD on a MSFAT partition.

Partitioning the hard drive

Most parts of the installation will go without much thinking. Defining the different partitions on your hard drive is not one of them. The SRX87 comes with a 20 gig hard drive which is partitioned into two different segments. Be careful here because you could easily destroy the partition with Windows on it.

The following table gives the partition scheme I used.

Disk /dev/hda: 255 heads, 63 sectors, 2432 cylinders
Units = cylinders of 16065 * 512 bytes

Device BootStartEnd Blocks Id System
/dev/hda1 * 11275102414067 HPFS/NTFS
/dev/hda2 127624329293602+5 Extended
/dev/hda5 12761397 979933+c Win95 FAT32 (LBA)
/dev/hda6 13982394 800837183 Linux
/dev/hda7 23952432 305203+82 Linux swap

Package selection

At the most basic you will need gcc and friends installed for compiling a new kernel. While using dselect you may want to install:

Compiling a new kernel

Downloading the source

First download the latest kernel from kernel.org. In my case the latest stable kernel version was 2.4.23. Once you have unpacked the kernel into /usr/src type: "ln -s linux-2.4.23 linux".

There now is a patched kernel designed for laptops which can be downloaded.

Patching

I downloaded the lastest acpi kernel patch (as of late December 2003) goes against the 2.4.23 kernel.
$ cd /usr/src/
$ gunzip ./acpi-20031203-2.4.23.diff.gz
$ cd /usr/src/linux/
$ patch -p1 < ../acpi-20031203-2.4.23.diff

Configuring

make menuconfig

You can check out my kernel .config file to see all the options that I selected.

Installing

$ make dep
$ make bzImage
$ make modules
$ make modules_install
$ make install

Ethernet

Initially, I was having problems with the network card freezing up. I determined this was due to the i82562 Pro/100 V adapter being set to sleep-mode by default from the factory. You can set the card out of sleep-mode by using eepro100-diag. The program is available as a debian package.
$ ifconfig eth0 down
eepro100-diag -ee # to determine if your card was set to sleep mode
eepro100-diag -ee -G 0 -ww # to rewrite the eeprom on the card

Wireless support

The SRX87 comes with built in WiFi support for 802.11b. From my experience with using my wife's Dell laptop with a pcmcia WiFi card the SRX87 built in antenna has considerably weaker reception. I added an external antenna to the Buffalo Airstation and I now can work more freely in the house.

Get the latest Orinoco drivers for linux. Unpack the source into /usr/src and follow the usual "make" steps. I had to copy the following module files into "/lib/modules/2.4.23/pcmcia": "hermes.o", "orinoco.o", and "orinoco_cs.o". Make sure that you have compiled into the kernel pcmcia support for network and wireless network interfaces, and you have not selected any specific support for the card.

If you want to use kismet you will need to patch the drivers to allow monitoring of the wireless connection. I'm currently having problems switching it out of monitoring mode.

Sound

You will need the following debian packages installed:

The kernel has to be configured for sound support as a module but don't select a specific card in the kernel configuration.

$ cd /usr/src/
$ tar -xvzf alsa-drivers.tar.gz
$ cd /usr/src/modules/alsa-drivers
$ ./configure --with-moddir=/lib/modules/2.4.23/alsa
$ make all
$ make install
$ ./snddevices
$ chmod u+rw /dev/dsp /dev/mixer # for giving user access to sound support
$ modprobe snd-intel8x0 # should load correctly
$ alsaconf # too correctly setup the device

I have not correctly installed the sound drivers. It is not correctly loading on the boot-up. I have to load the module by hand and then there is sound.

Sound alternative

I have been experimenting with using the Intel ICH (i8xx) driver in the kernel 2.4.23 kernels. In the kernel config you can select the driver in sound configuration. There are some problems with this driver because it only plays audio at 48000 Hz. This will play some lower sampled sounds too fast. If you are using xmms you can use the crossfade plugin. Once the plugin has been installed, in preferences you can select the crossfade plugin, and then, select a sample rate of 48000 Hz.

Adding an "rc.local" to Debian

Because, I came from mandrake, I was used to using rc.local to add my local hacks to it. I found the following instruction on google groups on how to setup a similar file on Debian.

Linking a Sony CLIE via USB

I found the following website helpful for setting up syncing my CLIE with my laptop.

I compiled usb support as a module, with usb-uhci as a module, and visor as module. In my /etc/init.d/local file I added:

modprobe usb-uhci
modprobe visor
usbmgr

Then I linked ln -s /dev/ttyUSB1 /dev/pilot

DVDS via firewire

The first step is to add ieee1394 support into the kernel. I added the support through modules. The i.Link dvd drive actually speaks scsi behind the firewire so you have to add scsi support into the kernel and scsi CD support. You will also need to compile ohci1394 and sbp2 modules for the kernel, and if you want to play dvds than you will need to add udf support into the kernel. You should also have the shell script "rescan-scsi-bus.sh" installed to pickup up the existence of the DVD drive.

When you are ready you can try this:

modprobe ohci1394
modprobe sbp2
sh /usr/local/bin/rescan-scsi-bus.sh
mount /dev/scd0 /mnt/dvd/

To play dvds I use ogle. There are debian packages for it in potato and the libdecss packages can be found on the web.

If a blue band appears on the side of the window when playing a dvd you need to use xvattr (deb).

xvattr -a XV_COLORKEY -v 0

Journaling filesystems via ext3

Make sure that first you have ext3 support compiled into the kernel. I followed the instructions from Roger's SRX-87 web page.

Still needs to be configured

Additional resources

Some of these links are found in this document