Using Linux on the Sony Vaio Z505GA

Paul Dwerryhouse (paul@dwerryhouse.com.au), 3-Dec-2001

  1. Meta Info
  2. Introduction
  3. Installation
  4. Recompiling the Kernel
  5. Networking
  6. XFree86
  7. Sound
  8. Memory Stick
  9. i.LINK
  10. Jog Dial

Meta Info

The latest copy of this document can always be found at http://leapster.org/linux/vaio/.

Information on other Sony laptops can be found at http://www.linux-laptop.net/sony.html.


Introduction

The Sony VAIO PCG-Z505GA is a slimline laptop sold for Pacific and South East Asian markets, typically Australia, New Zealand, Singapore and Malaysia. Aside from minor details such as processor speed, hard drive size and lack of built in modems, it appears to be very similar to the PCG-Z600TEK, PCG-Z600LEK and PCG-Z600HEK models sold in Europe and the Z505 Slimline model sold in North America. The information in this document could well work with these other models, although I have not verified whether this is true or not.

New: In 2001, Sony released two new models in Australia - the Z505GAH and the Z505GAM. There appear to be very few differences between these machines and the Z505GA, so you will probably find that the notes below apply to these machines also.

The technical specs of the Z505GA are:

The supplied port replicator has a serial connector, a printer port and an external monitor port. It also replicates the on-board i.LINK and one of the USB ports.

The supplied floppy drive is connected via a USB port and the optional CDROM drive connects via the PCMCIA port.

Rumour has it that there is a modem under the panel on the back right corner of the laptop, however it did not pass Australian Austel regulations and Sony covered it over. Windows seems to see it. I have not pried off the panel to see what is under there, however. At any rate, it would be a Winmodem - my experience with these devices is that they are next to useless, even under Windows. A driver for this, if it exists, can possibly be found at Linmodems.

The laptop lacks an IR port - a serious omission, in my opinion. I've purchased an USB IrDA adaptor for mine, but a built-in one would be preferable.

The documentation below details how to install Linux onto one of these machines. The distribution that I have used is Debian - however it should be possible to use this documentation as a guide to install any Linux distribution.


Installation

Neither the PCMCIA CDROM nor the USB floppy appear to be supported by the Debian linux boot disks/CDROMS, so although you can boot off these devices, the only options, once booted, appear to be either a network install or an install from the Windows partitions. My desktop computer's CDROM drive appeared not to like my Debian CDROMs at the time, so I went with the Windows partition install method instead.

First, I used the Sony Windows reinstallation disks and cut the Windows partition down to 4Gb. Probably still too much, because I doubt I'll use it, but that was the smallest partition size I could get using the automated install. Unfortunately, they don't supply you with real Windows CDROMs anymore, so you're stuck with their options. Commercial interests selling out flexibility in the name of "copy protection", in my opinion.

Once Windows was installed again, I copied the entire contents of the first Debian 2.2 (potato) CDROM onto the Windows partition, and then booted the computer off the CDROM, which started the Debian install process. I then mounted the windows partition:

mkdir /dos
mount -t vfat /dev/hda1 /dos

...and continued with the normal Debian install, telling it to install the kernel modules and base system off the mounted /dos partition. You'll need to select the pcmcia, eepro100 and isofs modules. It might also be handy to install the DOS (msdos, vfat) filesystem drivers too, just in case you need to access the windows partition again. Once all this was done, I installed LILO to the MBR and then rebooted.

When it rebooted, I found the CDROM was accessible on /dev/hdc and so I installed the rest of the system from that.


Recompiling the kernel

In order to access the USB ports, Linux 2.4 is needed. I'm now using kernel 2.4.20 - the kernel config file I use can be found here. The USB floppy appears as a SCSI device, so you need to enable both USB & SCSI support - as well as selecting the usb-storage option. Obviously you'll need PCMCIA support for the CDROM. This is now supplied with the kernel source, so you don't need to download it separately.

When the new kernel is compiled and booted, you'll find that the CDROM is now on /dev/hde, not /dev/hdc as it was under Linux 2.2.

My floppy drive appears on /dev/sdb.

The trackpad is just a PS/2 mouse, so make sure you select that option when configuring the kernel.


Networking

Very simple to get going - just compile Intel Etherexpress Pro 100 support into the kernel, and the card will be recognised without any hassles. It is best to compile it up as a module (eepro100)- when the machine is suspended and then unsuspended, the network card needs to be reset, and the only way that this can be done is to unload the module and then reload it.


XFree86

You have the option of using either XFree86 Release 3 or 4. They're both fairly easy to get going, but I prefer release 4 because of its ability to be able to use both the trackpad mouse and an external USB mouse at the same time.

XFree86 - R3

Getting X going is a relatively simple affair - you need the xserver-mach64 package. One snag is that the laptop's card doesn't seem to like the xserver-vga16 driver, which is needed by the XF86Setup program for graphical configuration. It garbles the screen and makes it difficult to see what you're doing. A simple workaround is to just use the XF86Config file that I built, here. One thing to note is that I've told it to use the PS/2 driver for the trackpad. The Debian default seems to be to get gpm to echo data to /dev/gpmdata using the MS mouse protocol. I don't like the way the middle mouse button is emulated using this, so I don't use it (and as a result, I have to kill off gpm. Doesn't matter, I don't like it much).

XFree86 - R4

Use this /etc/X11/XF86Config-4 config file. There is only one X server in the XFree86 R4 system - in Debian, it is in the package xserver-xfree86.


Sound

Sound is also very simple to get going, using ALSA. Download the ALSA driver source, unpack it and then do the following:

./configure --with-sequencer=yes --with-cards=ymfpci
make
make install

Then put the following text in a new file such as /etc/modutils/sound and then run update-modules:

# ALSA portion
alias char-major-116 snd
# OSS/Free portion
alias char-major-14 soundcore
 
# ALSA portion
alias snd-card-0 snd-card-ymfpci
# OSS/Free portion
alias sound-slot-0 snd-card-0
alias sound-service-0-3 snd-pcm-oss

Those running distributions other than Debian will need to put the above lines into /etc/modules.conf, instead.

Remember that ALSA mutes the sound channel by default, so you'll need to use something like xmix to turn the volume up. Install the alsautils package so that the system can save your settings on shutdown and restore them when booting.


Memory Stick

The memory stick port works perfectly. It requires modules sd_mod, scsi_mod and usb-storage, which are all part of the standard kernel. I use the following line in /etc/fstab to mount the memory stick contents:

/dev/sda1       /mem            auto    defaults,rw,user,noauto  0      0

i.LINK (ie, firewire)

The i.LINK firewire port works perfectly under Linux. I've been using mine for several months with a 30Gb hard disk drive in a firewire IDE case. To do this, you need to use the ieee1394, ohci1394 and sbp2 modules.


Jog Dial

Works nicely - enable CONFIG_SONYPI in the kernel and install S-Jog.



Author: Paul Dwerryhouse (paul@dwerryhouse.com.au)
Created: 11-Jan-2001
Last-Modified: 27-September-2003
Copyright 2001 - 2003, Paul Dwerryhouse.