Installing Solaris Express on an Acer Ferrari 4000 Laptop

Richard Friedman  Sun Microsystems
http://blogs.sun.com/rchrd/


The plan was to install Solaris keeping WIndows/XP in the first partition and add bootable disk partitions for Linux (Ubuntu) and Solaris.
15GB for W/XP
15GB for Linux
rest (65+GB) for Solaris

Preparation

It's a good idea to look at some of the writeups on installing Solaris x86 on laptops. Here's a handful to look at:

Solaris Express Basic Admin Guide
How To Guide
Self Help Guide
x86 and AMD64 Installations
Multi-Boot Installations
The x86 GRUB Boot Loader
One Person's Tips

Downoad Solaris Express

Before you begin, download Solaris Express from the Sun Download Center. Do this under Windows/XP. I started from the Downloads page on opensolaris.org. There is a link to the Sun Download Center to obtain the Solaris Express Community Release.   You need to register at the download center to obtain a login id and password. I strongly suggest first downloading the Sun Download Manager (SDM). This app makes downloading the large CD images very easy.

Launch SDM and copy paste each of the URLS for the 4 Solaris Express CD images into the SDM Add File panel. Then start the download process. This may take a number of hours (like 8) if you're on a standard DSL line. I ran the download overnight. SDM will expand the compressed download files into separate CD images.

When the downloads are complete, burn each file onto a CD. If you use the CD burning software app included in the Acer Windows/XP installation, be sure to choose File->Burn from CD Image rather than just burning the file as regular data. If you don't the CD won't be usable.

Gather Stuff

Once Solaris Express is installed you will need to install some extra software drivers to make it all work. It's best to gather these up under the working Windows/XP system and write them onto a USB flash memory stick. Most important are the ethernet drivers from Broadcomm (Get the Solaris x86/x64 drivers from here .)  You will also need the OpenSolaris "frkit" that contains a number of tweaks and bits that you will use.  Save these files on the USB memory stick.

Backup W/XP

Now backup the W/XP system. Luckily the W/XP system installed on the Ferrari laptop includes a version of eRecovery (Symantec GHOST). So I saved everything to a self-contained bootable DVD, just in case I need to reload it. This is very important if you plan to retain Windows/XP after installing Solaris. If the repartitioning goes right, it should retain all the W/XP bits in its now shrunken partition. But things could go wrong, leaving you without a working W/XP, unless you are able to create a bootable recovery disk. (If you're not running on a system that already has GHOST installed, I would suggest finding software to create a recovery disk before you attempt repartitioning and installing other systems.)

Keeping W/XP on your system, in a reduced partition, is useful in case you need to do some tasks not easily done with Solaris. These may be hardware maintenance upgrades (like BIOS upgrades) that are usually distributed under W/XP. But it you keep W/XP, remove MS Office, Outlook, and Internet Explorer and replace them with W/XP versions of Star Office, Firefox, and Thunderbird. Also, always make sure your virus protection and firewall software is up to date and enabled.

Partition the Disk

Now we need to create the disk partitions for Linux and Solaris, and reduce the W/XP partition size.
A not-free commercial product like Partition Magic could be used for this. But I discovered that QtParted, a Linux clone of Partition Magic, is included in the System Rescue CD. The System Rescue CD is Linux-on-a-CD. You can download it, write it to a CD,  boot it off the CD, and run QtParted to do the deed. It worked perfectly.

The scheme I chose was
  Partition     Name       Size   
     01             hda-1       7.81 MB   (hidden partition apparently needed by Windows. I wasn't sure about this so I left it there)
     02             hda 1       15 GB      FAT32 W/XP
     03             hda 2       15 GB      ext   for Linux
     04             hda 3       60 GB     FAT32 for Solaris (FAT32 format not significant)
     05             free space  3.3 GB

Running QtParted took 2 hours to partition and format the disk. And to my surprise W/XP was preserved in its partition and rebooted without any problems.

Install Solaris Express

Now start the install of Solaris Express. But you have to be able to boot from a CD. The Acer Ferrari low level boot record should still be operational. Boot the system by logging out of Windows and choosing Restart. But when it restarts, hold down the F2 key. This puts you into the Acer miniboot program. Read the on-screen instructions and navigate to the boot menu. Make sure the list of boot-from targets has the CD on top, Hard Disk next. Insert the Solaris CD 1. Then save and exit (F10).  The system should reboot now from the CD.

Follow all the instructions for installing. There should be no need to alter the disk partitions.
Be careful tho of the installation from the first CD. Choose not to automatically reboot after installs. But then after the first CD is installed you MUST REMOVE the CD manually, otherwise the installation will start over again with the first CD. The installer will ask for the additional CDs as they are needed.

First Solaris Boot

The installer will boot the system and give you the GRUB menu, where you can select to boot either Solaris, FailSafe Solaris, or Windows. Choose Solaris. It may take awhile until you get a prompt, but when you do enter root as the user name and the password you assigned root during the installation.
You need to do this before the GUI starts, because if you let the GUI startup it will result in a blank screen. You need to set the display parameters first, and you have to do this from the console.

Setting Xorg Configuration File

The standard way to get the display configured properly is to run   /bin/X11/Xorg -configure  at the console prompt, edit the generated xorg.conf file, and move it to /etc/X11.  Only one line needs to be edited:

        #Option     "MonitorLayout"             # [<str>]

should be changed to:

        Option "MonitorLayout" "LVDS,CRT"

However, in my experience with this, Xorg hung for some reason.  So an alternative is to have a working xorg.conf file on the USB memory stick and copy it to  /etc/X11.  You can pickup my working xorg.conf file here. Be sure to put it on your memory stick before starting the installation, just in case. When you at the Solaris console prompt you should see the memory stick as /rmdisk/rmdisk0/ and the data should be copyable.

Installing Ethernet Drivers

Now is the time to install the ethernet (bcme) drivers you downloaded from broadcom.com and put on the memory stick. Follow the instructions in the readme. This should work:  pkgadd -d /rmdisk/rmdisk0/BRCMbcme.pkg, or copy BRCMbcme.pkg to /tmp and do the pkgadd from there.
Now connect your ethernet cable to the laptop if it isn't already connected.
Then run these commands at the console prompt:

  # ifconfig bcme0 plumb
  # ifconfig bcme0 dhcp start
  # touch /etc/hostname.bcme0
  # touch /etc/dhcp.bcme0

Install frkit

Now you should be able to install the 'frkit' from the memory stick. It will gather stuff from the opensolaris.org download site using wget, and install it on your system.  To start, this should work:  /rmdisk/rmdisk0/frkit   Now you should be able to reboot. Just type reboot at the console prompt.

Rebooting

The reboot will probably come up with a warning message indicating that the boot archive is now out of sync and needs to be resynced. The message should ask if you want to rebuild the boot archive. You should answer yes, and the boot process should continue without problems. You may have to wait a long time while the system tries to make a DHCP connection. Do not enter a user name/password when the login prompt appears on the console screen. The desktop login GUI should eventually appear.

If at this point the boot fails and then attempts to reboot itself, fail again, and reboot again in a loop, it is probably because the boot archive is corrupted and needs to be recreated. This can be done from the failsafe system boot.

Failsafe Recovery Boot

The failsafe boot is one of the boot options in the GRUB menu. Choosing Failsafe will start to boot the system, then ask you if you want to mount the disk as /a. You should enter yes. When the console login prompt appears login as root. Now the disk is available as /a. You do not have a full system operational, but you can make changes to files in the full system under /a.  In the case of a corrupt boot archive, you can do the following:

  First check to see if you have a boot archive, and if there is one, remove it

  #  ls -l /a/platform/i86pc/boot_archive
  #  rm  /a/platform/i86pc/boot_archive

  Now regenerate it using bootadm:

  #  bootadm update-archive -R /a

You can now reboot using the reboot command at the prompt. This time the boot process should run without problems.

Next Steps

You should now be able to select either CDE or JDS as your desktop system and log in (as root). And then you will probably want to create a local user account for yourself.  At a terminal prompt, start the Solaris Management Console, SMC:

  # /usr/sbin/smc

and from the System Configuration menu, choose Users->User Account.  Documentation on SMC can be found on docs.sun.com.
 
The system should be functional at this point. It's worth looking at the help menus, especially if you are using the Java Desktop and are unfamiliar with how it works. You can startup the JDS Help Viewer from the Launch menu.

Getting things like wireless to work are covered in some of the resource articles listed at the top of this page.

You might also want to add a GRUB boot entry to boot in 32-bit mode (the default is 64-bit mode).
To provide this, edit the grub boot menu file, /boot/grub/menu.lst by adding the following lines to the menu:

#--------32-bit
title Solaris Nevada snv_30 X86 32-bit
kernel /platform/i86pc/multiboot kernel/unix
module /platform/i86pc/boot_archive


Further Adventures

There are a number of websites you can go to for additional information and downloads. Here are some:

Sun Solaris Forums on the Sun Developer Network
OpenSolaris Laptop Community
 
And a number of Sun engineers are blogging about Solaris on laptops.

Alan DuBoff
Chandan
Casper Dik
Darren Moffat