Note that I will only explain what I have been doing, I'm not trying to write a tutorial. If you are using another Linux distribution, other settings, or even other hardware, your mileage may vary.
Please send comments, additions, corrections, and updated information to edi(at)agharta(dot)de. I will try to keep the page updated. Please feel free to correct my English, too. I'm not a native speaker.
I have switched to IBM Thinkpads (T21, T23, now T42p), so this page will no longer be actively maintained by me.
Please note that the Z505 series models are different from other 505 models. If you have one of these machines or another Vaio laptop, this is probably not the right place for you. The other Z505 models (RX, R, and S) are more or less the same, but I've heard that there are slight differences.
Of course, you will also be able to install Linux on your Z505 with other distributions, but many of the things that I'm describing here might be specific to SuSE 6.1.
First, you should ask Windows to defragment your hard disk. (This might take a couple of hours.) Also, you should temporarily disable virtual memory because Windows might use the end of your partition for this task. Afterwards, you can use fips to change the size of the Windows partition and add new partitions for Linux. I chose 2 GB for Windows, a 128 MB swap partition for Linux, and devoted the rest to the root mounting point. As a couple of people have pointed out, altering the /dev/hda4 partition is not recommended since it is used by the BIOS hibernation feature. (If you accidentally removed or damaged this partition, these notes from Erez Strauss might help you.)
Note that fips 1.5 didn't work for me, I had to use the 2.0 version. Both versions are provided as part of the "dosutils" of the SuSE distribution. (SuSE recommends to use the 1.5 version...)
First, you will need another Linux/Unix machine with a CD-ROM drive and an Ethernet connection. Insert the first SuSE CD into this drive, mount it and export this directory via NFS. Make sure you know the necessary TCP/IP settings to connect to this machine.
Put the Linux boot floppy into your floppy drive, connect the drive to your Vaio, connect the Vaio to your Ethernet, and turn on the computer. Please be patient. Booting Linux from a floppy disk took more than ten minutes on my Vaio - no kidding. (This might be due to the USB connection, due to the Sony floppy drive, or maybe it is just my personal bad luck with the hardware that I've bought...)
Before you can start the installation, you will have to load the right network kernel module. You need the "eepro 100" module. That's it, you can now follow the SuSE instructions. (If you have to change CDs during installation, you will have to unmount, change the CD, and mount again on the machine that's exporting your directory.)
If you have a Sony CD-ROM drive, you can directly boot from the first SuSE CD-ROM to start the installation. You must answer "linux ide2=0x180,0x386" to the "boot:" prompt (i.e. pass these parameters to the kernel) to make this work.
I didn't have a CD-ROM drive (did I mention that already?) so I had to choose another solution. I tried loadlin and the Windows boot menu. Everything worked fine until I started to fiddle with autoexec.bat, config.sys, and all that stuff. The result was that I couldn't use Windows anymore, and so I decided to install lilo. The reason why I'm bothering you with this story is that I was able to reanimate Windows afterwards, and now I have a working dual-boot setup without the need to re-install Windows. The conclusion might be that installing lilo in your MBR (using SuSE's yast) won't prevent you from deploying Windows even if you don't have a CD-ROM drive. As I said in the disclaimer, your mileage may vary...
Some people have reported kernel panics at boot time. I never had these problems, maybe because I added
append "mem=128M"to my /etc/lilo.conf file (thanks to a hint from Dave Foster's Vaio page). Of course, 128M might be the wrong value if you use another Vaio model...
[Update: William Cattey recommends disabling the lilo timeout and not putting the "append" line in your /etc/lilo.conf if the procedure described above doesn't work for you.]
You can use gpm without any problems. You're using a PS/2 mouse.
In order to be able to shut down your notebook with the halt or shutdown -h command, you will have to change your shutdown script /sbin/init.d/halt. Just add the option "-p":
...
case "$0" in
*halt)
message="The system is halted."
command="halt -p"
;;
*reboot)
...
Blanking the screen (video suspend) will work fine with your console. In order to make it work with X you will need to use a tool like xcnf (provided by SuSE). Alternatively, you can change your XF86Config settings. Here is what Reiner Klenk proposed in comp.os.linux.portable:
add Option "power_saver" to Section "Device" add BlankTime 10 StandbyTime 11 SuspendTime 12 OffTime 15 to Section "Screen"(I haven't tried it yet.)
The 3.0 version of apmd will also provide you with an apmd_proxy feature in your /etc directory. This is what I added to make my Ethernet card work after a suspend or hibernate event:
... # other common actions: reload troublesome drivers # EXAMPLE: reload OSS sound drivers. Path may vary. # /usr/local/bin/soundon if [ $2 = suspend ] || [ $2 = critical ]; then /sbin/init.d/network restart /sbin/init.d/route start fi ;; ...
[Harald Ganziger told me that restarting /sbin/init.d/dhclient will work in case you're using DHCP.]
You will also have problems with your Ethernet card after a warm reboot from Windows. (Windows is leaving your chip in suspended state.) Therefore, I recommend to do a cold reboot after using Windows 98. Please note that Donald Becker, the author of the eepro 100 driver, is aware of these problems and that they'll be fixed in future releases of Linux. (An alternative solution can be found on this page.)
I am using a 2.2.12 kernel and I also applied the latest IrDA patch although I don't think this was really necessary. You will also need a recent version of the Linux/IrDA-Utils.
After you've compiled and installed the software, you will have to create the devices that you need. You only have to do this once:
mknod /dev/ircomm c 161 0 mknod /dev/ircomm0 c 161 0 mknod /dev/ircomm1 c 161 1I think the first line will suffice, but it won't hurt to create the other devices. (Note that older versions of the IrDA software used other major and minor numbers, namely 60 and 64.)
The kernel assigns interrupt 4 to /dev/ttyS2 although the BIOS wants interrupt 10 by default. To correct this, you'll have to say
setserial /dev/ttyS2 irq 10(I recommend adding this line to your /sbin/init.d/boot.local file.) The following two lines need to be added to your /etc/conf.modules file:
alias tty-ldisc-11 irtty alias char-major-161 ircomm-tty(With older versions of the IrDA software the last line would have been "alias char-major-60 ircomm_tty". Nope, no typo: That's an underline instead of the hyphen above.)
If you have installed the IrDA software correctly, you will now have a file /etc/irda/drivers. Edit it to look like
... 'start') irattach /dev/ttyS2 ;; ...Now you can start irmanager. I use a script in /sbin/init.d/ (linked to files in the appropriate rcx.d subdirectories) to start irmanager at boot time.
What remains to be done is to start a PPP connection to your ISP. This is described in detail in the Linux PPP HOWTO, you just have to use /dev/ircomm instead of /dev/modem. (And if you usually connect to the Internet through a gateway on your LAN you have to delete your default route before you start.) If you think you need further assistance, you can take a look at my /etc/ppp/ directory.
If you want to try something similar yourself, good places to start are the Linux IR HOWTO and the archive of the Linux-IrDA mailing list.
Add the following lines to the end of your console keyboard layout (us.map.gz):
keycode 125 = AltGr keycode 127 = AltGr keymaps 0-4 keycode 30 = +a +A adiaeresis Adiaeresis Control_a keycode 24 = +o +O odiaeresis Odiaeresis Control_o keycode 22 = +u +U udiaeresis Udiaeresis Control_u keycode 31 = +s +S ssharp ssharp Control_sThis will provide you with ä (Windows key + a), ö (Windows key + o), ü (Windows key + u), and ß (Windows key + s). (The capitals work as well if you press the SHIFT key.)
To get the same result under X, you'll have to add these lines to your Xmodmap:
keycode 115 = Mode_switch keycode 117 = Mode_switch keycode 38 = a A adiaeresis Adiaeresis keycode 32 = o O odiaeresis Odiaeresis keycode 30 = u U udiaeresis Udiaeresis keycode 39 = s S ssharp clear Mod2 add Mod2 = Mode_switch(I was finally able to find a working solution for both X and the console after studying Aldo Valente's website.)
However, you don't have to pay for sound support! A nice guy has written a driver for the Neomagic card. To get it, you either have to use a new kernel (2.2.13 or higher) or you have to patch your old kernel.
If you've never patched your kernel before, here are some instructions:
#alias char-major-14 off #alias sound off #alias midi off alias char-major-14 nm256av post-install nm256av /usr/bin/aumix -v 100,100(The last line is optional. You can use a command of your choice after "post-install nm256av" to automatically set the sound volume to your preferred level. For 2.2.13 and newer kernels you should replace "nm256av" with "nm256"!)
That's it. You should have sound now...
Update: A French company named Olitec has released binary-only drivers for their modems that - according to some reports on the above-mentioned mailing list (check the archives) - might work with the Vaio modem. They started with a release that worked with RedHat 6.2 exclusively, but now they seem to offer different versions for 2.2.14, 2.2.16, and 2.2.17 kernels as well. I haven't tried it myself. If somebody is able to successfully use his modem with these drivers, I'd be glad to post his report here.
PCMCIA_PCIC_OPTS="cs_irq=11"in SuSE's /etc/rc.config. If you don't, your system will hang after inserting or removing a card! More information about this interrupt-related problem and the work-around (provided by Kerry Clendinning) can be found on the sound patch webpage.
You can now mount CD-ROMs with something like 'mount -t iso9660 /dev/hde /cdrom' if you're using Sony's CD-ROM drive.
[A side note for SuSE users: I've installed a newer version (3.1.4) of the PCMCIA package. Unfortunately, the Makefile will recognize Red Hat, Debian, and Slackware, but NOT SuSE. Thus, it will overwrite SuSE's "pcmcia" start script in /sbin/init.d, and - as a result - the new script won't source /etc/rc.config anymore. I suggest that you simply reinstall the old script after upgrading the PCMCIA package.]
More information about PCMCIA can be found at the Linux PCMCIA information page.
General USB information can be found on this website.
The hard disk can be made about three times faster with "hdparm -c3 -m16 -d1 /dev/hda". Even better results can be achieved by -c2 instead of -c3 but the man page states that this is not safe. Erez reports that -X34 crashed his system (Z505RX).
You can test your hard disk with "hdparm -t -T /dev/hda" before and after you apply the new parameters. If you want to make these changes permanent, put them into your boot.local file. And, before you begin: RTFM!!
Section "Xinput"
SubSection "Mouse"
Protocol "IMPS/2"
DeviceName "USB Mouse"
Port "/dev/usbmouse"
Buttons 5
ZAxisMapping 4 5
AlwaysCore
EndSubSection
EndSection
I'm using a Microsoft IntelliEye wheelmouse and it works fine with X - you can even use your trackpad at the same time. (Use "PS/2" as your mouse protocol if you don't have a wheelmouse.) Just keep in mind to plug your mouse into your Vaio before you start an X session or boot with xdm/kdm! By the way, for wheelmice I can really recommend Colas Nahaboo's website.
FYI: The USB code in SuSE's kernel is a backport from the 2.3.x kernel tree.
Remark: If you're not using SuSE, you might also have to add
Section "ServerFlags"
AllowMouseOpenFail
EndSection
to your XF86Config file in order to allow your X server to start without your USB mouse.
Update: There are several ways to overcome the problem I mentioned above, i.e. you CAN use two mice (built-in trackpad plus external USB mouse) and disconnect and re-connect them while X is running. One solution, sent by Jason Bishop, uses GPMs 'gpmdata' facility. The GPM distribution even includes a couple of (unsupported) patches that will enable support for wheelmice.
An alternative solution is to use XFree86 4 which supports using several mice at once. This is the setup I'm using now and it works fine for me. See Jochen Topf's Vaio page for details. (Mr. Topf is also the author of one of the GPM patches, by the way.)
Update: Daniel Mettler has talked to some Sony people in Switzerland. They don't seem to have plans for offering the Z505 models (or any other variant with 12.1'' monitors) in Europe.
Another update: They finally seem to offer similar, albeit not identical, models in Europe. Take a look at their online shop for further information.
$Header: /usr/local/cvsrep/weitz.de/vaio.html,v 1.8 2004/12/25 21:19:24 edi Exp $