Hi,
In this beginning chapter of Learning OpenSolaris Express Community Edition (SXCE) - I
would like to cover some things that we should grab in order to get better general
understanding of OpenSolaris nor SunOS operating systems installation. The specific target
are to get in-depth in these certain areas :
1. Installation stages : install options, systems identification, softwares
2. Disks : partitions, file systems layout and format
Our target operating system is OpenSolaris Express Community Edition (SXCE) aka SunOS
11 code name “Nevada . Why? I'm trying to get the benefits of understanding older
(predecessor) version of SunOS such as Solaris OS 9-like environment and some newer (still
at development stage version) SunOS such as 2008.n releases (aka Solaris "Linux") as well
as newer applications/software enhancement like ZFS (Zetabyte File Systems) etc, and we'll
try to be as close as possible to SunOS SPARC (CPU platform) operating systems even
though we are using an x86 version of SunOS.
Download note :
Yes – a free registration required by SUN Microsystems. The download is about 4GB of
DVD image that you can burn it as bootable CD/DVD using your CD/DVD writer (there are
also CD image as well).
There is nothing to be afraid of - relax, InsyaAlloh ... we'll cover up some basic CLI
operation step-by-step later as we learn UNIX-based OS.
For an SXCE (SunOS 11) installation starter - we will use a virtual machine with a minimum
of 8GB of hard disk space (greater disk space the better), at least 512MB of RAM (memory -
more RAM is better, if you have below this 512MB RAM requirement -> you'll have a very
poor installation experience) - and of course at least equipped with 1 network adapter (NIC)
for SunOS networking.
You can use any available (the free or paid version) software virtualization (VM) as long as
the VM does support the operating system (OS). Please confirm to your VM website about
this - and do read their manual/documentation on how-to-create and use a virtual machine.
I'm using VMware Server version 1.0.5 VM for this lab under Linux Ubuntu 7.10 OS on a
Pentium 4 at 1,7GHz of speed and 1GB of RAM. InsyaAlloh, Alhamdulillah ... I have not
find any trouble/difficulties so far.
Download links :
VMware Server software at http://www.vmware.com/download/server/
VMware Server manual : http://www.vmware.com/pdf/server_vm_manual.pdf
Linux Ubuntu OS at http://www.ubuntu.com/GetUbuntu/download
A note about SunOS installation procedure :
Unlike any other OS installation procedure - SXCE (SunOS 11) installation procedure
divides by 3 main stages - which starts with systems identification first (eg. system hostname,
time zone, network settings etc.), followed up by software package install options - and the
last – the most important stage is : target disk, partitions and file systems option. So we have
to be prepared with all those in the beginning of any installation.
Before we start any OS installation - you must check that specific OS system requirement
(including Hardware Compatibility List (HCL)). Why? Simply we don't want to waste our
time for a thing that just doesn't fit one to the other. To check SXCE (SunOS 11) system
requirement - here . To check SXCE (SunOS 11) HCL - here .
1. System boot.
After we created our guest OS environment on our VM (disks, RAM, CD/DVD drive, NIC,
etc.) - we boot our VM from CD/DVD. Yes, you can also boot the VM using saved SXCE
(SunOS 11) OS image (.iso image) - please refer to your VM documentation on how to do
this boot.
We'll be presented with GRUB boot-loader - which is a small application installed on your
hard disk Master Boot Record (MBR) or on the edge of a disk partition - to perform certain
system boot administration eg. choosing an operating system image to boot, editing system
boot parameter etc.
GRUB screenshot - asking which OS image that the system has to boot from. Since we are
just starting - we pick the "Solaris Express" option using up, down keyboard arrow and press
[ENTER].
Please read the GRUB instructions carefully : to navigate the option -> simply use the
keyboard up, down arrow - to perform some GRUB editing press "e", and so forth.
Warning!!! A GRUB editing knowledge is required to use this feature - as any committed
mistakes will results a system boot failure (your OS will not boot at all). After we have chose
the option - press [ENTER].
As you can also see from GRUB - I have a approx. 512MB of RAM (upper screen).
What is a Kernel?
Kernel is an application environment that act as a bridge/broker between high-level
programming language (let us say : software or user applications) and the low-level
(hardware devices). It translate software command so it can be understood by any
hardware/devices attached to the system (or let us say : signal control), and the most
important part : it is the operating system heart-beat.
As you can see - it provides us 6 different install method which each one of them has
different usage. For now let us start with option number 4 "Solaris Interactive Text (Console
session)" ---> press "4" and the system identification (as I have mentioned earlier - SunOS
installation procedure will start with this stage) will begin .
After a while the installer configuring devices - we'll be seeing a blue screen SunOS
installation console asking our keyboard layout - for the most part selecting "US-English"
layout will be safe. We navigate the option using our keyboard up-down arrow and press
space-bar to select the item. To continue - press F2 ...
System identification step includes several configuration process eg. whether the new OS
will be joining the network, whether the NIC (IP address assignment) using a DHCP
configuration, which router will be the gateway etc. Below are the exact same explanation as
the one on the console screen - so please read it thoroughly.
Network connectivity :
POST detects every hardware attached to the system – that is including our network adapter
(NIC). If POST found it – then it will try to configure the device (install their matched device
drivers) so any applications can use the hardware.
In “Network Connectivity screen – the wizard asking whether our next computer will join
a network?
If you choose “NO – then we should provide only your system hostname eg.
“rabbit.animals.local or “mouse.animals.local or something like
“elephant.animals.local . ---> please note that its a full sentence including the “. (dot)
sign in between words.
If you choose “Yes - then you should provide which networking method will you choose
for the NIC. There are 2 options : to use the DHCP setting or doing a manual NIC
configuration.
What is a DHCP?
Dynamic Host Configuration Protocol (DHCP) is a Client-Server application that provides
automatic administration of Internet Protocol (IP) address assignment for any device on the
network. For a computer that wants to have an automatic IP address assigned to it (as a
DHCP client) – it should has at least 1 DHCP Server on the network. Details about DHCP
and other network service will be discuss later on Part ???.
If you choose to use the DHCP setting – then you should configure nothing else as the NIC
(including systems hostname, IP address/subnets and gateway (router)) configuration will be
handled by the DHCP server.
If you choose to use the manual setting – then we have to prepare & configure our systems
hostname (eg. wings.bird.local or something like tails.bird.local and the like), our IP version
4 address (for short : IPv4) for the specific NIC (eg. 10.10.10.10 or 172.16.10.10 or
something like 192.168.100.100), our IPv4 subnets (eg. 255.255.255.0) and our IPv4
gateway or router IP address (eg. 10.10.10.1 or 172.16.10.1 or 192.168.100.1 – or you can
leave the system to auto-detect its gateway). If you have any working computer network –
and wants your SXCE computer to join your network – can you just assign its IP address –
subnets and gateway to be the same as your network.
SXCE (SunOS 11) has been build with next-generation of IP addressing scheme capability –
which is IP version 6 (IPv6) – and if you have IPv6 capable router – you can turn IPv6
enablement option on.
After you have configured all the option – make sure you confirm your setting before you
apply them permanently or else it may caused some systems service will not work correctly
(of course – you can fix or change that setting later, but : why wasting time when you can do
it right away?). Details about systems services that related to these system hostname,
IP/subnets and gateway will be discussed later on Part ???
Here it is :
A note about NIC locations and its number inside UNIX-based system :
Some UNIX-based OS (eg. SunOS, GNU/Linux, FreeBSD system etc.) detects NIC attached
to the system (either PCI, or PCI-X or PCI-Express slot in our mainboard) and numbers it in
order from the edge of the mainboard and move closer to the CPU location. So the farthest
NIC from CPU location will get the smaller number eg. “0 and increment of “1 – until
CPU location .
Other information on that screen – I think it should be clear enough to explain what we have
already configured previously.
4. Name lookup.
Name lookup can be either statically define or dynamic. Details about name lookup will be
discussed later on Part ???
The “Name Service screen guides us to pick which name lookup service to be use by the
OS. There are Network Information System Plus (NIS+) service, NIS (the old version of
NIS+), Domain Name Systems (DNS), Light Weight Directory Access Protocol (or for short
LDAP) – or none of them to be use as name lookup service. For now – we pick “NONE .
Details explanation about all of those name lookup service will be discussed later on Part ???
The “NFSv4 Domain Name screen guides us to specify what domain name to be use by
the OS to join itself in the network. There are 2 choices : Derived from the systems hostname
or we specify one. For now – we pick “DERIVED from the system hostname . Details
about NFSv4 will be discussed later on Part ???
Please note that there are system services that depends on this NFS domain name eg. Secure
Shell (SSH) service – so be sure you give your system hostname correctly as I have guided
you to do (eg. “Ear.human.local or “mouth.human.local and so forth). If you don't pay
attention to this system hostname convention – you'll probably see the result later – right
after the system reboot.
Time Zone.
I think its clear enough //later
Setting the systems “Root password for administration.
This screen instruct us to give our systems administrator a password for login into the
system. For now – we give it a simple : admin123 -> so when you log on into the system -
your username is : root ,with the password : admin123
password warning!!!
in a real life situation (that is outside our lab) – please make a strong (hard to type and to
guess) password containing numbers (0 to 9), letters (aA to zZ) and non alpha-numeric
character eg. ~!@#$%^&*(){}_ :?><[]+. At least 9 or more characters containing all those
in combinations.
As you can see – there are 2 options : Standard or Flash – which I think it should be clear
enough for us to choose the “Standard install option since we are just trying to do a fresh
clean install from scratch. Even if you already have a previous SunOS installation – you can
still doing a system upgrade.
The second question in this stage is whether the system should eject CD/DVD drive
automatically? Just choose “YES .
Whether the system should reboot after installation? You should check your own requirement
first – for the most part choosing “YES will be just fine.
After this section – our installation wizard will configure the system for a while to detect any
existing SunOS installation on the disk drive, if the wizard found it – it will give you a
warning prompt :
It is OK – not too worry ... we can still choose some options whether we want to keep
(upgrade) any existing SunOS installation using F2 function key – or surely, we just want to
install a new SunOS (use the F4 key).
If the wizard did not find any existing SunOS installation – it will continue to provide End
User License Agreement (EULA) prompt – just “ACCEPT it or else you can not install
this operating system.
Additional products.
This next question is pretty much the same with the previous questions, so – we choose
“NONE . But, if you did have one – you may install it also – either from CD/DVD drive or
NFS share on your network :
5. Select software.
OK – now we are entering the real SXCE installation step.
As a precaution, starting from this screen – we'll have some serious questions to answer, and
let us do it correctly!!! This is the most important part of SXCE (SunOS 11) installation
stage.
Since we are only a beginner – let us start with “Entire Distribution software installation
option – so that we can learn and get benefits from all SXCE (SunOS 11) features from a
single installation – so we will not be bother doing additional software installation any more.
Relax – we still have plenty of room to learn software package installation or removal later
on Part ???
6. Select Disks.
This is the most difficult and the longest part of our SunOS installation journey.
As you can see from above screen – our IDE disk is named as “c0d0 - which is in short of
“Controller #0 and Disks #0 - and the systems marked it as bootable. The disk has 8GB
space compares to SunOS software requirement at approximately 4067MB of disk space (or
SXCE (SunOS 11) requires at least about 4GB of disk space).
There are (currently) 2 main types of disk controller and disks member :
1.IDE-ATA (Integrated Drive Electronics AT-Attachment) controller or PATA (Parallel-
ATA) :
using 40 pins, regular disks for home/desktop computer.
2.SCSI (Small Computer System Interface) controller :
using 50 (older SCSI) or 68 (newer) pins for internal connector, common expensive disks for
more advanced computer like servers platform.
And there are newer controller such as SATA (Serial-ATA), and so on. Usually – commonly
– there are 2 disk controllers exist on our home/desktop computer mainboard named eg.
IDE#0 and IDE#1, but for the SCSI controller usually only 1. Details about target disk –
partitions – format will be discussed later on Part ???
OK, back to the topic. Note that “c0d0 is our whole “blank disk – without any partition
inside. As you might know already – every operating system needs to be installed on a
formatted partition – well, for this SXCE its “almost“ the same – whether a disk with single
huge partition or a disk with multiple partitions or a multiple disk with single very huge
partition and so forth. So the next step is very obvious : we need to create disk partition --->
press F4 to create disk partitions.
Yes, we create disk partitions using “fdisk software. Details about “fdisk software later
on part ???
Press F2 to continue ...
As you can see that we have an empty 8GB disk at c0d0 with no partitions. Note that
partitions number 1 to 4 with type <unused> and 0 size. Partition numbers notate that we can
only have at a maximum of 4 primary partitions exist on a single disk. And the partition type
was either SOLARIS partitions or DOS. Details about disk later on part ???
To delete any existing partition inside a disk – simply press F3, and the wizard will prompt
your confirmation :
OK, I think it should be clear enough. But, if you don't want to delete any existing partition
inside your disk – and just want to install SunOS 11 over any existing data inside a partition
– the wizard will prompt you whether you want to preserve your old data or erase them all :
Please note that partition type is SOLARIS. You can also create a certain amount disk
partitions size – in our case we use the whole disk (8GB). After we are done creating
partition – press F2 to continue to back to previous “Select Disk screen.
The same goes in a UNIX-based systems like SunOS, FreeBSD or GNU/Linux. There are
“/ (or “ROOT ) - which may contain any other directories as well, “/dev , “/bin ,
“/sbin , “/usr , “/var and so forth which has their own function or usage – so those
were not just a directory name. Details on file systems and directory structures will be
discussed on Part ???
From the picture above – the installer has marked (select) 2 directories to be use by the
systems : “/ and swap.
Introduction to swap.
What is swap?
Swap or paging file is amount of disk space that has been allocated by the systems as OS
temporary physical memory (RAM) replacement. The OS will put and or read some
information into this swap file. A swap or paging file uses its own file system format.
OK ... now, we need to see the detail – press F2 :
OK ... at this point – please make a good observation at the screen. There are “/ , “swap ,
“overlap and “/export/home directories, and “c0d0s0 , “c0d0s1 , “c0d0s2 and
“c0d0s7 along with their size in Megabytes (MB).
“overlap is a virtual directory that represent a single partition on a disk. Please note on
above picture that there is “overlap directory on “c0d0s2 with the same size of the
whole disk partition (8GB). Since we were only beginning – we leave this “overlap
directory untouch. Details about File Systems and Directories Structures will be discussed
later on Part ???
“/export/home is a directory that contains regular computer users home directories and or
users profiles.
At a very minimum – SunOS needs those system layout on the screen – which are : “/ ,
“swap , “overlap and “/export/home .
Take some excerpt from our previous note - that “c0d0s0 refers to Controller#0 Disk#0
Slice#0 - meaning? As simple as our first disk slice inside our first disk attached on our first
disk controller.
Note those slice numbers (0 to 7) – their mount point directories (“/ , “swap ,
“overlap and “/home/export ) and their size, and the total “real disk partition size
(8188MB or 8GB). Compare the real size for “/ directory (4966MB) and the
recommended size (4768MB) – or minimum size (4068MB). Or, compare any other
directory except “overlap - leave this untouch. What does that mean? It means that – our
automatically created system layout size is too tight – it merely doesn't allow us to further
expand the system features nor capability eg. Installing new software, storing a huge amount
of files etc in the future – so we need to modify this according our requirement.
You modify this screen by navigate using [tab] key, reset any numeric value using the
[backspace] key, and change any numeric value using numeric key. But, please remember :
DONT change the “overlap directory value – just skip it. When you modify any value –
make sure you observe the “Free space section on the lower screen. You can change the
value just like mine below :
Wait for a while as the installation continue until finish then it will automatically reboot the
system. After all POST tests has succeeded – then we will be presented with a very nice
“eye-catching Sun Microsystems OpenSolaris Community Edition (SXCE aka SunOS 11)
login screen :
As you can see from previous screen – on the option tab, we have choices of :
1.Sessions type : Common Desktop Environment (CDE), OpenSolaris GNOME (previously
known as Sun Java Desktops or “JDE in SunOS 10), and a Failsafe session.
2.Remote login – where we can remotely login to other machine on the network.
3.Command Line login – where we can enter CLI-based console and do some tasks or
systems administrations.
4.Reset login screen – where we try to refresh the Login screen.
A full introduction details on CDE, JDE and CLI will be discussed on the next chapter – just
stay tuned.
Wishlist :
I wrote this document from my old IBM T21 laptop @ P3 800GHz with 256MB of RAM. It
would be very wonderful if I could get more power laptop so I can write any
tutorials/documentations on the road, and not to mention saving my electric bill for the lab.
Not necessarily a new one – but an old (or refurbished) Compaq nc610 or IBM T41 that can
handle bigger (>1GB) RAM will do. And I will be thanking you a lot. Alhamdulillah.