OH MY GOD, IT ACTUALLY WORKED

A report on installing Linux on the Sony Vaio 505FX
by Talin

I have to admit that I did a crazy thing. Well, it all started when a co-worker bought a Sony Vaio 505FX and brought it into work. It was the cutest, thinnest little notebook I'd ever seen that still had an (almost) full-size keyboard and a trackpad. The dimensions are 10.2" by 8.2" by 0.94", but it looks even smaller than that. I fell in love with it instantly, but at first I was skeptical. Would I actually be able to type on that keyboard? Would I be able to use the trackpad? And, most importantly, would it run Linux?

Well, my co-worker let me borrow it for about a half an hour, which I spent typing and mousing into "Notepad". I was surprised at how well my fingers adapted to the keyboard, and I didn't have too many problems with keys being in funny places. The trackpad was no problem, since my Mac PowerBook has one and I'm quite used to it, although this one seemed just a tad on the jittery side. No big deal there.

Then, I took a trip over to the Linux Laptop Page . The 505FX wasn't listed, but it's bigger brother, the PCG-737 was. The documentation for the 737 was pretty standard: Pentium CPU, NeoMagic chipset, PCMCIA support, yada yada yada. In other words, the thing was, for the most part, constructed out of commodity hardware. This seemed like a good sign, as I guessed that if Sony was going to make one laptop out of standard parts, then it seemed likely that their other laptops would be made the same way.

Now, the Vaio comes with an internal modem, but not an internal CD-ROM drive, floppy drive or ethernet adapter. The external floppy comes bundled, so that's no problem. The CD-ROM drive costs extra, but I figured I could do without it; the only thing I would really ever use it for is the initial installation. Then I remembered that there was some sort of network install available for Linux. Could I get by without a CD-ROM drive? If worst came to worst I could always borrow a drive from my co-worker and do the installation that way. After that I would no longer need the drive - If I ever needed to use a CD-ROM drive again, I could mount the disc on my desktop machine as a shared network volume using Samba.

That left Ethernet. On the Vaio, ethernet connectivity is made available through PCMCIA cards (Nowadays called "PC cards", which I find confusing, although I understand why they changed it. As one friend quipped "'PCMCIA' stands for 'People Can't Memorize Computer Industry Acronyms.'") I read to the Linux PCMCIA HOWTO, and it was pretty much the same story: If it's commodity hardware, then it should work.

Now, I already had a modem/ethernet card from Global Village, a pretty nice one too. The only problem was, that it was originally designed for a Mac. Worse, it seemed that Global Village was somewhat adverse to publishing any technical specifications about their hardware; At least, scouring through the manuals and their web site I didn't find any. The Mac issue didn't concern me too much; After all, PCMCIA is supposed to be a standard, right? The other issue was somewhat troublesome however.

I mentioned this to my friend Stig, who said that he had an extra card that he wanted to sell, which was known to work with Linux. He would be in town in a week or so, and would bring it along with him.

After waffling for a few days, I decided to go ahead and get the Vaio. I got it at the San Bruno CompUSA (That's the closest large computer store from here.) I decided not to order it over the network because I wanted to be able to return it easily if it didn't work. I also decided to buy a 3-year extended warranty. The last time I "saved money" by not buying an extended warranty, the device (a boom box) jammed solid about a month after the warranty ran out. I told this to the salesman, and he apparently liked my story so much, he offered to extend the warranty to 5 years at no charge. (Then again, maybe they do that to everybody...I dunno.)

Got home, and decided to try out the Global Village card anyway. I figured that it would either recognize it automatically, in which case I could save myself some money, or it wouldn't, in which case I would be no worse off than when I started.

Now, I currently have a RedHat 5.1 Linux CD. Version 5.2 has been out for several months, which has some better support for laptop screens, or so I hear. I hadn't gotten that one - I tend to buy every other version instead of every one. So, I figured I'd try the installation with the 5.1 CD anyway. I decided to look in the RedHat manual to see what options were available for getting the data from my desktop machine (which has a CD-ROM drive) onto the notebook (which doesn't).

It turned out that there were basically five different installation options: CD-ROM, external hard drive, NFS shared volume, Samba shared volume, and FTP. The last option looked particularly interesting: If I could install via FTP, then I could install the latest version of Linux right off of the Internet, without using my 5.1 CD at all.

Since I was installing 5.2, I knew that I wouldn't be able to use the boot floppy that comes with 5.1. However, this turned out to be rather easy to solve -- you can download the disk image for the boot floppy from the RedHat FTP site. Following the instructions in the 5.1 manual, I then proceeded to make a 5.2 installation boot floppy using the downloaded disk image. The manual also mentioned that if I was installing using PCMCIA, I would need a supplementary floppy with extra drivers. I downloaded that image too, and copied it to another floppy.

Next, I plugged in the Global Village card, the floppy drive, inserted the installation floppy, and hit the power switch. It went through the usual RedHat installation startup screen. I selected "expert" mode (since I wanted to know exactly what was going on). It then went through the usual DiskDruid partitioning setup. After that, it started asking me some questions: What ethernet driver did I want to use? I didn't know which driver was the right one, so I tried each one, using the "Autoprobe" setting. None of them worked. So I gave up for the night and went to bed.

Next morning I got a visit from Leo Schwab, who brought his Linux laptop (an HP Omnibook 800) over with him, which had a LinkSys ethernet card. "Leo," I said, "can I borrow your Ethernet card? Thanks."

Popped the card in, plugged the other end into the network hub, and restarted the whole installation process. This time it didn't even ask which Ethernet driver I wanted to use, it recognized it right away. I selected "install from FTP". At this point, it asked me to set up my network configuration. I set it to an unused IP address, gave it a netmask, domain, etc. In most cases, the default entry (i.e. where the installer "guesses" the netmask, gateway, etc.) was correct anyway, so I didn't have to do much. One problem, however, was that the text cursor, for some reason, wasn't showing up when I edited the text fields, which made editing a little difficult.

After the network was set up, it went to another screen where it asked me to enter the name of an FTP server, and a directory path for the RedHat files. I checked the manual to avoid confusion - it said that the installer needed to know where the "RedHat" directory was, not "redhat".

I went to my desktop machine and browsed the RedHat web page's list of mirror sites at http://www.redhat.com/mirrors.html. I looked around for a mirror nearby and picked one sort of at random. (My choice turned out to be somewhat unfortunate as we'll see later.) I pointed my browser at that site until I found the "RedHat" directory, and the I typed into the installer dialog the parent of that directory. Hit OK.

At this point ethernet lights on the card adapter started blinking like mad; So did the lights on the ADSL router. "My God, it's actually doing something!" A dialog showed that it was downloading a list of packages to install. After about 5 minutes, the package list came up and asked me what packages I wanted. Usually at this point I say "everything", but I decided not to this time because I wanted a system that was small, lightweight and not too confusing. Unfortunately, I didn't know what half of these packages even were, so I didn't know whether I needed them or not. (In my opinion, this is probably the worst part of the RedHat installation process. I know that the installer has text descriptions for the packages somewhere, because it displays them when the packages are being installed; but in the package selection dialog, all it shows you is the package name.) With Leo's help, we winnowed the number of packages down to a reasonable number. I Hit OK.

The first package started to download. Very quickly, there was a problem...it turned out that the FTP site I chose was busy and refused the connection. I decided to skip that particular package and move on. I then realized I should have hit "retry" instead of "cancel" -- sometimes you can get on a busy site by retrying the connection. OK, I said, I'll just have to remember the name of that package and install it later.

Another 20 minutes passed, and there had been no further problems, but the install was going very slowly...it looked like it would take about two hours, so we decided to go for a walk. On the way, we noticed a 1.7 million dollar house was having an "open house"...but that's another story. (The kitchen was _big_!)

We got back, and discovered that there had been another problem, the same one: busy server. This time it was the Japanese documentation. OK, I did't need that. Continue.

After three hours it finally completed, with 4 packages which didn't install. (Out of about 600 total). At this point I decided to try and complete the installation -- set up the mouse, X-Windows, etc. Unfortunately, the last stage, setting up the boot loader, had an error. Could it be, I thought, that one of the packages that had a problem was needed for the system to work properly?

The only thing I could think of at that point was a reinstall. I didn't want to spend another three hours, but fortunately there was a way out. I knew that most of the packages were already there. I also knew that the Redhat package manager is smart enough to deal with adding new packages to a set of existing ones. So I restarted the install, but I told it not to change the partition table or reformat the drive. Then, at the package selection dialog I selected no packages at all. Of course, this meant that it would still install the non-optional packages, the ones needed for the system to actually work. Fortunately, this was only about 20 minutes worth. This time I set the FTP server to "ftp.cdrom.com" which I know is a server with huge capacity. On Leo's advice, I also made a boot recovery floppy this time when the installer prompted me to.

It got to the end of the install, but the error installing the boot loader was still there. "No problem," says Leo, "We'll just boot with the recovery floppy and see what's wrong." We do this and discover that the problem is simple - I forgot to set the main partition as being bootable. Duh.

That being done, we installed the boot loader and rebooted. It started Linux up wonderfully. Only one small glitch -- looking at the bootup message log, it appeared that this version of the kernel hadn't been compiled with "apm" support. "apm" stands for "Advanced Power Management" and it's a standard hardware interface to allow software to power up/power down the machine, as well as put it to low power mode, sleep, etc. Useful for desktops, critical for laptops. I had selected the "apm" package in the packages list, and also told the installer to make sure that the "apm" daemon was started up at boot time, but that would't do any good if the kernel didn't have the apm code in it. Fortunately, reconfiguring and recompiling the linux kernel is easier than most people imagine it to be, although not trivial; If you're running X-windows, it will even give you a GUI with checkboxes for all of the kernel options, and extensive help screens if you want them. I enabled APM, recompiled the kernel and installed the new kernel (being careful to keep the old one around...just in case. Fortunately, the new kernel has a different name, so not much needs to be done...)

I rebooted again with the new kernel, everything seemed to be working fine. The APM daemon started up OK. I spent some time tweaking the X-windows setup to look good in 800x600. One surprise - the trackpad (which looks to X-windows like a generic PS/2 mouse) actually seemed to be less jittery in XFree86 than it had in Windows.

At that point Leo went home for the evening, and his Ethernet card with him; I guess I'll have to wait for Stig to drop by with his ethernet card before I can do any more downloading and customizing.


Last updated: 
Talin@ACM.org

 Back to Talin's main page