As this install is more tricky than a standard linux installation anyway, I'll assume you have installed linux at least once before, and therefore, be a little less verbose about standard linux installation issues. You also need to know how to compile a kernel.
First off, of course, is choosing where to put linux. Quite conveniently, the laptop ships with the 30gb drive split into two roughly equal partitions, with Windows XP (home or office depends on PCG-VX88 vs PCG-VX88P, this appears to be the only difference). So, I made sure nothing important was on the second partition. If you'd like to change the size of the partition, I think there are utilities out there to do this for you (can they resize NTFS partitions, though?). However, the recovery CD conveniently comes with an option to resize your partitions. If you've just opened up the laptop for the first time, it seems that doing this before doing anything else is the easiest way to give your linux partition more or less space.
I grabbed and burned a Debian Net installation CD image. Since the system doesn't have burning software included (XP handles that), I downloaded an evaluation copy of Nero.
Now shutdown the system, and go back to XP, and format the drive (E: in my system, I believe). Make sure that you set the file system type to FAT (not FAT32, yet, at least). Copy files from the net installation CD. You will need access to the rescue image (rescue.bin) and drivers.tgz.
Now go back and boot the installer once more, and go back to the second console. Make the rest of your partitions (swap and root, and any others). Make the filesystems on them (you can do all of this in the debian installer, too). Now, mount your root filesystem, and create a /debianinst directory. In it, place drivers.tgz. Make a subdirectory images-1.44/, and put rescue.bin in that. Make sure these files are named lowercased (dosfs may have messed with the file names). Unmount the root filesystem. Now you can go back to the debian installer. When it prompts for the files, give it the paths you created when it asks.
eepro100.omodule. I saw a note here that this driver may freeze the system, but I never saw that problem, and I downloaded hundreds of megs for my installation.
- Use the i810 XFree86 Driver. Display resolution is 1024x768 (smaller resolutions just render in the center of the screen and don't use the outside few inches). Refresh is 60hz (at least that's what I use).
- Sound is supported by the intel8x0 alsa driver, so install alsa (see later notes, though)
- Install acpid, the ACPI daemon. See later notes and warnings!!
- Touchpad is PS/2. Mine occasionally flakes out and won't respond for a few seconds (in windows too, anyone else having this problem?)
- Install PCMCIA, it's required for the wireless card (yes, I know it's MiniPCI, see later notes)
- Install CD-burning programs and DVD-reading programs if you'd like.
- Install sonypid and spicctrl, this helps with making that little wheel-thing useful.
- Install the hotplug daemon so you can configure the wireless card.
- Install pciutils and usbutils if you want usb or memory stick support.
- Install the wireless-tools.
That said, it's time to recompile the kernel (whee!)
So, go to your favorite kernel mirror and grab the source for the newest 2.4 kernel. I used 2.4.19. I didn't use the debian sources, because I had some problems getting patches to apply. Be sure to grab the debian package kernel-package, too, it's very useful. To see how to use it, go to the Debian Website and read up on how to compiel your own kernel (it's under documentation, try the Debian Reference). Note: various debian docs say that if you compile your own kernel, it requires the cramfs patch to use the debian initrd scripts. They never mention where to get this patch. Therefore, don't use the --initrd option to make-kpkg, and be sure to compile in all of the drivers you need (ide, ext2, etc).
Now, unpack your kernel source, and then go grab the latest stable acpi patch (20020918 worked for me) from the ACPI project page. Apply the patch. Now go to the linux-ieee1394 page and grab the latest subversion snapshot. It'll be a tarball that you can unpack directly into the drivers/ieee1394 directory of your kernel source. Now you're ready to configure.
Here is my kernel .config file. Of note:
- sonypi - lets you adjust screen brightness, check battery status (doesn't work, but ACPI does), and a few other things. More importantly, it lets linux access that little scroll-wheel and button, and, horrah, lets you respond to keypresses of FN+F3 and the like. So far, it doesn't let you switch to vga mode, though :(
- ACPI - enable this. You should say yes to almost every option under it, except the debug stuff, and toshiba stuff.
- IEEE1394 - enable this. You'll have to enable experimental options.
- PIIX - this is your IDE controller. Compile it in so you can boot.
- PCMCIA stuff - you should use the kernel-based card manager, yenta-socket.
- Orinoco card - referred to as "hermes", this is the wireless card.
- USB - If you want the memory stick reader to work in linux, grab memstick.patch and apply it to the kernel. It may need some finessing to get it to apply. Enable USB, and hotplugging support, and see below for configuration.
make-kpkg clean first), from in the kernel source directory:
make-kpkg --revision 2.4.19.custom.1 --append-to-version -686 kernel_image modules_imageLet that go for awhile. Takes about 10 minutes on my system. Then, go up a directory and use dpkg -i to install the package. Tell it to run lilo. Reboot. Good luck. :)
dmesgoutput, be sure acpi configured everything right. It handles your cpu temperature (did I mention, enable thermal zone, along with everything else, in the kernel config?), your battery status, and also enumerates all of your IRQ's (wireless won't work without this). I wrote a little perl script to read /proc/acpi for battery status. It sits in an xterm and updates every 30 seconds. Here's the source. Note, I already had to rewrite it once going from 2.4.16 to 2.4.19, they changed the proc entries. Use at your own discretion. No support provided. It worked for me.
As for the PCMCIA thing... it seems that, though this card is MiniPCI, it includes a little PCMCIA bridge in it. I'm not exactly sure why this is done this way, except perhaps so that the existing driver for the pcmcia card version can be used as is. Go figure. Anyway, I think that I see the pcmcia driver also detecting the real pcmcia socket... but I don't know if it actually works.
As for the wireless on/off switch... when I first saw this in the pictures at sony's site, I was thrilled. I figured, since it's a hardware switch, I'd be able to turn off wireless and save battery, from hardware. Wouldn't it be very convenient, even, if the built in pcmcia card bridge disabled the card and sent a pcmcia card-removed event? Well, it doesn't quite work this way (I don't think so anyway...). As far as I can see, it merely disconnects the antenna. WinXP figures this out and disables the interface (and then takes a correspondingly long time to figure out that you've turned it back on, :P). In linux, all you see is that your signal strength drops to 0 (run iwconfig eth1). Maybe the card is also turned off to conserve battery life, I can't tell. The little LED goes off, though, and I'm sure that saves a few microwatts ;) here for alternative ways to use the jogdial and keys.
Sometimes, it doesn't work on startup. I'm not sure, but this seems to be the case any time when I've started the laptop cold (not rebooted into linux from XP or from linux). I have to kill sjog, remove the sonypi module, then put it back in (or let it get autoloaded) and run sjog again. What a pain. I created a boot script linked into /etc/rcS.d that just loads the module and unloads it. It's kind of hacky, but it works like a charm, and now the jogdial always works by the time I've booted.
In retrospect, you could probably use
apt-get source alsa-base(and a few other packages) to get the debian patches for it, and so you can build a debian package and install that. You have to rebuild, because there isn't an alsa modules package for kernel 2.4.19 in debian (that I know of, try unstable?)
the linux1394 page and go through their "getting started" section. In brief: insmod ohci1394, tail -f your log file, and plug in the drive (hotplugging works fine). The drive shows up as a scsi drive. I don't know where it'll be in a nondevfs system, but in devfs, it just goes into /dev/cdroms/cdrom0 (this is a symlink). Now burn away, this thing uses scsi natively. I just finished burning a cd, it works beautifully. :D
Note that if you don't use the newest snapshot of linux1394 (I used snapshot 582), your system will freeze. My system locked up until I pinged it (!). Also, it triggered numlock, confusing me to no end (try hitting numlock, and typing, pretending you didn't expect it!). Use the newest version.
To get the memory stick reader working, just pop in a memory stick and mount /dev/sda1. As far as I can tell, you can partition it how you want, and put any file system you want on there. The memory stick reader communicates internally through a secondary USB host, and works as a generic scsi hard drive. I also found that my roommate's digital camera could be connected directly via usb (rather than transferring the memory stick), and it, too, pretended to be a scsi hard drive.
the Linux-Sony page for info about linux on other sony laptops (this may help, especially info about the sonypi driver). Check the only other linux/vx88 page that I found, from which I got the idea to try the newest snapshots of acpi and ieee1394. It's rather terse, so I wrote this page. I remember how happy I was to find a similar page for my HP Pavilion N3310 laptop a few years ago, and how happy I was that I found the abovementioned page which let me get wireless and the dvd/cdrw working finally (it had been over a week, jeez! ;)). Plus, I like to give back to the linux community.
So, this ends it. I hope everything worked out for you. Email me at the address listed below, although I'm a college student, and I can't help everyone learn linux. This page is only a reference; you should know linux before you try to use this information. Also, I can't help you with debian. I just learned it myself, from all the fine documents at http://www.debian.org, so you can too.