Install OpenSolaris on a Windows + Ubuntu system

来源:互联网 发布:无人深空优化补丁 编辑:程序博客网 时间:2024/05/16 16:56
 

Installing OpenSolaris 2008.05 is very similar to the process I used for installing Ubuntu 8.04: download the .iso image file, burn it to a CD, and then boot the CD.  On startup the CD will display a GRUB menu - I selected the first entry (click for full size on this screen snapshot - or any other in this entry):

After the boot completes, there is a desktop displayed that includes an icon for Install OpenSolaris:

I right-clicked that icon and then selected Openfrom the context menu to start the installer.  The first thing theinstaller wants to know is where on the system to install OpenSolaris.In the 2008.05 release, the installer only offers two options: use theentire disk or use an existing partition.  It does not offer an optionfor creating a new partition - hopefully this will be fixed in a futurerelease.

I do not want to use the whole disk for OpenSolaris- the third primary partition is the one that I set aside forOpenSolaris (ignore the partition sizes shown here - I got these screensnapshots from a test environment):

And I changed the type for that partition from Linux Swap to Solaris in order to select that partition for the install:

After I clicked NextI got prompted to fill in the usual stuff: user name, time zone, etc.The actual install process then started and immediately died:

Clicking the link for the installation log brought up this window:

The two interesting lines start with:

fdisk: fdisk -n -F failed.
Couldn't create fdisk partition table on disk

Itturns out, this is not related to my attempt to have a triple-bootsystem.  Because of the geometry on the disk drive in my system, I justhappened to run into a bug in fdisk. Full details are included in the comments added to the bugthat I filed against the OpenSolaris installer, but the bottom line isthat when invoked by the installer, fdisk was unable to make therequired changes to the partition.

Luckilyfor me, Jan Damborsky of the installer team was able to help me outwith an easy workaround. I shutdown the installer and then at aterminal window typed in this command:

pfexec format -e

Which then gave me this output:

AVAILABLE DISK SELECTIONS:
       0. c5d0 <DEFAULT cyl 9295 alt 2 hd 255 sec 63>
          /pci@0,0/pci-ide@1f,2/ide@0/cmdk@0,0
Specify disk (enter its number):

I typed in 0 and got a long list of available commands.  I then typed in:

fdisk

And got the following output back:

             Total disk size is 24321 cylinders
             Cylinder size is 16065 (512 byte) blocks
                                               Cylinders
      Partition   Status    Type          Start   End   Length    %
      =========   ======    ============  =====   ===   ======   ===
          1                 Other OS          0   888     889      4
          2       Active IFS: NTFS       888  8972    8085     33
          3                 Solaris        8973  18270    9298     38
          4                 EXT LBA        18270  24321    6052     25

SELECT ONE OF THE FOLLOWING:
   1. Create a partition
   2. Specify the active partition
   3. Delete a partition
   4. Change between Solaris and Solaris2 Partition IDs
   5. Exit (update disk configuration and exit)
   6. Cancel (exit without updating disk configuration)
Enter Selection:

The installer needs for fdisk to do two things: Set the partition type to Solaris2 and mark the partition as Active. When invoked using the command line from the installer, the bug infdisk causes it to error-exit but when invoked interactively via theformat command, it works without any problems. 

Which meant that all I had to do was choose option 4 from the menu and then when prompted, enter 3 for the partition number that I wanted changed from Solaris to Solaris2.  Then I chose option 2 and selected partition 3 again so that it became the Active partition. That resulted in the following partition table:

             Total disk size is 24321 cylinders
             Cylinder size is 16065 (512 byte) blocks
                                               Cylinders
      Partition   Status    Type          Start   End   Length    %
     =========   ======    ============  =====   ===   ======   ===
          1                 Other OS          0   888     889      4
          2                 IFS: NTFS       888  8972    8085     33
          3       Active    Solaris2       8973  18270    9298     38
          4                 EXT LBA        18270  24321    6052     25

I selected option 5 to save my changes and exit fdisk and then entered quit to shutdown the format command. I then restarted the installer and the installation worked without any problems.

You might be wondering: What is the deal with the two Partition Type values in fdisk: Solaris and Solaris2?Frankly, I don't even like to use those names because they can causeconfusion; I prefer the underlying hexadecimal values: 0x82 (Solaris) and 0xBF (Solaris2). As I mentioned back in Part 1 of this series of blog entries, partition type0x82 is overloaded since it is used both by older versions of Solarisand for Linux swap partitions.  So the newer 0xBF (which, other than this bug in Ubuntu's installer is not overloaded) is referred to as Solaris2.

Atthe end of the install process, there is a button to click to rebootthe system.  I did not see, however, an option for removing the CDbefore the reboot.  So the system restarted and I saw the exact sameGRUB menu, since the CD is first in the boot order:

Thesolution is easy enough: select the final entry so that the new GRUBmenu that was just installed on the hard disk is displayed.  It willhave only one entry; selecting that entry will boot OpenSolaris fromthe hard disk.

After OpenSolaris starts, there is only onemore step to achieve the triple-boot goal: add the necessary entriesfor the other operating systems to the GRUB menu.lst file.  I was thinking that menu.lst would be in /boot/grub, but examining that file shows that:

#########################################################################
#                                                                       #
# For zfs root, menu.lst has moved to /rpool/boot/grub/menu.lst.        #
#                                                                       #
#########################################################################

Which means that the command I really want to use is:

pfexec gedit /rpool/boot/grub/menu.lst

As I mentioned in Part 2, I saved off the menu.lst file from Ubuntu onto a USB drive so that I could add its entries to my OpenSolaris menu.lst file:

title        Ubuntu 8.04, kernel 2.6.24-18-generic
root        (hd0,4)
kernel        /vmlinuz-2.6.24-18-generic root=UUID=1ed7fa17-6d77-4b49-be1a-22481310fd1b ro quiet splash
initrd        /initrd.img-2.6.24-18-generic
quiet

title        Ubuntu 8.04, kernel 2.6.24-18-generic (recovery mode)
root        (hd0,4)
kernel        /vmlinuz-2.6.24-18-generic root=UUID=1ed7fa17-6d77-4b49-be1a-22481310fd1b ro single
initrd        /initrd.img-2.6.24-18-generic

And then finally, I also added entries for the recovery partition and Windows Vista:

title VAIO Recovery
    rootnoverify (hd0,0)
    chainloader +1

title Windows Vista
    rootnoverify (hd0,1)
    chainloader +1
After saving the menu.lst file, I now have a triple-boot system.  :-)

Note: This article is originally posted at

http://blogs.sun.com/observatory/entry/triple_boot_part_3_install
原创粉丝点击