My Sony VAIO laptop is away being repaired (the hard disk died; a year ago it was the motherboard), and I needed another laptop in the meantime for client visits, so I looked around a laptop that would be a good choice for running multiple VMware sessions. In particular, it would be useful for me if I can run Linux and Windows at the same on my laptop as I can on my deskside PC.
For that, I needed a laptop with 2G RAM and at least 100G disk. After walking up and down Tottenham Court Rd in London a couple of times, I settled on the HP Pavilion dv2000 (specifically the dv2058ea), which seemed like a good balance of features, size, and price. It's a bit larger and heavier than my VAIO, but not so much so (it still *just* fits in my laptop bag). It has an Intel Core Duo processor, 2G RAM, and 120G disk, which is what I need for running VMware.
First thing I did was fire up the installed Windows XP (Home Edition) and create recovery DVDs (the recovery software fits on one dual-layer DVD, much better than the alternative of 12 CDs, but the nearest stores only had single-layer DVDs, so I settled on 2 single-layer DVDs). Interestingly, the software only lets you create a single set of recovery disks. I would have made a second, backup set of recovery disks otherwise.
By the way, this is a long story, but it does have a happy ending.
At this stage, I was ready to remove the Windows partition and create Linux partitions (since I run Windows under VMware, I don't leave a Windows partition for dual-booting as many people do). I've written before about my partitioning strategies for Linux systems [#1, #2, #3, #4], but I've decided to change again. A key issue is that, as much as practical, you want the system files separate from your own files (applications and/or data). That way, you can reformat the system partition and re-install the system without impacting the partition where your own files are.
John Cowan commented recently that he put the "/opt" and "/usr/local" directories in his "/home" partition using symbolic links, so that all of "his" stuff is in the "/home" partition. I decided to do something similar, by putting "/home" and "/usr/local" in the "/opt" partition. It's a variation on John's theme. Subdirectories of "/home" can look like user directories, so while I've done this in the past, I would prefer to have a "home" directory within "/opt" rather than an "opt" directory in "/home".
With that decision made, my partitioning plan for the 120G hard disk (which actually showed up at formatting time as having 111.7G) was
- /boot: ext3, 32M (I found 16M too small during online updates);
- swap: 2G (probably too much - if I had even 1G swapped, the performance would probably be abysmal);
- /: reiserfs, 15G (twice what I expect to need, just for safety, but note this includes the /tmp and /var/tmp directories);
- /opt: reiserfs, encrypted, remainder (~ 95G).
All of these were set up as primary partitions. I installed SUSE Linux 10.1, selected the GNOME desktop (not KDE) and set up the partitioning as I described.
However, during the install, when it came to the point in the middle of the installation where the system is rebooted, and I selected "Boot from local disk" (instead of "Installation"), I was suddenly confronted with a "MBR Error" message. I switched the power off and on to see if it would help, and selected "Boot from local disk" again, and while I didn't get the "MBR Error" this time, the system just hung. I tried toggling the power again, but the result was the same as the previous time.
Next step was to re-do the installation. I toggled the power and selected "Installation" again at the main screen. I re-installed SUSE Linux 10.1, but without re-partitioning the disk. I did, however, re-format the partitions. Still, this didn't help, it still hung mid-way through the installation after rebooting. I tried ejecting the DVD and toggling the power, to see what happened. The result was just a blank black screen, no messages at all.
For something different, I tried booting off my SpinRite CD, to see if SpinRite could see the partitions. It did see the partitions, so I started it off on a deep analysis of the hard disk, just to be sure. However, SpinRite could not do the verification, due to some issue with the BIOS. This suggested that it might be a BIOS-level issue that was stopping me from installing Linux (I was aware that this can happen with laptops, which are more likely than desktops to have a custom BIOS, although the HP's startup screen indicates a Phoenix BIOS). [By the way, it wasn't the BIOS - see later.]
I wasn't quite finished. As I had seen an MBR (Master Boot Record) error message, I thought I should try repairing the MBR using a FreeDOS boot CD. So I booted up with FreeDOS, and ran "fdisk /cmbr 1" to reset the master boot record to boot from the first partition (my "/boot" partition). Then I rebooted. And that fixed the problem! I was now able to continue my SUSE installation. I skipped the online registration, as this has severe problems in SUSE Linux 10.1 as shipped (here is Novell's apology). I tried to set up the display resolution (1200x800) during the installation, but it didn't work. The system wasn't able to switch display mode correctly. So, from the (text mode) command line I started "yast2", went to the settings for "Graphics Card and Monitor", and set it again to 1280x800. It still didn't work, so I tried setting it to a lower resolution temporarily - 640x480, 256 colours. Unfortunately, that didn't work either. So, I decided to give up on graphics temporarily, do an online update in text mode, and then try the graphics again.
However, before I could do the online update, I needed to register SUSE, which has the effect of setting up the appropriate online update URL as an installation source (e.g. https://suse.inode.at/pub/update/10.1). However, the whole SUSE registration thing is a nightmare for 10.1, as the distributed software just doesn't work, as already noted. I don't know how I managed to get a valid update URL previously (I tried many, many things, and it eventually appeared, but I don't know quite how). So I just added the URL I knew as an installation source.
I decided to try installing the latest NVIDIA driver. NVIDIA provide an update site for SUSE Linux. However, the pre-compiled version didn't work for me, so I installed the SUSE kernel sources and the gcc compiler, and then downloaded and compiled the latest NVIDIA driver.
So, I read the online README for the NVIDIA driver and discovered the command-line options for the driver installer. I unloaded the existing "nvidia" module using "rmmod nvidia", and I then called the driver installer using
sh NVIDIA-Linux-x86-1.0-8774-pkg1.run -a -e --update
It then downloaded version 9625 of the driver (yes, there was a later version again). The "-e" option puts the installer in "expert" mode, but I accepted all of the default values (I just wanted to see them). At the end of the installation, I chose "Yes" to run the "nvidia-xconfig" utility.
However, this didn't work either. I started reading through the extensive NVIDIA readme documentation, which recommend starting X-Windows with extra debugging information using
startx -- -verbose 5 -logverbose 5
What I found then (in "/var/log/Xorg.0.log") was many errors related to some Gnome application called "pango". I wondered if I could uninstall "pango", but it turns out to be for internationalised text, and many packages are dependent on it.
On further checking about "pango", I found that I was missing the "/etc/opt/gnome/pango/pango.modules" file (in other Linuxes this can be "/etc/pango/pango.modules"). So I created the missing directory and then created the missing file using
AND THAT FIXED IT!
However, it also suggested that something had gone wrong during installation (possibly due to my MBR problem), so to be safe I did a full re-install of SUSE 10.1. After all, I didn't know if anything else had failed to be installed just as "pango" had.
This time the installation went smoothly. Online registration didn't work, but it doesn't, so that was as expected. This time I didn't try to change the screen resolution during installation. I did so afterwards as root using "YaST", and there were no problems (no need to install an updated NVIDIA driver).
Next I stopped the GNOME display manager (using "gdm-stop"), and then in text mode I moved the "/home" and "/usr/local" directories to the "/opt" partition (replacing them with symbolic links) so that I had all of "my" files in the "/opt" partition as planned.
I removed the big applications that I don't want (Evolution and OpenOffice), and then did the online updating (painful as it is the first time you do it, unfortunately, with the bug in SUSE Linux 10.1 as supplied in the box. From the second time onwards it's fine).
So, it all worked! Well, eventually. Next step is to install VMware, so I can start running my virtual machines on a new and more powerful laptop.