Since Solaris 11 is now
Officially released, I have started
tinkering with it. This will be a container for my notes on it. Sections
that grow too large may be split out into their own page eventually
Contents:
Solaris 11 differences
Solaris 11 gripes
PXE installation of Solaris 11 x86
Separate pages:
WANBOOT installation of Solaris 11
sparc
Solaris 11 pkg cheatsheet
Solaris 11.1 upgrade help
Solaris 10 in Solaris 11 zone
Setting up Solaris 11 as NIS client
Solaris 11 differences
(I'm adding to this as I find things)
Also of note: The official oracle
EOF
list and
What
new list (PDF! Arrg)! (
gcache may or may not work for you)
Generally speaking, Oracle seems to be standardizing on a lot of "*adm"
commands now. That's probably a good thing.
What follows is a very high level, "first impressions" list of differences
in Solaris 11.
- ZFS root by default. (and SLIGHTLY different from sol10 layout)
- "net0", not "hwnamehere0" for interface name. See "ipadm"
- DiskSuite is rendered non-useful. Cannot boot with it.
- Cannot log in as root ? (If you choose to set up a user account
?! )
- (for x86 at least)MUST complete install from oracle IPS servers on internet. No
local repo!
- No more jumpstart. Replaced by "Automated Install". @#$% XML Grrr!
- IPS, aka "pkg", for system package management. OS upgrades are via
"pkg" command. There is pkginfo compat layer, so you can still pkgadd external packages.
- Text mode installer is finally improved
- Default shell is bash
- Default install is fairly miminal. Server-type install, of 911MB.
- no more lpd. Just CUPS. (which means my netlp wont work, without
/usr/lib/lp/bin/netpr. Drat! Although if you can find them, you can always
use sol 10 binaries on sol 11)
- FastReboot(tm?) in effect by default on x86. "reboot" does not go to BIOS any more, or
GRUB. It's also... fast. (under 60 sec). sparc needs manual tweak to
enable.
- zones dont just "duplicate global zone", they treat zonecfg create, as
an OS install. (Need to look into finer points; one experiment claimed it
REQUIRES svc://application/pkg/system-repository ? )
Default "SYSdefault" template takes 175MB of space (32,000 files,167
pkgs), and installs from http://pkg.oracle.com
See also /usr/share/auto_install/sc_profiles/enable_sci.xml
This unfortunately makes (initial zone) creation very slow.
On the other hand, once you have ONE, you can "zoneadm clone", which makes
subsequent zone creation fast, if you keep a clean template zone around.
Less than 30 seconds to "zoneadm install"
- x86 specific changes:
- GRUB is... different. /boot/grub/menu.lst is empty by default. It's
a LIE. See /rpool/boot/grub/
Where does it get default configs from?
- Fancy new console font :-D
Gripes
Random gripes as I try out Solaris 11.
- The "text" install ISO (not the "AI" image), decides to RELEASE its
DHCP addr, before getting solaris.zlib. Then wonders why it cant download
the file. ?? !! ??
- you have to first install Solaris, to be able to "pkg install
install(xyz)", to get installmgr. WHY IS THIS NOT ON THE AI ISO IMAGE
ALREADY?!
- When you see things like "consolidation/*desktop: installed", you
assume You Have Desktop Software installed. But no, you have to do
"pkg install solaris-desktop". This really needs to be better
documented, rather than just a
brief
note in passing. Better yet, it should be part of the options in the
text installer.
- /boot/grub/menu.lst should either not exist, or be a symlink or
comment pointing to the real one.
- After I login and enter my password... I get an EMPTY BACKGROUND.
For over 10 seconds. No splash screen, no hourglass.. just NOTHING.
It looks broken. Even the xterm "failsafe" option does 5 seconds of blank
screen? !
- pkg stupidity deserves its own entire subsection
- pkg layout/"consolidation" is stupid.
"pkg install consolidation/man/man-incorporation" claims already installed,
but "man" still does not work. I have to use "pkg install SUNWman" to get
it to work. No wait, "man pkg" STILL doesnt work. No "man" command. ? ?
!!!
- Even more pkg stupid: "pkg install SUNWman" works.. but "pkg list
SUNWman" and "pkg info SUNWman" do not, even after install ??
- "pkg list" is inconsistent. It should support "-r" like most other
subcmds.
- "pkg search" is inconsistent. Why does it default to search ALL
AVAILABLE, when "pkg list" only searches installed packages?
PXE installation of Solaris 11 x86
Oracle seems to give lovely automated setup instructions for Solaris x86,
which presumably work great for setting up a new Solaris 11 system over
PXE... just so long as you
already have a Solaris 11 system installed
If you're like me, this is not such a wonderful thing.
This would have been a lot easier, if it wasnt for the fact that oracle ships
BROKEN "menu.lst" files in its x86 install media, so I was much confuzzled,
until I patched together multiple pieces of information from different
sources.
So here I share a few hours research in how to get this thing bootstrapped
by hand, if you already have a PXE server set up, but no pre-existing
solaris 11 servers running.
If you already have a PXE install server set up, you hopefully are already
familiar with PXE based grub, "menu.lst", and your /tftpboot directory.
If not, please read up on them. I am going to detail the Differences
between the normal solaris 10 pxe, not the whole thing, at this time.
The good news is, if you are familiar with the old method, it is *somewhat*
similar.
- First, obtain one of the oracle iso images; for example,
sol-11-1111-ai-x86.iso
Do the usual thing of lofiadm, and mount the iso. Then either copy, or
persistantly loopback mount it, to a place on your install server that is
available via HTTP
- Copy the "new" pxegrub binary (if you like) from {TOP}/boot/grub/pxegrub, to your
standard tftpboot location. Or, if you like, manually override the
"filename" DHCP line for your desired install clients
- Copy over the kernel and initial ramdisk, to your tftp directories.
Please note that the unix kernel must have the SAME relative pathname as on
the cdrom.
{TOP}/platform/i86pc/kernel/amd64/unix
becomes
/tftpboot/platform/i86pc/kernel/amd64/unix
However, you can put platform/i86pc/amd64/boot_archive pretty much anywhere
in your tftp tree.
- Set up new appropriate entries in boot/grub/menu.lst
Note that it is ALMOST the same as the old format. The big differernce
being that it supports an install_media transport of http now. This is
becuase the expected "install media" consists of only a handful of files,
rather than the thousands of separate pkg files in earlier media.
For the curious, the handful of files are:
solaris.zlib (contains /usr)
solarismisc.zlib (contains /mnt/misc, which becomes /)
.image_info
(sparc also looks for install.conf. x86 does not.)
Sadly, while they could have theoretically allowed nfs transport as well..
they decided to chop it out. You MUST use http now.
Sample grub menu.lst entries
title Solaris11 NetBoot, shell or interactive install
kernel /platform/i86pc/kernel/unix -B install_media=http://1.2.3.4/s11-ai-x86
module /platform/i86pc/amd64/boot_archive
title Solaris11 hands-off Net Install
kernel /platform/i86pc/kernel/unix -B install_media=http://1.2.3.4/s11-ai-x86,install=true,aimanifest=prompt
module /platform/i86pc/amd64/boot_archive
Note that in the second example, it will "prompt you for a manifest
location". I havent figured out how/where to set one up yet.
However, if you have figured out what a manifest looks like and where to
put it, by all means put in the proper location instead
Login Information for net boot
Important info that you may find useful, while booted from the net image;
After initial initial bootstrapping; before it gets access to the
"solaris.zlib" overlays, etc. the root password is "jack".
However, once it gets more fully loaded, it changes to be "solaris".
These are rather important to know if you want to be able to read install
logs and statuses!!
What's missing?
So, the good news is, I have accomplished a "manual install", with the
above tricks.
Unfortunately, I have yet to be successful in setting up
Automated
installs.
If you attempt to use the "install=true" bit, it's now complaining about
"svc:/application/manifest-locator:default is unavailable"
Apparenlty, there is a hidden way to specify the install "manifest" in
grub.
Otherwise, it uses "mDNS" (multicast DNS??!!?) to look for one.
Arrrg. LAME. Be consistent, Oracle; use DHCP!!
Additionally, it seems like there is a bug in
/lib/svc/method/manifest-locator
It seems like conceptually, you should be able to set a location in grub,of
aimanifest=location-here.
However, in reading the code, I dont think that will actually *WORK*.
But I have yet to test that out.
Judging by parameters in the sol 11 sparc
"system.conf" file, I think the
required parameter is "install_svc_address"
[Yup, after finding a sol11 AI grub menu, that would seem to be the case.
You may or may not also need to define "install_service=(subdir of
tftpdir that contains the two solaris*.zlib files)" ]
Additional new resource:
Oracle Discussion Forum: Solaris 11 for SysAdmins (requires oracle
login)