TuxMobil - Linux on Laptops, Notebooks, PDAs and Mobile Phones

Installation of Linux on a SONY PCG-GRT390ZP Laptop

I recently purchased a Sony PCG-GRT390ZP laptop with the intention of having it dual-boot linux and Windows XP. The system I purchased has the following hardware.

Mobile Pentium 4 M CPU at 2.4 Ghz
512 MB Ram
80 GB Hard drive
Sony CD RW CRX830E DVD/CDRW
1600x1200 pixel display
NVIDIA GeForce Fx Go5600 Graphics Card (64MB)
SIS900 Based PCI 10/100 network card
Sigma-Tel Sound Card
Softx56 Data Fax Modem
I wanted to keep Windows XP, but upon first boot, I discovered that Sony had put a restore partition at the front end of the disk. The initial partition was:

/dev/hda1 5130.1 ntfs Sony Restore Stuff
/dev/hda2 14307.9 ntfs C: Windows XP
/dev/hda3 58878.6 The rest of the disk
/dev/hda5 58878.5 ntfs D: overlays the previous

On first boot, I was asked to make a restore CD set. After burning the 10 CDs (or one DVD), I rebooted using the SONY recovery CD. The Startup CD runs for awhile, then asks for disk 1. Disk 1 comes with the option to repartition things and to delete the recovery drive. I set C: to be 15GB. By Default it then puts the rest of the disk into the D: drive, but I will go back and fix this later.

I am now ready to start installing linux. I went through several different versions of linux, all of which were quirky in some way. My preferred solution was going to be Mandrake 10, but I eventually gave up on this. What is crucial is to download the latest NVIDIA drivers from the nvidia website.

RedHat Enterprise Level 3

This OS went on just fine in graphical mode. I was able to use disk druid to repartition the disk as follows.

/dev/hda1 windows XP (un touched) 15000 MB ntfs 1 1959 15735636 Blocks
/dev/hda2 /boot 100 MB ext3 1960 1972 104422 Blocks
/dev/hda3 / 10000 MB ext3 1973 3247 10241437 Blocks
/dev/hda5 /users 40000 MB ext3 3248 8346 40957686 Blocks
/dev/hda6 swap 1000 MB ext3 8347 8473 1020096 Blocks
/dev/hda7 /users/msdos 9000 MB vfat 8474 9729 10088788 Blocks

The install went without a hitch. The only thing special that I did was not to have X automatically started. After the first boot, downloaded and installed the nvidia patch, and then modified the /etc/X11/XFree86 file. I then issued a startx command, and the console came up beautifully. However, the power management and the sound card did not work in this install.

I was able to start Gnome just fine, but KDE hung up on starting peripherals and I had to hard boot the system. As I really wanted a 2.6 kernel, I stopped playing at this point.

Mandrake 10

In order to be able to install Mandrake 10, at the start of the boot from CD, you need to hit F1 to get more kernel options, and then type:
linux hda=ndma nolapic
You can now install things just fine in graphical mode. Unfortunately, once I was booted, I was unable to start the network, even though the SIS900 driver that worked under RHE3 was loaded. I was also never able to get the nvidia graphics to really work with this. It is probably possible to get things going, but after a couple of days of tinkering, I moved on.

Fedora Core 2 Test 3

I downloaded the iso images from Fedora and they installed without a hitch. I do recommend checking your media before installing. I installed all the software, and when I was done with this entire procedure, I was using about 7.5 GB of space. If you want to do this, you may well want to make the hda3 partition a bit bigger. I also made sure not to automatically start X, but I did configure the system with a generic LCD display. Once the system was running, I had a minimal X system with 800x600 resolution, and sound was working. The problems were then with the NVIDIA drivers.

There are apparently some problems with the 2.6 kernel released with Fedora. After a lot of research, I found a reference to two kernel options that need to be disabled:
CONFIG_REGPARMS = n
CONFIG_4KSTACK = n
Even with reverse patching the RedHat kernel, I could not get Nvidia to load up. In the end, I went to kernel.org and downloaded the source file for the 2.6.4 kernel, linux-2.6.4.tar.bz2. Installing this kernel was straight forward. Assuming that the above bz2 file is in the directory /usr/src, it consisted of the following steps:

bunzip2 linux-2.6.4.tar.bz2
tar xf linux-2.6.4.tar
cd linux-2.6.4
make mrproper
cp /boot/config-2.6.5-1.327 .config
make oldconfig

I just gave the default answers to all the questions. Unfortunately at this point, I was unable to effectively use either

make xconfig
or
make menuconfig

As such, I just edited the resulting .config file and made sure that I had the line:
CONFIG_REGPARMS = n
in the file. Note, the CONFIG_4KSTACKS is not an option in this kernel, but that is ok. I then built the kernel:

I also modified a few other kernel options to make sure that some additional features were working. The following three let me connect my Logitech USB camera to the computer:
CONFIG_USB_GADGET=m
CONFIG_USB_GADGET_NET2280=y
CONFIG_USB_NET2280=m

The following put NTFS support into the kernel.
CONFIG_NTFS_FS=m
CONFIG_NTFS_RW=y

The following allows me to write to the CDRW/DVD drive:
CONFIG_BLK_DEV_IDESCSI=m

make bzImage
make modules
make modules_install
make install

I then edited my /etc/grub.conf to make sure that the 2.6.4 kernel was the default, and rebooted the system. During boot, I encountered a number of what looked like worrisome messages, but in fact, they were not. Once you have booted, then you can install the NVIDIA drivers, I downloaded the file NVIDIA-Linux-x86-1.0-5336-pkg1.run and installed it with the command:

sh NVIDIA-Linux-x86-1.0-5336-pkg1.run

Once this is done, then you need to go into the /etc/X11 directory and modify the xorg.conf file. My version is here xorg.conf. The crucial lines are the
comment out the line:
#Load "dri"
and the lines:
Section "Device"
       Identifier "Videocard0"
       Driver "nvidia"
       VendorName "Videocard vendor"
       BoardName "driver (generic)"
       VideoRam 65536
       Option "NvAGP" "1"
#        Option "NoLogo" "true"
EndSection
If you do not like the NVIDIA logo to start up, you can uncomment the NoLogo line. At this point, you should be able to start up X:

init 5

You may get the following message, but it appears not to matter:

May 9 21:10:07 curtis kernel: nvidia: module license 'NVIDIA' taints kernel.

I also get messages both booting and shutting down about problems with the module floppy.o. Given that there is no floppy drive on this system, I am not worried, but may eventually figure out how to take care of this.

If you are happy, you can change our default login level from 3 to 5 by editing the /etc/inittab file.

I also had one oddity that occurred only once. When I rebooted the system, I came up in the original 800x600 resolution. It appears that the xorg.conf file was overwritten by the xorg.conf.backup file. After making both of these the the same new xorg.conf file, I never saw this problem again. At this point, I am happily using my system. I am not sure if everything is working, but enough is going that I am comfortable.

One potentially useful piece of information is that the hard reset button is the small hole in the bottom of the laptop next to the vent above the Windows sticker. I had one occasion to use this.

You can now clean up your kernel build by going into the kernel source directory and doing a

cd /usr/src/linux-2.6.4
cp .config /boot/config-2.6.4
make mrproper

I boot my kernel with the following lines in my grub.conf file. Note that I have disabled selinux at the kernel level. You may or may not want to do this, it is not necessary, but it cuts down on complaints during booting, shutdown and updating.


# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
#      all kernel and initrd paths are relative to /boot/, eg.
#      root (hd0,1)
#      kernel /vmlinuz-version ro root=/dev/hda3
#      initrd /initrd-version.img
#boot=/dev/hda
default=0
timeout=10
splashimage=(hd0,1)/grub/splash.xpm.gz
title Fedora Core (2.6.4)
      root (hd0,1)
      kernel /vmlinuz-2.6.4 ro root=/dev/hda3 rhgb quiet hdc=ide-scsi selinux=0
      initrd /initrd-2.6.4.img
title WindowsXP
      rootnoverify (hd0,0)
      chainloader +1

You may also want to uninstall the stock redhat stuff.

Display

I have the full 1600x1200 display and it is very nice. There are a few quirks in that the display occasionally "jumps" or "blinks", and when I resize a window full of text it is disorientating. I suspect that I will figure these things out eventually.

Sound

Sound works out of the box, and is using the snd_intel8x0 driver.

USB

I have plugged in and mounted my USB memory stick without a hitch. I am also using a Logitech USB wheel mouse on the system.The Logitech camera also works with the USB kernel options on.

Memory Stick

The port appears to have configured properly, but I do not own a stick to check this.

ACPI

This appears to be working at some level. I have not tested everything, but the power meter correctly detects the battery state, and shows the remaining charge. I also have configured the laptop to suspend when the cover is closed. This works fine. I am not sure if hibernate is working or not.

Things to do

The sonypi is supposed to be part of the kernel, however when I did a

modprobe sonypi

I lost my USB mouse, and when I logged out, the system hung. I may eventually look into this more carefully, but for now I am not too worried.


Curtis A. Meyer cmeyer@ernest.phys.cmu.edu

09 May, 2004.