Solaris x86 FAQ

From: Dan Anderson <faq@drydog.com> Newsgroups: alt.solaris.x86,comp.unix.solaris,alt.answers,comp.answers,news.answers Subject: Solaris x86 FAQ Approved: news-answers-request@MIT.EDU Summary: This posting answers frequently-asked questions from the alt.solaris.x86 newsgroup that aren't already covered in the Solaris 2 FAQ. It should be read by anyone who wishes to post Solaris x86 questions to the alt.solaris.x86 or comp.unix.solaris newsgroups. Followup-To: alt.solaris.x86 Archive-name: Solaris2/x86/FAQ Posting-Frequency: quarterly Last-modified: 2011/10/12 URL: http://sun.drydog.com/faq/ Version: 2.30 Maintainer: Dan Anderson <faq@drydog.com>, San Diego, California, USA

(1.0) TABLE OF CONTENTS

(2.0) INTRODUCTION

(3.0) RESOURCES

(3.1) + What web and FTP sites do I need to know about?

(3.2) + How do I subscribe to the Solaris/x86 mailing list?

(3.3) + Where can I obtain Solaris 2/x86 maintenance updates?

(3.4) + Where can I obtain Solaris 2/x86 patches?

(3.5) How can I obtain freeware, shareware, and GNU software on a CD-ROM?

(3.6) What UNIX-like operating systems are available on x86?

(3.7) + What books are available on Solaris x86?

(3.8) What magazine articles are available on Solaris x86?

(3.9) + What's new for Solaris 10 x86?

(4.0) PRE-INSTALLATION

(4.1) What information should I have before an install?

(4.2) + What hardware is supported by Solaris 2.x for Intel?

(4.3) + What size disks and partitions should I have?

(4.4) What are SCSI IDs expected by Solaris x86?

(4.5) What video card/monitor combination works best?

(4.6) Is Plug-and-Play (PNP) supported by Solaris/x86?

(4.7) Is Advanced Power Management (APM) supported by Solaris/x86?

(4.8) Are "floppy tape" devices supported by Solaris x86?

(4.9) + How can I get a "free" copy of Solaris?

(4.10) What's missing from the "free" copy of Solaris that's in the commercial version?

(4.11) How do you create a Device Configuration Assistant (DCA) Diskette in DOS/Windows?

(4.12) How can I get Solaris to see the third ATAPI controller?

(4.13) Are Ultra DMA (UDMA) drives supported?

(4.14) + Are Universal Serial Bus (USB) devices supported?

(4.15) + Is the scroll wheel on the mouse supported?

(4.16) What's the difference between Solaris x86 Server and Solaris x86 Desktop?

(4.18) + Is Solaris x86 64-bit aware?

(4.19) What's the difference between partitions and slices?

(4.20) I already used the 4 primary fdisk partition table entries. Can I create a partition for Solaris within my extended partition?

(4.21) What are the IRQ assignments?

(4.22) + Are Laptops supported for Solaris x86?

(4.23) Is Serial ATA (SATA) supported for Solaris x86?

(5.0) INSTALLATION

(5.1) How long does the install take?

(5.2) My ATAPI CD-ROM or DVD isn't recognized during install of Solaris and it's not in the HCL. What can I do?

(5.3) What kind of problems might I encounter installing my SCSI system?

(5.4) + What do I do when the install hangs/panics?

(5.5) I'm trying to install Solaris/x86 on my ATAPI drive. However, the installation program says the root partition must end within the first 1023 cylinders of the disk. What can I do?

(5.6) Does Solaris x86 prefer to have the motherboard BIOS set to NORMAL or LBA for ATAPI disks?

(5.7) Why does a Solaris install to a disk with valid, pre-existing fdisk partitions sometimes fail?

(5.8) How do I add a 8 GB or greater ATAPI drive to Solaris 7 or earlier?

(5.9) + How do I install or use the "2 of 2" installation CD?

(5.10) How do I install or use the documentation CD?

(5.11) Help! I get a "VTOC" or cannot mount error installing Solaris.

(5.12) * Help! Install hangs at "Discovering additional network configuration"

(5.13) * Can I just buy a Solaris x86 system instead of installing it myself?

(5.14) * What's the difference between a Solaris HW and Update release?

(5.15) * How can I use GRUB to boot Solaris/x86? *

(5.16) * How can I use GRUB to boot multiple instances of Solaris/x86?

(5.17) * How do I use Live Upgrade?

(6.0) POST-INSTALLATION (CUSTOMIZATION)

(6.1) How do I add additional drives?

(6.2) + How do I add or configure users, printers, serial ports, software, etc.?

(6.3) + How do I suppress the banner page on my printer?

(6.4) + How do I set up an HP-compatible printer to print PostScript files?

(6.5) + How can I improve disk and graphic performance?

(6.7) + How do I get Solaris to recognize generic network cards with well-known chipsets?

(6.8) + How do I change the IP address or hostname or both on Solaris/x86?

(6.9) How do I configure another serial port, /dev/ttyb-ttyd (COM2-4)?

(6.10) How do I disable Solaris/x86 from probing the UPS on COM2?

(6.11) * How to I boot into 32-bit mode on AMD64 or Intel 64?

(6.12) * How to I set the time zone?

(6.13) + How do I configure Dynamic IP Addresses (DHCP)?

(6.14) + How do I configure my SoundBlaster or other sound card?

(6.15) + How do I enable the audio output from my CDROM to my SBPRO card?

(6.16) Can I use Solaris/x86 to setup a "headless" server?

(6.17) Can I get a Sun-style keyboard (Ctrl & Caps Lock reversed) for S/x86?

(6.18) + Can I run multiple terminals on the console of Solaris x86 like those supported on Linux, FreeBSD, Interactive Unix, and SCO?

(6.19) How do I upgrade my video graphics card?

(6.20) + How do I burn a CD or DVD with Solaris?

(6.21) Is IPv6 available for Solaris/x86?

(6.22) Is IPsec available for Solaris/x86?

(6.23) Is Kerberos 5 available for Solaris/x86?

(6.24) Does Solaris x86 support multiple processors?

(6.25) How do I uncompress a .gz file?

(6.26) + Why doesn't /usr/bin/cc work?

(6.27) How do you connect Solaris to my cable modem?

(6.28) How do you setup Solaris to use Time Warner's RoadRunner cable modem service?

(6.29) How do I force the speed and/or duplex of my network interfaces (ndd(1M) doesn't work)?

(6.30) Why can't I create a home directory under /home?

(6.31) Is Symantec Veritas file system available for Solaris x86?

(6.32) * How to I find the battery status for a laptop under Solaris?

(6.33) How do I use Linux NIC drivers for Solaris x86?

(6.34) How do I add color to "ls" or "vi"?

(6.35) + How do I move the disk containing Solaris from the ATAPI primary master controller to the secondary controller or slave connector (or both)?

(6.36) + I've installed Solaris using Sun's brain-dead disk slice defaults. How do I modify my slices?

(6.37) How do I mirror root with Disksuite when /boot is a separate fdisk partition?

(6.38) Is ISDN supported for Solaris x86?

(6.39) Is there a substitute available for PRNG /dev/random for Solaris x86?

(6.40) What are some good, easy-to-use printing solutions for Solaris?

(6.41) + What is the Solaris Data Encryption Kit?

(6.42) How do you mount a Solaris ISO image (with UFS filesystems) in Solaris?

(6.43) + Is noexec_user_stack supported in Solaris x86?

(6.44) * How do I setup zones with Solaris?

(6.45) How to change the audio beep frequency?

(6.46) + Is Adobe Acrobat Reader available for Solaris x86?

(6.47) * Are RealPlayer and other audio and video players available for Solaris x86?

(7.0) TROUBLESHOOTING

(7.1) What can I do if Solaris won't boot?

(7.2) How do I restore the Solaris boot block without reinstalling?

(7.3) + What can I do during the Solaris/x86 booting sequence?

(7.4) + How do I logon as root if the password doesn't work anymore?

(7.5) My licensed software fails because the host ID is 0. What's wrong?

(7.6) How can I fix Netscape Communicator to render fonts correctly on S/x86?

(7.7) Why doesn't Netscape run as root?

(7.8) I moved my PCI host adapter to another slot and the system won't boot!

(7.9) Why is Solaris always booting into the Device Configuration Assistant (DCA)?

(7.10) What is the equivalent of STOP-A for Solaris x86?

(7.11) + How can I reboot Solaris x86 without it asking me to "press a key" before rebooting?

(7.12) Help! I'm stuck in the "Boot Assistant" and can't boot. What do I do?

(7.13) Help! I get error 2 or error 8 while applying patches. What do I do?

(7.14) How do I prevent kdmconfig from running on boot up when I know my keyboard, display, and mouse configuration has not changed?

(7.15) * I get this error message: "can't get local host's domain name" or "The local host's domain name hasn't been set." What do I do?

(7.16) My system doesn't boot due to superblock problems with the root filesystem. What do I do?

(7.17) My system doesn't boot because the boot archive is corrupt. What do I do?

(8.0) X WINDOWS

(8.1) + How do I find a Solaris video driver for my graphics card?

(8.2) + How do I install the Xorg video drivers?

(8.3) + How do I configure Xorg on Solaris?

(8.4) + How do I configure 64K colors for XSun/CDE?

(8.5) + How do I Add KDE, FVWM, or other non-CDE/GNOME Window Mangers to the dtlogin screen?

(8.6) + Where can I get GNOME or KDE packages for Solaris/x86?

(8.7) After upgrading to Solaris 9 or installing GNOME, GNOME does not appear in the dtlogin menu. How can I fix this?

(8.8) Are TrueType fonts supported in Solaris?

(8.9) After installing and booting Solaris I get this message: " The X-server can not be started on display :0 "

(8.10) How do I disable CDE auto-start upon booting multi-user?

(8.11) + How do I su(1) to another user and run an X application?

(8.12) + Does Solaris x86 support multiple heads?

(8.13) How do I get my 2-button mouse to emulate 3 buttons?

(8.14) How do I get some older Solaris GUI's to run with Xorg?

(8.15) * Can I use an old Sun monitor with a 13W3 connector with a VGA adaptor card?

(9.0) INTEROPERABILITY WITH OTHER OPERATING SYSTEMS

(9.1) + Can I install Solaris x86 on a system that already has MS Windows 9x/ME/NT/2K/XP (among other systems)?

(9.2) How can I use MS Windows' NT/2K Loader to boot Solaris/x86?

(9.3) * Can I mount Solaris ZFS filesystems on Linux or Mac?

(9.4) * How can I mount MS Windows NTFS filesystems in Solaris?

(9.5) + Can I install Linux and Solaris on the same drive?

(9.6) * Help! Mount of a Linux NSFv4 fails with "Not owner"

(9.7) Empty

(9.8) Empty

(9.9) + How can I boot both Solaris/x86 and Win XP/2000/NT on the same disk?

(9.10) + How do I mount a DOS partition from the hard drive?

(9.11) + Does PartitionMagic and BootMagic understand Solaris partitions?

(9.12) How do I access a DOS-format diskette from Solaris?

(9.13) Does Solaris mount and recognize MS Windows partitions with long file names (VFAT)?

(9.14) + How can I make my Solaris files easily available to MS Windows on a network?

(9.15) * How can I access files on a remote MS Windows, SMB, or SAMBA share?

(9.16) How can I make my Solaris files easily available to an Apple Macintosh on a network?

(9.17) Can I use SunPCi on Solaris/x86?

(9.18) + Will Linux programs run on Solaris 2/x86?

(9.19) How can I get the DOS and UNIX clock to agree on Solaris/x86?

(9.20) + Is Solaris x86 able to execute Solaris SPARC applications?

(9.21) Will my old applications from SVR3 or SCO run on Solaris 2/x86?

(9.22) Will my application from Solaris/SPARC work on Solaris/x86? I have the source.

(9.23) Can I access Solaris/x86 partitions from Linux?

(9.24) + Can I access Linux (ext2/ext3) partitions from Solaris?

(9.25) + What are some books on Windows NT/Solaris integration?

(9.26) + How can I view MS Word files in Solaris?

(9.27) Where can I get Mozilla Firefox, or another web browser for Solaris x86?

(9.28) How do I setup Xprint for Mozilla?

(9.29) Can I mount other ufs disks, say from BSDi/FreeBSD, and vice versa?

(9.30) How can I use a disk partition on Solaris 2.x which was previously dedicated to MS Windows 9x/ME/NT/2K/XP (or other OS) as dual boot?

(9.31) How can I convert a DOS/Windows text file to a Unix text file?

(9.32) Can VMWare be used with Solaris x86?

(9.33) Is Solaris on Intel really "Slowaris"--slower than other Intel-based operating systems?

(9.34) How can I remove (uninstall) Solaris from my hard drive?

(9.35) I can install Linux on a system with Solaris x86, but why can't I boot it?

(9.36) Empty

(9.37) What are the /dev/dsk/ disk naming conventions for x86 disks?

(9.38) * What is OpenSolaris and what distributions are available?

(9.39) * How do I compile Abiword for Solaris?

________

*New question.

+Significantly revised answer.

http://sun.drydog.com/faq/

(2.0) INTRODUCTION

The Solaris x86 FAQ: Frequently-asked Questions about Solaris x86.

This posting contains frequently-asked questions, with answers, about the Sun Solaris 2 Operating System on the Intel Platform (x86) found in the alt.solaris.x86 and comp.unix.solaris USENET newsgroups. The alt.solaris.x86 newsgroup covers Solaris on the Intel platform, for version 2.5 and higher. The most up-to-date copy of this FAQ is at http://sun.drydog.com/faq/

The comp.unix.solaris newsgroup is for Solaris on all platforms-- Sparc or Intel. Please also consult Casper Dik's excellent FAQ on Solaris 2, which mostly applies to Solaris x86 too. It's at: http://www.wins.uva.nl/pub/solaris/solaris2/ and elsewhere. Solaris 11 is also known as Solaris Nevada or OpenSolaris, with a 5.11 revision string. Solaris 7, 8, 9, and 10 are also known as SunOS 5.7, 5.8, 5.9, and 5.10. Solaris 2.x is also known as SunOS 5.x.

For earlier versions of Solaris/x86, please see the (somewhat dated) "Solaris 2.4 x86 FAQ" by Bob Palowoda archived at various dusty corners on the net. The (mostly historical) Sun 386i (Roadrunner) is covered in Ralph Neill's (hard to find) FAQ.

If you post questions to alt.solaris.x86 or comp.unix.solaris, please be sure to indicate:

the machine type and brief configuration, e.g. Pentium II 450 MHz, 128 MB RAM, 200 MB swap space, 8 GB XYZ hard drive, etc.,

the exact Solaris version number, i.e. Solaris 7 is NOT sufficient, whereas "Solaris/x86 7 HW 3/99" is more useful.

I'm doing this on my own time as a public service. The views expressed on this blog are those of the author and do not necessarily reflect the views of my employer.

I don't have the time to diagnose individual Solaris problems, and I probably don't know the answer either :-). Many experienced and knowledgeable people read the newsgroup. Post your question there. However, answers, corrections, and comments should be directed to me.

No FAQ is the work of one person, but is a USENET community effort. This material was "snarfed" from other FAQs, USENET newsgroup postings, mailing lists, and personal knowledge. Generally the source is noted at the end of each question. Most answers have been reworded, or expanded, or updated. Thanks to everyone who contributed directly or indirectly. Please send any corrections or additions to me.

This faq may be freely redistributed in its entirety provided that this copyright notice is preserved. Permission is expressly granted for this document to be made available for file transfer from installations offering unrestricted anonymous file transfer on the Internet.

This faq is provided "as is" in the hope that it will be useful, but WITHOUT ANY WARRANTY, to the extent permitted by law; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Sun, Oracle, Java, and Oracle Solaris are trademarks or registered trademarks of Oracle Corporation. SPARC is a registered trademark of SPARC International, Inc. in the United States and other countries. Products bearing the SPARC trademarks are based on an architecture developed by Sun Microsystems, Inc. Adobe and PostScript are registered trademarks of Adobe Systems Incorporated. HP is a trademark of Hewlett-Packard Company. IBM is a registered trademark of International Business Machines Corporation. Intel and Pentium are registered trademarks of Intel Corporation. Pentium® II Xeon is a trademark of Intel Corporation. Linux is a registered trademark of Linus Torvalds. Microsoft, MS, MS-DOS, MS Windows, and Windows NT are registered trademarks of Microsoft Corp. Netscape is a trademark of Netscape Communications Corp. Netscape® Communicator is a trademark of Netscape Communications Corp. Open Source is a registered certification mark of Open Source Initiative. UNIX is a registered trademark of The Open Group. All other product names mentioned herein are the trademarks of their respective owners.

-Dan Anderson http://dan.drydog.com/comment.html

alt.solaris.x86 FAQ Maintainer

San Diego, California, USA

http://sun.drydog.com/faq/

(3.0) RESOURCES (3.1) What web and FTP sites do I need to know about?

http://sun.drydog.com/faq/ The latest version of this FAQ is always at this URL. It's available in text and HTML formats. This FAQ also appears in the alt.solaris.x86 or comp.unix.solaris newsgroups and on various FAQ archives. Check the date at the top of this FAQ to make sure you have a recent version. If you don't have USENET news access, you can search past postings and post your own messages at http://groups.google.com/ http://www.Sun.COM/software/solaris/x86/ Sun's web site for Solaris on x86, contains pointers to Solaris x86 product information, updates, resources, news, etc. http://ww.Sun.COM/bigadmin/ BigAdmin is Sun's System Administration Support and Education website. Has Solaris knowledge base, Hardware Compatibility List (HCL), device drivers, patches, and Device Configuration Assistant (DCA) boot diskette images. Links to drivers for Solaris x86 are at http://www.sun.com/io_technologies/solaris-drivers.html http://sunsolve.Sun.COM/ site. Sun's download website for patches and various technical documents. Public patches are at http://sunsolve.Sun.COM/ Patch clusters require a service contract. Sun also has another Solaris x86 FAQ at http://access1.sun.com/FAQSets/Solarisx86FAQs.html

Update: you basically need a service contract to access this information. A volunteer-led, unofficial website has an incomplete list of patches and bugs at http://wesunsolve.net/. http://docs.Sun.COM/ Sun documentation on-line. Includes manuals, guides, answerbooks, and man pages in HTML format. Especially useful for configuring new hardware and new systems is the Information Library for Solaris (Intel Platform Edition). http://www.stokely.com/unix.sysadm.resources/faqs.sun.html#s86.faqs.link Stokely Consulting's list of FAQs has lots of pointers resources, not only for Solaris x86, but UNIX System Administration in general. http://sunfreeware.com/ Steven Christensen's Solaris Freeware Page. Pointers to LOTS of x86 pre-packaged GNU and other open-source software. Download from web or use pkg-get. http://home1.swipnet.se/~w-10694/helpers.html Pointers to many Solaris viewers, players, and Netscape plug-ins. Includes sample media files. http://solaris-x86.org/ A website with tutorials and news on Solaris x86. http://www.laxmi.net/cde.htm CDE (Common Desktop Environment) FAQ http://www.blastwave.org/ and http://www.opencsw.org/ Both sites provide community-built packages for Solaris x86. http://www.ibiblio.org/pub/packages/solaris/i86pc/ Selected Solaris x86 binaries conveniently packaged in pkgadd format at the University of North Carolina (formerly Sunsite). ftp://x86.cs.duke.edu/pub/solaris-x86/bins/index.html Joe Shamblin's annotated collection of Solaris x86 open source, with pointers to documentation, make it good for open source browsing. This site appears to be dormant (last updated circa 1998). http://sun.drydog.com/ My Solaris x86 Webpage contains the latest version of this FAQ. http://www.sun.com/bigadmin/features/articles/x86_desktop.html Good overview on installing Solaris/x86 for your desktop workstation, including frequently-used add-ons such as Open Office. Lots of good pointers. Article published 2003. http://www.bolthole.com/solaris/ Phil Brown's Solaris tips, packages, and drivers. (includes packages and drivers he wrote). Lots of useful information. http://www.wins.uva.nl/pub/solaris/solaris2/ Last, but not least, Casper Dik's thorough FAQ on Solaris 2. This entire FAQ is available as one file at: http://www.wins.uva.nl/pub/solaris/solaris2.html

(3.2) How do I subscribe to the Solaris/x86 mailing list?

Subscribe by sending an e-mail message to <solarisx86-subscribe@yahoogroups.com> or visit Yahoo Groups' Solaris x86 web page at http://tech.groups.yahoo.com/group/solarisx86/ You DON'T have to register to join the list, but you do have to register to read the list archives on the web (sorted by thread and date)

Sun maintains a similar "Solaris on Intel" discussion forum. To access it, go to http://forum.sun.com/ and select "Solaris x86 Platform Edition".

A web-based forum, covering SPARC and x86, is at http://www.solarisforums.com/

(3.3) Where can I obtain Solaris 2/x86 maintenance updates?

Starting with Solaris 7, Sun includes the drivers in the Maintenance Updates (MUs) and updated versions of the OS.

[Thanks to Alan Coopersmith]

(3.4) Where can I obtain Solaris x86 patches?

The Solaris x86 driver updates can be obtained by HTTP from: ftp://sunsolve.Sun.COM/

A listing sorted by release is available by clicking on "Patches" at the SunSolve web page, http://sunsolve.Sun.COM/

Pointers to patches, including one huge *_x86_Recommended.tar.Z file for each release. This directory is publicly accessible--it doesn't require you to be a contract customer. Patches are also available locally at many SunSites.

The "showrev -p" command shows what patches you have installed.

All files replaced by a patch are saved under /var/sadm/patch/ or /var/sadm/pkg/

For Solaris 10, consider using "Sun Update Connection." It's a GUI that manages your patches (similar to MS Windows and Linux update managers). Once installed, just click on the GUI or run " /usr/bin/updatemanager from the command line. It's available for free download from http://www.sun.com/service/sunupdate/ You need to be registered (free), and security and public patches are free. Other patches require a service contract. Currently, Sun Update Connection is available only for Solaris 10, but if not patched it doesn't work (hangs) with Solaris zones (bug). I recommend only applying critical security patches and patches for specific problems you've had. Don't blindly apply all patches.

(3.5) How can I obtain freeware, shareware, and GNU software on a CD-ROM?

Solaris 8 comes with some GNU utilities, such as gzip and less. More binary packages for GNU and other Open Source software are in a separate CD. The CD is installed after Solaris is installed. The packages on the CD all start with "SFW" (SFW stands for "Sun Freeware").

For older versions of Solaris, Micromata of Kassel, Germany offers its "Summertime" CD with precompiled software for Solaris SPARC and Intel, http://www.micromata.com/summertime/

See question 3.1 above for FTP and web software sites.

(3.6) What UNIX-like operating systems are available on x86?

Solaris x86, SVR4-based (http://www.Sun.COM/)

SCO OpenServer UNIX, SVR3.2-based (http://www.sco.com/)

SCO UNIXWare, SVR4-based (http://www.sco.com/)

Linux (http://www.linuxresources.com/, open source)

FreeBSD (http://www.freebsd.org/, open source)

NetBSD (http://www.netbsd.org/, open source)

OpenBSD (http://www.openbsd.org/, open source)

Note that the open source versions can also be purchased on CD-ROM, which is a convenient way to get it. For Linux, there are multiple vendors selling CD-ROMs (e.g., RedHat, http://www.redhat.com/). Other systems are over the horizon, in beta, or for teaching/research. E.g., GNU's HURD http://www.gnu.ai.mit.edu/software/hurd/, Tanenbaum's Minix http://www.cs.vu.nl/~ast/minix.html, or Lucent/Bell Labs' Plan 9, http://plan9.bell-labs.com/

(3.7) What books are available on Solaris x86?

OpenSolaris Bible (Wiley, 2009) by Solter, Jelinek, and Miner. Excellent overall book, including Virtualization, ZFS, Dtrace, and basic administration.

(Wiley, 2009) by Solter, Jelinek, and Miner. Excellent overall book, including Virtualization, ZFS, Dtrace, and basic administration. Solaris Security Essentials (Prentice Hall, 2009) by Veach and Sun engineers. Good book for security, including roles, encryption, authentication, and filesystem and network security.

(Prentice Hall, 2009) by Veach and Sun engineers. Good book for security, including roles, encryption, authentication, and filesystem and network security. Solaris Internals 2d ed. (Pretice Hall, 2006) by McDougall and Mauro. Second edition updated for Solaris 10 and OpenSolaris. Excellent overview on Solaris kernel implementation.

2d ed. (Pretice Hall, 2006) by McDougall and Mauro. Second edition updated for Solaris 10 and OpenSolaris. Excellent overview on Solaris kernel implementation. Solaris 10 System Administration Essentials (Prentice Hall, 2009) by Jain, Davenport, Bustos, and Sun engineers. I haven't seen a review copy, but the authors know their stuff.

(Prentice Hall, 2009) by Jain, Davenport, Bustos, and Sun engineers. I haven't seen a review copy, but the authors know their stuff. Pro OpenSolaris (Apress, 2009) by Foxwell and Tran.

(3.8) What magazine articles are available on Solaris x86?

"Sun injects Solaris X86 with new life as it makes its way to 64 bits" Sun World. Feb. 1997 by Rick Cook. http://www.Sun.COM/sunworldonline/swol-02-1997/swol-02-solarisX86.html

Note: please send other submissions to Dan Anderson at http://dan.drydog.com/comment.html

(3.9) What's new for Solaris 10?

Solaris 10 for x86 was released in 2005. Solaris 10 features include: an improved TCP/IP stack ("Fire Engine"), "Solaris Zones" (partitioning software that's sort of like an enhanced chroot jail--one kernel, many OS instances), "ZFS" Dynamic File System, (mirroring, volume management, performance, scalability, and reliability improvements) "FMA/Greenline" with self-healing features and fault management, NFS v4, Gnome 2, DTrace diagnostic software, AMD64 support, and Linux binary support.

Solaris 10 06/06 now uses GRUB for x86 booting, along with support for ZFS (Zettabyte 128-bit Filesystem), and lxrun (to run Linux binaries).

Solaris 10 x86 is available at http://www.sun.com/software/solaris/binaries_program.xml

http://sun.drydog.com/faq/

(4.0) PRE-INSTALLATION

(4.1) What information should I have before an install?

Size of your disk

Ethernet hardware address

IP address

Bandwidth of your video card and monitor

Maximum vertical frequency your video card will drive

Mouse type

The size of your disk determines what cluster you are going to install on your system. I.e., an End User cluster, a Developers Cluster or the Complete Cluster. See references to how to size your OS when installing.

The Ethernet hardware address from your Ethernet card would be helpful if you're on a NIS net and your going to do net installs. You would like to have the Ethernet address in the /etc/ethers map file before you do an install. Usually the manufacturer of an Ethernet card will have some software that you can run under DOS to display this number or sometimes you can find the Ethernet number on a sticker right on the Ethernet card. If this is on a standalone network you probably don't need to know the Ethernet hardware address. Don't confuse this with the software IP address.

Bandwidth of your monitor and video card are important. During the install the install process is going to ask you for the size of your monitor and what vertical resolution you want to drive the monitor at. Note that in the update disk documentation they give a handy dandy monitor resolution bandwidth for monitors in the appendix. You may want to check this out. See other references on video cards and monitors throughout the FAQ.

The install process will ask you about your mouse type.

[From Bob Palowoda's Solaris 2.4 x86 FAQ]

(4.2) What hardware is supported by Solaris for Intel?

Solaris x86 is the version that runs on Intel-based PCs and servers. Requirements vary to release, but generally a Pentium-class processor or better from Intel or AMD, a PCI bus, 256 MB of memory, and 20 GB Disk. Solaris base and Java Desktop System takes about 5GB. Add Java Enterprise System (not needed except for servers), for a full install takes about 11GB. Add in swap and free space, so you should have, say, a 10 or 20 GB disk or larger. Many multi-processor boards and multi-processor cores are supported. You must have a CD-ROM drive or access to NFS or a boot server over the network to install. A DVD drive is better, as it's fewer disks to swap.

The Solaris x86 Hardware Compatibility List (HCL) lists the tested hardware. However, not all hardware combinations will work. Also, hardware not listed may work, but are not guaranteed or supported. The HCL is at: http://www.sun.com/bigadmin/hcl/ After installing Solaris, please submit your own configuration at the "Submit System" form to let others know that your hardware is compatible.

For troublesome devices and cards, I find System Administration Guide: Devices and File Systems at http://docs.sun.com/ useful.

A downloadable Java JNLP application is available to detect what hardware support is available for your computer. This app is runs on Linux or Windows and is a great preview of support. http://www.sun.com/bigadmin/hcl/hcts/device_detect.html I don't need to check my Athlon 64 desktop, as it has Solaris. My IBM Thinkpad has everything but WiFi support (it's coming) and the internal modem.

[Updated from Casper Dik's Solaris 2 FAQ]

(4.3) What size disks and partitions should I have?

Solaris base and Java Desktop System takes about 5GB. Add Java Enterprise System (not needed except for servers), for a full install takes about 11GB. Add in swap and free space, so you should have, say, a 10 or 20 GB disk or larger. This can be pared down, but with today's large disks, I usually install all of Solaris.

Solaris uses a tmpfs where both the swap area and /tmp share a common disk space. Configure about 512MB - 1GB of swap space on a single user system. Many programs use the tmpfs for speeding up applications. My swap file is usually 1.5 times my physical memory.

Solaris installation usually suggests several filesystems. However, for workstations, I recommend a simple layout with just two slices in the Solaris partition: root (/) and swap (/tmp). and everything else goes in the root (/) filesystem. If you're expecting a lot of overflow from /var (usually on servers), consider creating a separate /var filesystem (say 200 MB or more, depending on your needs).

During installation, you will be asked to select the boot disk to use. Next, you will be asked if you want to "Preserve Data?" Answer "yes" if you have unused disk space and want to keep your existing operating system (e.g., Linux or Windows). Answer "no" if you want remove all existing partitions on the disk and use the all or part of the disk for Solaris.

If you are installing Solaris 9 or earlier on a disk with Linux, be especially careful not to use the Linux swap partition for Solaris if installing Solaris or vice versa installing Linux. They both use the same partition ID, 0x82. For Solaris 10 this is no longer true--Solaris 10 uses ID 0xBF, which does not conflict with Linux Swap partitions (0x82). For more information, see the question later in this FAQ, Can I install Linux and Solaris on the same drive?

(4.4) What are SCSI IDs expected by Solaris x86?

These are the typical values for SCSI devices. For tape and CD-ROM, these are the defaults used in the /etc/vold.conf file for controlling the vold mounter. You can set them to other ID's but remember to adjust the vold.conf file to the new values.

Boot drive ID 0 Second drive ID 1 Third drive ID 2 Reserved by Solaris ID 3 Tape ID 4 CDROM ID 6 SCSI controller ID 7

[From Bob Palowoda's Solaris 2.4 x86 FAQ]

(4.5) What video card/monitor combination works best?

Some questions will arise when trying to configure your video card and monitor size. The most critical area is when you do the install and answer the questions about the vertical HZ, screen size 14, 15, 17, 21-inch, etc. If you get it wrong you get the squiggles.

First, find your video card manual. Ha! I can hear the laughs from across the world. What manual? If this is the case just select the slowest vertical HZ. You can always change it later after the system is up with kdmconfig.

Resolution: be safe and just use 1024x768 or smaller the first time through the install. Latter, boost it up to 16 million colors and specify a bigger monitor size.

Screen size should be easy. Measure diagonally: [\] about that big.

If you don't know the video card type just select the standard vga8 to do the install. Hopefully when your system boots it displays what video card you have in it.

A good video card combination such as the ATI and Sony 17sei can allow you to drive it at 76Hz vertical 1280x1024 on a 17-inch screen.

Hint: Look in the update readme files and at the end in one of the appendices you'll find a chart of monitors and their scan rates. It's usually good to refer to before you buy the monitor and video card combination. You could have a very nice high bandwidth monitor and a lousy video card that can't drive it hard enough. Or visa versa, a good video card that can drive a high bandwidth but the monitor just can't handle it.

Another Hint: Even though there's no 14-inch monitor on the configuration menu you can select the 15-inch setting. If the 14-inch monitor has a good bandwidth it will sync up.

[Modified from Bob Palowoda's Solaris 2.4 x86 FAQ]

(4.6) Is Plug-and-Play (PNP) supported by Solaris/x86?

Yes, with Solaris 2.6 and latter. Sun FAQ 2234-02 at http://access1.Sun.COM/cgi-bin/rinfo2html?223402.faq has instructions for configuring Solaris to recognize specific PNP devices. See the System Administration Guide: Devices and File Systems at http://docs.sun.com/ for details on each device (and see the Driver Update Guide when using updates).

Personally, I find it a lot easier to disable PNP on cards that have that option. Boot into DOS or Windows (with a diskette if you have to) and run your card manufacturer's utility or configuration or diagnostic program. I also disable the BIOS setting "OS supports PNP". PNP can be tricky with Solaris sometimes.

To display your current system configuration run " prtconf -pv "

The following is from Sun FAQ 2234-02, which has instructions for configuring Solaris to recognize specific PNP devices:

You have a device that is "Plug and Play" (PnP), but Solaris doesn't recognize it. Yet it seems that it is generic enough, like a modem, that it should be recognized or it is listed by name in the Hardware Compatibility List (HCL).

Devices are recognized by matching their device id with entries in the boot system's "master" file. This file is on both the boot diskette and on the root in /platform/i86pc/boot/solaris/devicedb of an existing Solaris 2.6 system.

First, be sure you are using the latest Driver Update (DU) for your version of Solaris. Your device may already have been added to that since the 2.6 CD was released. This can save you a lot of trouble. Be sure to read the documentation that comes with that DU to see if it describes your specific device.

To have the system recognize a device as an asy compatible device, of which a modem is a good example, the user needs to find out the ID of the particular device. This can be accomplished by looking at the output of a " prtconf -pv " on an existing Solaris 2! .6 system with the device installed. The node that is the one for the Plug and Play card will have a name property of the form " pnpXXX,DDDD ", where the XXX is three letters and " DDDD " is four digits.

If one constructs a PnP ID by concatenating XXXDDDD, this will be the ID for the Plug and Play card. To have the system recognize this card as an asy device, the line in the above mentioned master file that contains the driver name " asy " as its second field should be edited to have the constructed ID as one of the IDs listed in the first field. As in the example below:

USR0006|USR0002|SUP1381 asy com pnpisa none "Serial port w/ built in modem"

becomes:

XXXDDDD|USR0006|USR0002|SUP1381 asy com pnpisa none "Serial port w/built in modem"

NOTE: One should be very careful editing this file since if it is trashed, the system may no longer be able to boot. When changing the floppy, be sure to change a duplicate of the floppy—not the original! When changing the file on you Solaris boot drive, be sure to save the original as master.OLD or some such name.

After making this change to the master file on an existing system, the user should do a " touch /reconfigure; /usr/sbin/shutdown -i6 " to reboot/reconfigure the system. If you are changing a copy of the floppy just boot from the changed floppy. The device will be recognized as the desired type and should automatically have the proper driver attached.

This procedure may work for other drivers that are compatible with various devices, but whose Plug and Play ids are not in the master file. For example, the sbpro driver can drive many PnP sound cards that look like a Soundblaster PnP 16.

Only add IDs to existing lines. Do not create new lines by yourself. If you truly have a new device then please submit a "Driver Request Form" to have it supported. If you look where you download the latest Driver Update you should find a link to it there.

(4.7) Is Advanced Power Management (APM) supported by Solaris/x86?

APM isn't really supported on x86. Solaris is "APM tolerant" which means that if APM can do everything transparently to Solaris, it will work. If it isn't transparent, Solaris gets confused.

So, SPARC has power management in the OS but x86 does not.

[Thanks to Doug McCallum]

(4.8) Are "floppy tape" devices supported by Solaris x86?

No. You have to use a SCSI tape backup device. Other options include purchasing a zip drive, which is supported (except on the parallel port), or backing-up your files to a MS-DOS/MS Windows partition and back it up from MS DOS/MS Windows or some other operating system.

(4.9) How can I get a "free" copy of Solaris?

A "free" copy of Solaris x86 (where "free" means the download and license is free. You pay media, shipping, and handling cost if you don't want to download.) is available from http://wwws.sun.com/software/solaris/binaries_program.xml There are CPU and commercial use restrictions on this free license. The Solaris media kit (DVD and CDROMs) costs US $50 or free to download.

The download version includes everything but the Open Source "Software Companion" CD, and the Star Office CD (the latter is available for download separately or you can use Open Office).

If you download and have problems, make sure you download in "binary" mode (check that the file size matches exactly). Some CD burning software (especially for Windoze) requires the downloaded files be renamed to have a ".iso" extension. Please verify the CD or DVD you burned, if the software has that option. I recommend using "Easy CD Creator" software if you are using Windows machines (see http://www.roxio.com/ ). Some people like Nero Burning ROM software, but I have no experience with it. In any case, make sure you burn as a "Disk Image" or "Existing Project", otherwise, the *.iso file will be burned as just a file on the CD/DVD, instead of burning the exact image of the *.iso file.

Keep in mind that the CD uses Solaris (long) filenames, not DOS 8.3 filenames. So if you do a DIR on the cd, don't be alarmed if you don't see everything. Also MS Windows does not recognize the industry-standard "Rock Ridge" format for long filenames (in characteristic fashion, MS Windows uses their proprietary "Joliet" format).

For Solaris and other flavors of UNIX, several CD burning utilities are available, such as cdrecord (CLI) at ftp://ftp.fokus.gmd.de/pub/unix/cdrecord/, BurnIt (Java GUI front end to cdrecord) at http://sunsite.dk/BurnIT/, or X-CD-Roast (Linux GUI) at http://www.xcdroast.org/

Educational users .EDU-affiliated individuals can obtain Solaris and a number of other software packages via the EduSoft program for free. See "Individuals" at http://www.sun.com/products-n-solutions/edu/promotions/edusoft/

[Thanks to Sun Microsystems, Alan Coopersmith, John Groenveld, and Toby McLaughlin]

(4.10) What's missing from the "free" copy of Solaris that's in the commercial version?

The following CD is supplied with the commercial version but not with the free version: Software Supplement for Solaris 7. The latter contains SunVTS, ODBC Driver Manager, Solaris on Sun Hardware AnswerBook, PC file viewer, ShowMe, and SunFDDI. OpenGL is provided with Solaris only for the commercial Sparc version (Xi Graphics "Summit" software supports OpenGL 1.2.1 for Solaris x86; XFree86 has OpenGL but doesn't support it for Solaris).

[Thanks to Mike Mann and Alan Coopersmith]

(4.11) How do you create a Device Configuration Assistant (DCA) Diskette in DOS/Windows?

The DCA diskette is used for booting, in lieu of booting from CDROM or hard disk. The DCA diskette comes with the Solaris media, but you need to "roll your own" if you downloaded Solaris or if your DCA diskette becomes corrupted. To create the diskette, follow these steps:

Download DOS program dd.exe, which is used to write the DCA image, from http://www.sun.com/bigadmin/hcl/drivers/dca_diskettes/ or ftp://ftp.uu.net/vendor/sun/solaris/x86/dd.exe (Example: dd S8_1001.3 a: ) You can also use the DOS rawrite.exe utility provided with Linux distributions (usually under the boot diskette directory). Download the DCA diskette image for the Solaris x86 version that you want to install (for example, S8_0101.3) from http://www.sun.com/bigadmin/hcl/drivers/dca_diskettes/) A DCA boot floppy image is also on the "Software 2 of 2" CD, in the Solaris_9/Tools subdirectory. Run dd.exe to copy the image to the floppy diskette: dd.exe <filename> a:

You have now created a (bootable) Solaris DCA diskette.

[Thanks to Sean G.W. Graham]

(4.12) How can I get Solaris to see the third ATAPI controller?

Solaris 7 can be configured to support any ATAPI compliant controller which doesn't conflict with any existing device. The key factor is that its interfaces must be complaint with the ATAPI specs. In other words, you need two ranges of non-conflicting I/O ports, and an free IRQ, and hardware that's compliant with at least the ATA-2 and SFF-8020 specs. If it's a legacy-ISA ATA controller than you'll have to manually configure everything via the Device Configuration Assistant (DCA) menus because the DCA only automatically probes for ISA-IDE devices at the two standard address ranges. If you're adding a compliant PnP-ISA ATAPI controller or a compliant PCI-IDE controller then the DCA should automatically configure everything for you because all PnP-ISA-IDE and PCI-IDE devices are self-identifying devices.

The problem you're likely to encounter is there aren't many compliant add-in ATAPI controllers available. Most of them want to do revolting things like share ISA IRQs 14 or 15, or advertise the wrong range of I/O ports or don't specify the right PCI-IDE class bytes. In particular most SoundBlaster-IDE cards have a broken Alternate-Status register. The Solaris 7 ata driver assumes that the Alternate-Status register works as specified in the ATA-2 spec. Unlike the other non-compliant hardware problems, there's a trivial workaround for the SB-IDE hardware bug (i.e., don't use the Alt-Status register) but I've no idea whether anyone at Sun has spent the 15 minutes it would take to apply the fix to Solaris 8.

If you've got an add-in ATAPI controller card that doesn't come with specs that clearly spell out that it won't conflict with your existing controllers, or if it requires you to disable any built-in controllers, then that's almost certainly one of those bogus controllers that isn't fully compliant with the ATAPI specs. I haven't yet found a legacy-ISA ATAPI card that works correctly (they all want seem to want to share IRQ 14 or 15), but people persist in telling me they exist. If you do find a compliant one then the Solaris 7 ata driver will work with it just fine.

[Save yourself some trouble and use a SCSI controller and disks. - ed.]

[Thanks to Bruce Adler]

(4.13) Are Ultra DMA (UDMA) drives supported?

Solaris 7 or later recognizes UDMA drives in native mode. They are not supported in Solaris 2.6 or older, although they are recognized in its compatibility mode as regular ATAPI drives.

During installation, you may want to disable UDMA mode if your install hangs during recognition of hard drives (which occurs shortly after the Solaris copyright line is displayed).

For Solaris 8, DMA is disabled for ATAPI devices, as it caused installs to fail for several BIOSes. For Solaris 10, it is enabled, at least for me. It can be enabled with the " ata-dma-enabled " property from the GRUB menu ( -B ata-dma-enabled=1 ) See the question on "How can I improve disk and graphic performance?" for details.

[Thanks to Christopher Arnold and Steve]

(4.14) Are Universal Serial Bus (USB) devices supported?

Solaris 8 supports USB, including Plug and Play. However, not all devices attached to USB are supported. The HCL lists supported devices (see the answer about the HCL, above).

Also, there are three different types of USB host controllers, and Solaris x86 (8 or 9) supports only one:

USB 1.1 UHCI is supported by Solaris x86.

USB 1.1 OHCI is supported by Solaris x86 only with the newer USBA 1.0 framework (which supports USB 2.0 EHCI devices).

USB 2.0 EHCI is supported by Solaris 10. It requires patches for Solaris 8 or 9. On Solaris 9 x86, use Update 7 or later and install patch 115554-17. On Solaris 8 x86, use HW 05/03 or later and install patch 109897-20. EHCI with UHCI compatibility will also work.

Avoid placing both USB 1.x and USB 2.0 devices on the same USB 2.0 hub. They may not work for some configurations.

Run the command " prtconf -pv | grep 000c03 ". If there's no output from that command, your machine dosn't have USB :-(. If there's a " class-code: 000c0300 " line, you have UHCI USB and it should be possible to use USB devices under Solaris x86. If there's a " class-code: 000c0310 " line you have an OHCI USB controller, which is not supported with Solaris x86. And " class-code: 000c0320 " is an EHCI (USB 2.0) controller.

So, if your USB controller is UHCI, your USB keyboard/mouse should be detected and should be usable as USB devices under Solaris x/9 x86. If your system has an OHCI USB controller, you cannot use USB under Solaris x86. Your only option is to enable "USB legacy support" for the keyboard and mouse in the system's BIOS, and the BIOS will emulate a PS/2 keyboard and PS/2 mouse from the USB peripherals. In this case, in kdmconfig, you have to tell the system to use the (emulated) PS/2 mouse; the USB mouse pointer entry won't work!

USB memory drives will appear as /dev/rdsk/c1t?d? If formatted as DOS, mount as type pcfs. For example, mount -F pcfs /dev/dsk/clt0d0 /mnt

Drivers for some USB devices are available from Philip Brown at http://www.bolthole.com/solaris/drivers/ For information on Solaris USB support, see Sun's USB FAQ and whitepaper at http://www.sun.com/io_technologies/USB-Faq.html The FAQ has up-to-date information on USB 2 devices.

(4.15) Is the scroll wheel on the mouse supported?

Yes, with Solaris 9 or 10. It is autodetected and enabled by default.

If you use Xorg instead of Xsun graphics drivers, make sure you enable it when running xorgconfig . Or you can edit the Mouse section in file /etc/X11/xorg.conf Change " PS/2 " to " IMPS/2 " and add to it:

Option "ZAxisMapping" "4 5"

XSun, XFree86/Xorg, and Xi Graphics X Windows graphics card server software all support wheel mice. For earlier releases, use http://www.tools.de/solaris/ps2wheel/ for PS/2 and http://www.bolthole.com/solaris/drivers/usb-usbsm.html for USB mice.

[Thanks to Jürgen Keil, Alan Orndorff, and Alan Coopersmith]

(4.16) What's difference between Solaris x86 Server and Solaris x86 Desktop?

There is absolutely no difference, other than what you are licensed to do with it. You get exactly the same software with the two products. (This is not the case with Sparc server, where the server product contains more CDs with some additional software. If you want something like Solstice AdminSuite, you have to order it separately.

The Solaris desktop license restricts you from using the system as "any type of server" (other than print or NIS). or supporting more than two continuous users. Read your license for details. A Server Upgrade License is available.

[Thanks to Andrew Gabriel]

[Thanks to EB]

(4.18) Is Solaris x86 64-bit aware?

Yes. Solaris 10 is 64-bit processor aware. You can run 32- or 64-bit binaries on a 64-bit kernel (but drivers must be 64-bit). Supported CPUs are AMDs Opteron and Athlon 64. Use the isainfo command to display the current kernel's 32-/64-bit capabilities. To compile 64-bit binaries with GNU gcc, use " gcc -m64 " (or add " -m64 " to CFLAGS and CXXFLAGS). To compile with Oracle Solaris Studio (Sun Studio) http://developers.sun.com/prodtech/cc/ use " -m64 " For older versions of Oracle Solaris Studio, use " -xtarget=generic64 "

Solaris will also support the new 128-bit ZFS filesystem, which supports 16 million million times the storage of a 64-bit filesystem. Solaris 10 x86 supports EFI labels as well as the new UFS format that allows filesystems over 1 terrabyte. 128-bit ZFS files are still limited to 64-bit access until 128-bit processors and Solaris support are available.

However, if Solaris is installed on a 32-bit processor, these filesystem features are not available, due to the underlying Intel chip architecture. However, Solaris x86 on 32-bit processors still support large files up to 1 Terrabyte for 32-bit processors. In practice, the limit is 860 Gigabytes. For example:

$ ls -l /work/BackUp total 13239792 -rw-r--r-- 1 root other 6775454208 Dec 11 00:47 csdb_nfs1.tar

[Thanks to Niklas Zackrisson, Alexander Zinkov, and Merle Ilgenfritz]

(4.19) What's the difference between partitions and slices?

In the UNIX world, partitions and slices are often used interchangeably. In the x86 world, partitions usually refer to fdisk partitions. To avoid confusion, it's preferable to refer to "partitions" as "fdisk partitions." (e.g., you can only have four primary fdisk partitions in a x86 fdisk table.) In the Solaris x86 world, the term "slice" should be used to refer to slices which are within the Solaris fdisk partition (e.g., "root" (/) and "swap" slices.)

[Thanks to John Groenveld]

(4.20) I already used the 4 primary fdisk partition table entries. Can I create a partition for Solaris within my extended partition?

You can't because Solaris requires a *primary* partition table entry in the fdisk table and doesn't support placing the Solaris Partition within a DOS Extended Partition.

[Thanks to Bruce Adler]

(4.21) What are the IRQ assignments?

IRQs, Interrupt Request Registers, numbered 0 to 15, handle interrupts from various internal and external hardware devices. Multiple ISA devices can't share a IRQ, but multiple PCI devices can share.

Here's a chart:

IRQ 0 * - System Timer

- System Timer IRQ 1 * - Keyboard

- Keyboard IRQ 2 * - Programmable Interrupt Controller; gateway to IRQs 9 - 15.

- Programmable Interrupt Controller; gateway to IRQs 9 - 15. IRQ 3 - COM2 (ttyb) I/O Base 2F8h (usually a ISA modem)

IRQ 4 - COM1 (ttya) I/O Base 3F8h (usually a serial mouse)

IRQ 5 - Usually a secondary printer, NIC, or sound card

IRQ 6 - Diskette Controller

IRQ 7 - Parallel Printer; sometimes used for a sound card

IRQ 8 * - CMOS Real-Time Clock

- CMOS Real-Time Clock IRQ 9 - Sometimes used for a sound or network card

IRQ 10 -

IRQ 11 - Sometimes used for PCI Video

IRQ 12 - PS/2-style Mouse

IRQ 13 * - Math Coprocessor Exception

- Math Coprocessor Exception IRQ 14 - Primary ATAPI Disk controller

IRQ 15 - Secondary ATAPI Disk controller

*IRQs 0, 1, 2, 8, and 13 are not on the bus connectors and are not available to I/O adapter cards.

[Thanks to Jorgen Moquist and other sources]

(4.22) Are Laptops supported for Solaris x86?

No, not anymore. There's just too many and they tend to have strange hardware. That being said, many happen to work. Also, old drivers or desktop drivers sometimes function for laptop hardware. For a list of known laptops compatible with Solaris x86, see Philip Brown's "Solaris x86 Laptop List" at http://www.bolthole.com/solaris/x86-laptops.html

Experimental wireless networking support is available with drivers from http://www.opensolaris.org/os/community/laptop/wireless/

If you want more than VGA resolution, you can try installing XFree86. See section 8 of the faq on X Windows for more information.

Evan Rudderow points out that the simplest way to run Solaris x86 on laptops is to run it under VMWare.

If it's only Solaris you need on a laptop, and you don't mind coughing up $$$$, you can get SPARC laptops from http://www.naturetech.com.tw/ and http://www.tadpolecomputer.com/

(4.23) Is Serial ATA (SATA) supported for Solaris x86?

Yes. The following chipsets are supported: ICH (ICH5, ICH5R, ICH6, ICH6R), SiliconImage (Sil 3112, 3114, 3512), and nVIDIA (nForce4). Personally, I have a MCS Athlon 64 motherboard with a nForce4 chipset and it works fine. RAID support, if any, is handled by a Solaris driver (such as Solaris Volume Manager).

http://sun.drydog.com/faq/

(5.0) INSTALLATION

(5.1) How long does the install take?

It depends on the CD-ROM and hard disk speed. On a 300 MHz Pentium with a multispeed SCSI CDROM, from the time "Initial Install" starts, it only takes about a half hour. Add another half hour for initial probes and configuration menus. Add a lot more if you have problems, of course. Upgrades take about 3 hours or more. This is because the system must determine what critical configuration data must be saved and replace it on a "per-package basis".

I'm the impatient type and given up totally on system upgrades. Now I have a separate disk drive which I use for initial installs because it goes so much faster. With the typical SCSI drives costing in the $200 range it just isn't worth it anymore to do upgrades. But this is my opinion so take it for what it is worth. I just save the /etc, /opt, /local, and /export/home directories and selectively restore rather than upgrade.

Below is typically what I save before doing an initial upgrade. Don't take this for the ultimate system definition of what you should save, but it works for my system. Your system may be designed very differently. The first thing I do is mount the filesystem that has a home directory with the below critical files and copy them to the appropriate directories. I'm sure it could be automated but. . . What the advantage of this process is that I can do an initial install in about an hour. My home directories are always on another disk partition.

Install_Notes My own release notes default route If you have one for routing to a DNS server. df Save the output of df to keep an idea of my disk usage dfstab /etc/dfs/dfstab for shared file systems passwd /etc/passwd file shadow /etc/shadow file vfstab /etc/vfstab filesystems

[Modified from Bob Palowoda's Solaris 2.4 x86 FAQ]

(5.2) My ATAPI CD-ROM or DVD isn't recognized during install of Solaris and it's not in the HCL. What can I do?

This used to occur with older versions of Solaris (2.5.1). The workarounds were to connect the CD-ROM to the primary ATAPI (not secondary and not the sound card), to disable DMA for the CD-ROM, or to use a SCSI CD-ROM.

[Thanks to L. E. "MadHat" Heath and others]

(5.3) What kind of problems might I encounter installing my SCSI system?

Typical problems with SCSI drives are termination and SCSI IDs. You'll have flakey behavior if there's no termination resistor on the drive at the end of a SCSI "chain". Worse are double termination resistors. Some people mistakenly leave a resistor jumper on a drive when it's not at the end of a SCSI "chain." This also makes the system flakey. Carefully read your SCSI adapter manual on termination if you're unsure about it. A SCSI drive can run for hours with no problems--then boom, you get a panic. Always check cabling, pins, and connections and use the *shortest* cable possible. The first thing I do when I have a problem with a SCSI device is to reseat the SCSI cables (with the machine powered off).

With SCSI IDs, a common problem is that the IDs on the drive, usually set with dip switches or a button, don't match the settings with your software (Solaris) or it's a duplicate ID. Check the IDs carefully when adding or upgrading SCSI devices. The boot drive must be ID 0.

Other more obscure problems are setting the BIOS address space for the disk controller the same as the network card address space, and the PCI video card address conflicting with PCI SCSI disk controller BIOS address space. SCSI ISA adapter support has been removed in Solaris 8--use PCI.

[Adapted from Bob Palowoda's Solaris 2.4 x86 FAQ]

(5.4) What do I do when the install hangs/panics?

One of the most common problems with some mother boards is handling DMA during the install. Usually, that's the case if you get a hang right around configuring /dev/devices. Try turning off the caching--external and internal. Slow the system speed down if it allows you to do this in the BIOS or through the front panel switch. Leave these settings ONLY for the install: kick it back up after the install.

Warning: If you already have a OS installed on your hard drive (and that's most of you), the Webstart "Installation" disk will most likely not work. Use type 4, "Solaris Interactive Text (Console session)," for Solaris 10 and the "Software 1 of 2" CD for Solaris 8 or 9.

If you still have problems, you can run Solaris boot in debug mode to help isolate the problem. When asked to make a selection, 1 - 4, type instead "b -kv" (without the quotes)

Another common problem is support for new devices. Use the latest driver update boot and distribution diskettes, especially with newly-supported hardware. Carefully check the HCL to verify your cards are listed. Try removing/replacing suspected troublesome cards to isolate the problem.

Sun gives these tips for handling hardware incompatibilities during installation (see http://access1.Sun.COM/cgi-bin/rinfo2html?115502.faq ):

". . . Disable external cache, . disable synchronous negotiation on the CD ROM, and disable ROM BIOS shadowing. These may be re-enabled after installation. Also, if using an un-supported or clone motherboard, slowing the system clock or changing from a double- clocked processor to a single-clocked one may help. Say, for example, a 486DX-50 as opposed to a 486-250 or 486-66."

Here's a checklist of typical causes of hangs during installation:

Incompatible CD-ROM drives (or mounting on the secondary ATAPI).

Incompatible SCSI controller (avoid the clones and cheap cards).

Incompatible Motherboard (try changing motherboard settings).

"Appendix A Troubleshooting" in the Solaris Installation Guide: Custom JumpStart and Advanced Installations has more tips and extensive documentation on several installation error messages. These errors can occur with any installation, despite the title. The appendix was based on problems discovered from actual support calls and is very helpful. http://docs.sun.com/

[Thanks to Bob Palowoda and Jürgen Keil]

(5.5) I'm trying to install Solaris/x86 on my ATAPI drive. However, the installation program says the root partition must end within the first 1023 cylinders of the disk. What can I do?

The root filesystem must be below 1024 cylinders of your disk The number of cylinders has nothing to do with the size of the disk. So it is possible to have 1.5GB partitions below 1024 cylinders on some disks (with more MB per cylinder) and not on others. Newer BIOSes support LBA, Logical Block Addressing. The BIOS may have to be edited on bootup to enable the LBA option. This bumps the HD limit to 8GB. With LBA, Solaris/x86 and other operating systems can be placed anywhere you want. For older BIOSes, the 1024 cylinder limit translates to the first 512 MB on ATAPI.

Be sure that the root and the boot slice of the Solaris partition are within the 1024 cylinder boundary using the BIOS geometry reported for your disk and you should be fine. That is the cause of the "slice extends beyond end of disk" message -- exceeding 1024 cylinders.

If you're having problems, simply make the root filesystem smaller and create an additional /usr filesystem (and, e. g., /var, /opt, . . .). For reliability, the root filesystem should be small (say 64 MB) with large filesystems mounted on it.

I have seen problems with fdisk as well. In those cases I used a disk editor to adjust the partition so it started and ended on cylinder boundaries. This seems to happen when Solaris uses the actual geometry of a disk, as seen by Solaris at runtime, vs. the geometry reported by a controller to allow DOS to think it has no more than 1024 cylinders. Partition Magic reported problems with that partition when I tried it on systems with Solaris partitions that weren't aligned with the other partitions correctly.

Update: Solaris 8 has removed this size restriction for ATAPI drives. One must reinstall Solaris, not upgrade, to take advantage of this. SCSI drives have never had the partition size restriction, although the boot code in the root / filesystem had to be under the 1024 cylinder limit.

[Thanks to Ronald Kuehn and Mike Riley]

In theory, both work. Leave it up to the BIOS' auto-detect, just as the Configuration Guide advises.

[Thanks to Randy J. Parker]

(5.7) Why does a Solaris install to a disk with valid, pre-existing fdisk partitions sometimes fail?

There is a well known bug that sometimes prevents Solaris from installing into an existing partition. Its cause has never been identified, or its existence officially acknowledged by filling out a bug report. It is secretly well known only to Sun's Installation Support team in Chelmsford, MA., who claim that the workaround is apparent from the message "slice extends beyond end of disk".

I agree that the workaround is simple, but I think some kind of document explaining the workaround should be referenced. Better yet, the error message could actually describe the error! Or, how about identifying and fixing the bug so it never happens to begin with?

For those of you too "stupid" :-) to read the error message, I'll decode it:

slice = "disk" extends = "is full of fdisk partitions" beyond = "before" end = "installation." of = "Please" disk = "delete at least one of 'em, and try again"

For example: If a disk has three partitions with the following: 1) FAT, 2) no filesystem yet, 3) NTFS, the installation might fail in some poorly understood cases, with the misleading error message.

The workaround is to delete the unused partition, leaving a "hole" between the flanking partitions. The install fdisk, Partition Magic, or any other fdisk will now see only two partitions: FAT and NTFS. There will obviously be lots of cylinders between the end of the first, and the beginning of the second. The Solaris install will spot the hole, and create a partition according to its own mysterious specifications. Somehow, this new partition is acceptable, even though a seemingly identical one created by a different fdisk isn't. Perhaps the bug is in *when* it was created: if previous, sometimes balk. Perhaps NORMAL / LBA is relevant at this point - - it did make a difference in at least one case I tested. Oddly, I have also had cases where the offending procedure of creating the partitions before beginning to install Solaris worked fine.

However, I once had a case where the Solaris install created a partition that left gaps of a few cylinders before and after. I am wary that it could err on the other side of the boundary, and damage a flanking filesystem by encroaching across the pre-existing boundary. The safest approach when dealing with a squirrelly fdisk is to use the dangerous one *first*. Install Solaris before the other partitions get used, if possible. Hopefully the other fdisk-type programs will recognize such corruption and allow the encroached-upon partitions to be deleted and re-created, without hurting the Solaris partition.

At any rate, the most-likely-to-succeed procedure is to install into a hole, or onto an empty disk with no partitions.

Thanks to Super-User (asianinter.net), who pointed out cases involving modern BIOS' auto-detecting ATAPI disks as NORMAL. Alan Thomas prefers always to set disks to NORMAL, and once had trouble with a disk that was set to LBA.

[Thanks to Randy J. Parker]

(5.8) How do I add a 8 GB or greater ATAPI drive to Solaris 7 or earlier?

Solaris 8 has support for large ATAPI drives built-in. For SCSI drives, there's no such restriction. However, if you have Solaris 7 or earlier, there's an 8 GB restriction on large hard drives, even in LBA mode. There is a workaround for this limit however, by following these instructions:

To add a drive for Solaris 7, you need a BIOS that supports drives greater than 8.4GB in LBA mode. Check with the computer manufacturer. BIOS upgrades may also be available if your system currently does not support large drives.

You also need to find out the total number of sectors available on the drive. Solaris 7 or earlier cannot read the extended information on the drive, so the information will need to be obtained from the manufacturer. If the manufacturer only provides the total number of bytes, then divide that number by 512 to obtain the total number of sectors. NOTE: Ignore the 16383x16x63 (or whatever) listed on the drive -- this equates to an 8.4GB drive and is not applicable to large drives.

To configure the drive:

Set the drive mode to LBA in the BIOS setup. Boot Solaris.

WARNING! Continuing will destroy any partitions that are on this drive. Create a disk geometry file for Solaris.

WARNING! EXCEEDING 16383 CYLINDERS WILL LOCK-UP YOUR DISK DRIVE. Our formula: x * y * z = s. Where x is the number of cylinders (x cannot exceed (2**14) - 1 = 16383), y is the number of heads, z is the number of sectors per track, and s is the total number of sectors available on the drive. By setting y = 1, we get the following:

x * 1 * z = s, or x * z = s. By further setting x = 16383, we get: 16383 * z = s. Solve for z (number of sectors per track): z = s / 16383. For example:

Western Digital AC 418000 (18.2GB) - Total sectors = 35,239,680. 35,239,680 / 16383 = 2150.99 = 2150

NOTE: All results must be rounded down. Solaris reserves three cylinders, so making x smaller would end up wasting space. Create a file called "geometry" like the following (using our example above) where NSECT is the value solved for z (2150): * Label geometry for device /dev/rdsk/c0d0p0 * PCYL NCYL ACYL BCYL NHEAD NSECT SECSIZ 16383 16383 2 0 1 2150 512 Run fdisk in Solaris using the new geometry file:

fdisk -S geometry -I /dev/rdsk/c1d0p0

Replace "/dev/rdsk/c1d0p0" with your raw disk device (The trick is to let fdisk ignore the geometry reported by the BIOS and use the geometry specified in file "geometry" instead). From here on, you can format, partition, and make filesystems on the drive in the usual manner.

For details see the fdisk(1M), prtvtoc(1M), and fmthard(1M) man page.

[Thanks to Pete Howell and Jürgen Marenda]

(5.9) How do I install or use the "2 of 2" installation CD?

For Solaris 8 or 9, the "2 of 2" CD has the "man" pages and less frequently installed packages than the "1 of 2" CD. The "2 of 2" CD is not bootable. During installation, leave the "1 of 2" CD in the tray and switch the BIOS from CD to HD during reboot. The WebStart progress meter is inaccurate and can catch you unprepared if you are using auto-reboot (I recommend to not use the WebStart CD and install with the "1 of 2" CD). The ASCII progress meter, from the "1 of 2" CD is fine. After rebooting, if the "1 of 2" CD is in the tray then the system will eject it and ask for "2 of 2" CD. Otherwise use the trivial manual installation procedure given in the "Release Notes", the little white book that came with the CD's. Or use /usr/sbin/pkgadd to install individual packages.

Solaris 10 uses a different method. Use type 4, "Solaris Interactive Text (Console session)."

[Thanks to Paul Karagianis]

(5.10) How do I install or use the documentation CD?

The AnswerBook documentation CD that comes with Solaris is is very useful. To use it with Solaris 8, you have to run the Answer Book 2 Server cd. To do this, run the ab2cd script on the CD as root. For example: cd /cdrom/sol_8_doc/; ./ab2cd Then open your browser and enter the URL http://localhost:8888/

[Thanks to Daniel Chirillo & Dave Uhring]

(5.11) Help! I get a "No VTOC" or cannot mount error installing Solaris.

"VTOC" is a disk volume table of contents. That is, it describes Solaris disk slices and, for Solaris x86, resides at the start of the Solaris fdisk partition. The VTOC contains information on Solaris slices within the Solaris fdisk partition.

If you get a message similar to one of these: "Can't open -- No VTOC" or "can't open - no hsfs VTOC" you've probably told the install program the wrong location of the installation CD. A common error during installation is answering this question wrong: "Select one of the identified devices to boot the Solaris kernel." What it's really asking is the location of the Solaris installation CD, not where you're planning on installing Solaris on the hard disk.

Also, make sure to remove the CD before rebooting.

For other installation hints, see http://www.execpc.com/~keithp/bdlogsol.htm

[Thanks to Keith Parkansky]

(5.12) Help! Install hangs at "Discovering additional network configuration"

Solaris 10 appears to be looking for some a Solaris JumpStart server, which isn't there. It appears to "hang" forever if it can't find one. One possible cause is if there is another NIC present, with the wrong NIC being used in booting. The workaround is to remove or disable all NICs except the one being used to install (including NICs integrated in the motherboard).

Another workaround is to wait around for the "Accept Initial Configuration" screen. Before it times out in 30 seconds, select "Edit the Configuration," even if you're not making any changes, and save the configuration. Do not "test" the configuration--that may hang. Run kdmconfig after Solaris is installed to get X working. The installation may continue.

A last workaround is to install using type 4, "Solaris Interactive Text (Console session)". This option does not start X, so avoids any X mis-configuration problems. Use kdmconfig after installation to get X working or to change configurations.

(5.13) Can I just buy a Solaris x86 system instead of installing it myself?

Yes, of course—Sun will gladly sell you hardware. It will save you time, at the expense of money. I suggest a Sun Java Workstation with a AMD Opteron 64-bit processor and Java Desktop System software as an entry-level system. Currently, it's under $2000 US. Server blades are also available. See http://store.sun.com/ for details.

(5.14) What's the difference between a Solaris HW and Update release?

A HW release (for example Solaris 10 HW2) only adds support for specific hardware platforms. They are only fully tested for the new platforms that's being supported. A Update release (for example Solaris 10 06/06) contains hardware updates along with bug fixes and new features. If you only want recommended and security fixes, use the Recommended and Security Patch cluster (which requires a service contract) or download individual patches (free).

[Thanks to Alan Coopersmith]

(5.15) How can I use GRUB to boot Solaris/x86?

Starting with Solaris 10 06/06, Solaris uses GRUB to boot directly. That means you can have multiple instances of Solaris and other operating systems. Note that Linux GRUB cannot yet boot directly to Solaris (although Linux GRUB can chainload to Solaris GRUB). Also, Solaris GRUB can boot to Solaris or non-Solaris operating systems. For more info, see the Solaris GRUB FAQ at http://www.sun.com/bigadmin/features/articles/grub_boot_faq.html

Here's an example for GRUB's, a GNU bootloader popular with Linux. To use, add something like this to file /boot/grub/grub.conf :

# Solaris 10 FCS, or Solaris 9 or earlier: title Chainload from Linux to Solaris rootnoverify (hd0,1) makeactive chainloader +1

With Solaris 10 Update 1, GRUB is integrated int Solaris x86. Grub is configured during installation or by bootadm. The following /boot/grub/menu.lst entry can be used with Solaris GRUB, but not Linux grub (until it's updated with the new Solaris-specific stuff):

# Solaris 10 U1 or later: title Solaris 10U1 root (hd0,2,d) kernel /platform/i86pc/multiboot module /platform/i86pc/boot_archive

If the GRUB loader isn't installed or if it's removed after installing another OS (such as Solaris or MS Windows), run /sbin/grub-install on your boot disk (e.g., /sbin/grub-install /dev/hda ).

[Thanks to Mariusz Zynel and BigAdmin]

First, you can install Solaris on multiple times on a Solaris partition. Each time, use a different slice. You can have up to 9 slices, 0 - 9 (or a - j). Slice 0 (a) is traditionally used for root, 1 (b) for swap space, 2 (c) is reserved for the entire Solaris partition, and 7 (i) is typically for /export/home. So, that leaves slices 3 (d) - 6 (h), 8 (j), and 9 (k). After installing Solaris in another slice, add entries similar to the following (depending on the slice(s) you've used). Change (hd0,0,a) as appropriate: change hd0 to hd1 if this is the second disk, change ",0," to 1-3 if this is the 2nd-4th disk partition, and change "a" to a through i for the Solaris disks slice:

title Solaris Slice 0-A root (hd0,0,a) kernel$ /platform/i86pc/kernel/$ISADIR/unix module$ /platform/i86pc/$ISADIR/boot_archive title Solaris Slice 3-D root (hd0,0,d) kernel$ /platform/i86pc/kernel/$ISADIR/unix module$ /platform/i86pc/$ISADIR/boot_archive title Solaris Slice 4-E root (hd0,0,e) kernel$ /platform/i86pc/kernel/$ISADIR/unix module$ /platform/i86pc/$ISADIR/boot_archive

kernel /platform/i86pc/multiboot module /platform/i86pc/boot_archive

With the lu* commands. Solaris Live Upgrade (LU) allows one to clone the current "Boot Environment" (BE), which in the most simple case is the root filesystem. Then with LU, you can upgrade the cloned BE without rebooting. Only after LU is complete do you need to reboot—reducing downtime. Here's a simple example:

lucreate -m /:/dev/dsk/c0d0s4:ufs -n second_root lustatus luupgrade -u -n second_root -s /media/SOL_11_X86 lustatus luactivate second_root lustatus

/boot/grub/menu.lst

For more information, see:

http://sun.drydog.com/faq/

(6.0) POST-INSTALLATION (CUSTOMIZATION)

(6.1) How do I add additional drives?

First, you must have Solaris scan for the new drive. Become root and type: " touch /reconfigure; /usr/sbin/shutdown -i6 " This rebuilds the /devices/ and /dev/ directories.

ATAPI and SCSI the drives are already low-level formatted. If you wish to format a SCSI you can use /usr/sbin/format that comes with Solaris. A second drive install would use format.

To create and use a filesystem:

Select the disk

/sbin/fdisk (select the whole disk or partial for format)

(select the whole disk or partial for format) Write the label with the "label" option partition, check the partition arrangement

Create a filesystem with /usr/sbin/newfs on the drive. E.g. " newfs /dev/rdsk/c0t1d0s0 " creates a filesystem on the the whole drive with SCSI ID 1.

on the drive. E.g. " " creates a filesystem on the the whole drive with SCSI ID 1. Create your mount point directory, if it doesn't exist. For example, mkdir -p /local

mount the partition on your favorite mount point directory. For example, mount /dev/dsk/c0t1d0s2 /local mounts slice 2 of disk 0 of SCSI ID 1 of SCSI controller 0 at /local .

mounts slice 2 of disk 0 of SCSI ID 1 of SCSI controller 0 at . Add a line to your /etc/vfstab file. See the vfstab man page for details. For example:

/dev/dsk/c0t1d0s2 /dev/rdsk/c0t1d0s2 /local ufs 1 yes -

[Thanks to Bob Palowoda's FAQ and Sonny Leman]

(6.2) + How do I add or configure users, printers, serial ports, software, etc.?

For Solaris 11 use the System-->Preferences and System-->Administration menu options in GNOME.

For Solaris 10 use Solaris Management Console (/usr/sadm/lib/smc/bin/smc) from X Windows. An alternative are several command line programs in /usr/sbin such as lpadmin, stty, and useradd.

To disable the banner pages permanently perform one of the following steps:

/usr/sbin/lpadmin -p QUEUENAME -o banner=never

The new Solaris Express printmgr banner selection has a pulldown menu with "always", "never", and "user selectable"

[Thanks to Norm Jacobs]

(6.4) How do I set up an HP-compatible printer to print PostScript files?

Solaris 8 has this ability with Print Manager, /usr/sadm/admin/bin/printmgr , Note that higher-end HP printers (e.g., LaserJet IV) support PostScript directly. Also, Michael Riley reminds us that EPP and ECP printer modes are unsupported.

Before you do any of this, try printing a plain text file (such as /etc/motd ) to the printer.

John Groenveld provides the following instructions for Solaris 8. It assumes you have a working Ghostscript with a driver for your printer and that it's attached to /dev/lp1 ( /dev/lp0 on some systems). With Solaris 8, USB printers are assigned logical device names /dev/printers/[0..N] The printer queue in the example below is called " lj6l_ps "

# Test your driver: # (gs may be in /usr/csw/bin/gs, /usr/local/bin, or /opt/gnu/bin, depending # on who built the Solaris package) /usr/csw/bin/gs -q -dSAFER -dBATCH -dNOPAUSE -sDEVICE=laserjet \ -sOutputFile=/dev/lp1 /opt/csw/share/ghostscript/examples/alphabet.ps # Create the printer filter definition # (the "Command:" line is 1 line--it may be broken up below): cat > /etc/lp/fd/laserjet.fd <<eof Input types: postscript Output types: laserjet Printer types: any Printers: any Filter type: fast Command: /opt/csw/bin/gs -q -dSAFER -dBATCH -dNOPAUSE -sDEVICE=laserjet -sOutputFile=- - eof # Test: /usr/ucb/lpr -Plj6l_ps -h /opt/csw/share/ghostscript/examples/alphabet.ps # Add the filter name to the filter table: chown lp:lp /etc/lp/fd/laserjet.fd chmod 664 /etc/lp/fd/laserjet.fd lpfilter -f laserjet -F /etc/lp/fd/laserjet.fd # Configure the printer to use the LaserJet filter: lpadmin -p lj6l_ps -I laserjet # Stop the data stream to the printer from being modified: lpadmin -p lj6l_ps -o stty="-opost" # Enable the printer to accept jobs: accept lj6l_ps enable lj6l_ps # Retry (if needed): # If something goes wrong (such as using an incorrect command path # in laserjet.fd), try deleting the printer destination and starting over # after making your corrections: lpadmin -x lj6l_ps lpadmin -p lj6l_ps -v /dev/lp1 -o nobanner

After it's working you may want to set the default printer with the LPDEST and PRINTER environment variables in your startup script (~/.login or ~/.profile) and with " lpadmin -d "

Update: Norm Jacobs adds: Solaris 9u6 and later contain a number of open source packages including Foomatic, Ghostscript, gimp-print, hpijs, and some changes to the printmgr to make this considerably easier. If you turn on "command logging", in the tool from the file menu, you can see the lpadmin command that is used.

Another solution is Common UNIX Printing System (CUPS), which implements the Internet Printing Protocol (IPP), RFC 1179. IPP standardizes printing of multiple document formats. CUPS provides System V and BSD (lp & lpr) interfaces and supports PostScript with a modified version of Ghostscript. For Solaris x86 binaries and documentation, see http://www.cups.org/ See also the question below in this section on easy-to-use printing solutions. For configuring and enabling CUPS with Solaris 10, see my blog article at http://blogs.sun.com/DanX/entry/using_cups_print_server_for

[Thanks for additional comments from Mark Francis Villa]

(6.5) How can I improve disk and graphic performance?

Disk Performance (iozone)

A typical iozone test with 10 to 20 MB sequential file will give about 2 MB/sec. read/write on a 50 MHz ESIA system on a Maxtor 540SL (8.5 ms) drive with an Adaptec 2740 controller. You'll get a little better performance from a 90 MHz Pentium system. A fully thrashed system will see writes down to about 1 MB/sec. I noticed that the NCR 810/825, etc., seem a little more peaky in the performance specially on the PCI bus.

If you're using a fast wide SCSI controller such as the Adaptec 2940, use a wide SCSI drive for the system drive. These drives usually have double the throughput of the normal 8-bit drives, according to the iozone benchmark results, and they make the tmpfs fly.

Note: If you're using high speed spindle drivers for your boot driver, like 5400 and 7200 RPM drives, you may want to use "set maxpgio=60" for the 5400 RPM drive or "set maxpgio=80" for the 7200 RPM drives in your /etc/system file. This causes the schedpaging to be more efficient. Enable by typing " touch /reconfigure; /usr/sbin/shutdown -i6 "

[Andrew Gabriel adds for ATAPI: Read about drive0_block_factor and drive1_block_factor in /platform/i86pc/kernel/drv/ata.conf (man -s 7D ata). Even my oldest ATAPI drives support drive0_block_factor=0x10 without any trouble.]

Starting with Solaris 8, DMA is disabled for ATAPI devices, as it caused installs to fail for several BIOSes. For Solaris 10, it is enabled, at least for me. It can be enabled with the " ata-dma-enabled " property from the GRUB menu ( -B ata-dma-enabled=1 ) After installation, you can also change this line in file /boot/solaris/bootenv.rc :

setprop ata-dma-enabled '1'

If you do this and you have a buggy motherboard chipset, your system won't boot. This happened to me. You can recover by booting in recovery mode and mounting the root filesystem (see the answer in this FAQ about recovering from forgotten root passwords). Buggy chipsets include those with the VIA chipset and ASUS PA5 motherboards. For more details, see the Solaris 8 Intel Release Notes.

Graphic Performance (xstone) Xstones is a little more of a subjective measurement of graphics performance. The comp.unix.x.i386 newsgroup keeps up on the latest xstone performance on graphics cards for PC's.

[From Bob Palowoda's Solaris 2.4 x86 FAQ]

(6.7) How do I get Solaris to recognize generic network cards with well-known chipsets?

There are many new ethernet cards available at major retailers for under $20 using well-supported chipsets. Unfortunately, the cards on the Solaris HCL have been out of production for quite some time -- particularly the Intel cards. I was amazed how difficult it is to find hardware on the Solaris HCL.

First, save yourself a lot of trouble and see if there's a driver for your card somewhere. See if the card is listed on the Hardware Compatibility List (HCL) for the latest Solaris Maintenance Update (MU). The HCL is at http://www.sun.com/bigadmin/hcl/ I've had good luck with Intel NICs. Check for new and third-party drivers at http://www.Sun.COM/io_technologies/. Also check to see if there's a patch supporting your card.

A list of third-party drivers (mostly from hardware vendors) for Solaris x86 is at http://www.sun.com/io_technologies/ihv-drivers.html

If you have a Linksys LNE100TX or other NIC card, it may be supported by one of Garrett D'Amore's Ethernet drivers. See http://sol-enet.sourceforge.net/

More free Solaris NIC drivers are provided by Masayuki Murayama at http://homepage2.nifty.com/mrym3/taiyodo/eng/,

If there's no driver found above, here's what to do:

Install the card and watch the computer boot. Look for the list of devices in the BIOS summary screen. Write down the two 4-digit numbers. For the Intel card it was 8086 1030, the PCI/PnP vendor and device ID for the InBusiness card. Boot into Solaris. Open the /boot/solaris/devicedb/master file and look for the vendor ID you wrote down. In this example, the vendor ID is 8086 for Intel. Look through the file for devices that closely fit the description of your device under the vendor ID. One of them for this card happens to be iprb for the Intel 82559 chipset which is listed as:

pci8086,1029 pc8086,1029 net pci iprb.bef "Intel Pro 100/B Fast Ethernet" If you're confident that you have a reasonable match, add a new line to this file that uses the vendor ID and device that you wrote down: pci8086,1030 pc8086,1030 net pci iprb.bef "Intel 82559 You Bonehead" Open the /etc/driver_aliases file and add a line for the card:

iprb "pci8086,1030" Type " devlinks ". Type " touch /reconfigure ". Restart. Hit ESC in the the Device Configuration Assistant phase of the boot process and ask it to scan for new devices. It should find your device and display the name you typed in in step (3) above. This step is crucial--the DCA step in the boot process is where some important magic happens. Once the system is finished booting, note the magic appearance of /dev/iprb (or whatever your device is called) and experience joy. Type " ifconfig iprb0 plumb " to wake it up. Edit a file called /etc/hostname.iprb0 and put your hostname into it. (if you use IPv6, also add /etc/hostname6.iprb0 ). Type " touch /reconfigure " just for good measure and restart a final time. If you are using Solaris 11, /etc/hostname.* files are ignored (use netcfg(1M) and netadm(1M instead).

As another example, these entries (in /etc/driver_aliases and /boot/solaris/devicedb/master ) support both the 905C and 3C980 card, using the elxl driver:

elxl "pci10b7,9200" elxl "pci10b7,9800" pci10b7,9200 pci10b7,9200 net pci elxl.bef "3Com 3C905C-TX-M El XL 10/100" pci10b7,9800 pci10b7,9800 net pci elxl.bef "3Com 3C980-TX El Server 10/100"

Finally, here's a partial list of the sub-$20 cards and their chipsets, but I am still looking for the proper driver for the super-cheap 100baseT chipsets from Realtek and Macronix as used by some Dlink, Hawking, Netgear, and Linksys cards.

dnet: SMC, Sohoware, "tulip"

SMC, Sohoware, "tulip" iprb: Intel (most)

Intel (most) nei: 10baseT NE2000 clones on the PCI bus (Linksys, AT/LANTIC)

Another good set of instructions, particularly for newer generations of supported NICs, is at http://solaris-x86.org/documents/tutorials/network.mhtml which is based on Keith Parkansky's http://my.execpc.com/~keithp/bdlogsol.htm#install

[Thanks to Casper Dik, Bruce Adler, and Kriston]

(6.8) How do I change the IP address or hostname or both on Solaris/x86?

See the instructions in " man sys-unconfig " Basically, sys-unconfig unconfigures the machine to make it ready to be configured again on reboot. It's a lot easier and less error prone than the usual dozen or so steps required to purge the old IP address.

For the thrill-seekers among us, you can also do it "by-hand" by editing these files (possibly more?) with your fav. editor:

/etc/nodename Solaris 10: Update if the hostname changed. Use command "hostname" to set hostname until the next reboot. Solaris 11: To set: svccfg -s identity:node setprop config/nodename="newname" svcadm restart identity:node /etc/defaultdomain Solaris 10: Set the default NIS domain name, if any Solaris 11: Use netcfg. /etc/defaultrouter Solaris 10: Set the default router's IP address if different For Solaris 11 use netcfg (example below) or " route -p add default 192.168.0.1 " (change 192.168.0.1 to your default router IP address) /etc/hostname.le0 (change le0) Update if the hostname changed. For Solaris 11 use netcfg or ipadm (examples below). /etc/hostname6.le0 (change le0) Ditto, if you use IPv6. For Solaris 11 use netcfg or ipadm (examples below). /etc/dhcp.le0 (change le0) Touch if using DHCP or remove if not using For Solaris 11 use netcfg or ipadm (examples below). /etc/hostname6.ip.tun0 Update if you use a IPv4/IPv6 tunnel (e.g., 6bone) For Solaris 11 use netcfg or ipadm (examples below). /etc/nsswitch.conf Update if your name resolution method/order changed. Copy /etc/nsswitch.dns to /etc/nsswitch.conf if you use DNS instead of (rarely used) NIS. For Solaris 11, make this persistent by typing: nscfg import -f name-service/switch svcadm refresh name-service/switch /etc/resolv.conf Update if your name servers/domain changed (DNS only). For Solaris 11, make this persistent by typing: nscfg import -f dns/client svcadm refresh dns/client /etc/inet/hosts Make sure your IP address is updated or added here. List your FQDN is first, before the short hostname. E.g., "192.168.128.64 foo.bar.com foo" /etc/inet/netmasks Set your network number & netmask, if it changed. /etc/inet/networks Set your network name, if it changed. Obsolete Files /etc/net/ticlts/hosts, /etc/net/ticots/hosts, /etc/net/ticotsord/hosts Solaris 10: For streams-level loopback interface. For Solaris 11, /etc/net/tic* files are no longer used. /etc/inet/ipnodes Solaris 8 & 9: IPv6 version of hosts file For Solaris 10+ use /etc/inet/hosts

By default, DHCP is used to get the IP address and other networking information. Here's how to set a static IP address, if desired, using netcfg(1M) or ipcfg(1M) in Solaris 11.

# netcfg netcfg> create -t automatic ncp myncp netcfg:ncp:myncp> list NCUs: phys net0 ip net0 netcfg:ncp:myncp> select ncu ip net0 netcfg:ncp:myncp:ncu:net0> list ncu:net0 type interface class ip parent "myncp" enabled true ip-version ipv4,ipv6 ipv4-addrsrc dhcp ipv6-addrsrc dhcp,autoconf netcfg:ncp:myncp:ncu:net0> set ipv4-addrsrc=static netcfg:ncp:myncp:ncu:net0> set ipv4-addr=192.168.0.133/24 netcfg:ncp:myncp:ncu:net0> set ipv4-default-route=192.168.0.1 netcfg:ncp:myncp:ncu:net0> end Committed changes netcfg:ncp:myncp> end netcfg> end # netadm enable myncp Enable ncp 'myncp'

Here's another way to set a static IP address "Automatic" configuration

# netadm enable -p ncp defaultfixed # ipadm show-if # ipadm create-ip net0 # ipadm create-addr -T static -a local=192.168.0.133/24 net0/v4static1

(6.9) How do I configure another serial port, /dev/ttyb-ttyd (COM2-4)?

Solaris 2.6 and above configures the second serial port automatically. If you just added a serial port type the following:

touch /reconfigure; /usr/sbin/shutdown -i6

If the serial port isn't present after rebooting, follow these instructions:

For Solaris 10+, use sacadm . For Solaris 7 - 9, use admintool and select "Browse-->Serial Ports."

If the steps above don't work, perform the following as root to add the second serial port. For other serial ports and internal modems follow the same steps but change the appropriate line in the /kernel/drv/asy.conf file.

Save a copy of file /kernel/drv/asy.conf to, say, /kernel/drv/asy.conf.orig

to, say, Edit file /kernel/drv/asy.conf to read: interrupt-priorities=12; name="asy" class="sysbus" interrupts=12,4 reg=0x3f8,0,0 ioaddr=0x3f8; ignore-hardware-nodes=1; name="asy" class="sysbus" interrupts=12,3 reg=0x2f8,0,0 ioaddr=0x2f8; and save.

to read: and save. Type " touch /reconfigure "

" Type " /usr/sbin/shutdown -i6 " to restart the system.

" to restart the system. After you get a message saying syncing file systems and no more [N] characters appear, turn your machine off and then turn it on again.

Verify the device is present with " ls -l /dev/ttyb "

" For details and for COM3 and COM4 instructions, see http://access1.Sun.COM/cgi-bin/rinfo2html?228402.faq

[Modified from Bruce Riddle's Solarisx86 2.5/Dialup PPP Configs FAQ; updates from Michael Wang]

(6.10) How do I disable Solaris/x86 from probing the UPS on COM2?

With the following command, ran as root:

# eeprom com2-noprobe=true

This (undocumented) option to the eeprom command disables boot-up time probing of COM2 (apparently done to detect modems). The eeprom command alters the Solaris boot sector. If the UPS is connected to a serial port during boot-up time, the UPS may go into self-test or shutdown or recalibrate. An alternate solution is to disconnect the serial cable during booting. With the obvious change, this also works for COM1. See also BugID 4038351.

[Thanks to Andy I. McMullin and John D. Groenveld]

Solaris 11 is only available as a 64-bit kernel (although 32-bit binaries and libraries are still supported). For Solaris 10, it normally boots into 64-bit mode on AMD64. You may want 32-bit for, say, a device driver that's 32-bit only. To boot into 32-bit mode, copy the Solaris entry in /boot/grub/menu.lst and add " kernel/unix " as the first argument on the multiboot line. For example:

title Solaris root (hd0,2,d) kernel /platform/i86pc/multiboot module /platform/i86pc/boot_archive title Solaris 32-bit root (hd0,2,d) kernel /platform/i86pc/multiboot kernel/unix module /platform/i86pc/boot_archive

[Thanks to Casper Dik]

If you don't know your timezone, look in /usr/share/lib/zoneinfo for subdirectories, which are supported timezone strings. The default value is "localtime." In Solaris 11, use (1 line):

svccfg -s system/environment:init setprop environment/TZ="US/Pacific"

Verify the value with

svccfg -s system/environment:init listprop environment/TZ

In Solaris 10 and earlier, edit /etc/default/init (linked to from /etc/TIMEZONE ). For example, " TZ=US/Pacific " (without the quotes).

For Solaris x86 (any version), if /etc/rtc_config exists, update the timezone there with the rtc(1M) command. For example,

rtc -z US/pacific

Don't run the rtc command if rtc_config doesn't exist. It's only needed for dual-booted systems that have MS Windows, which set the hardware clock to local time instead of UTC/GMT time.

On a per-user basis the time zone can be set in GNOME under

System-->Administration-->Time & Date.

(6.13) How do I configure Dynamic IP Addresses (DHCP)?

For Solaris 11, DHCP is used automatically. To change that, use netcfg(1M) and netadm(1M). For Solaris 10 and earlier follow these instructions.

Create empty files /etc/hostname. interface and /etc/dhcp. interface (instead of containing the IP address or hostname) where interface where interface is your Ethernet interface (e.g., le0 ). for example, as root: > /etc/hostname.le0 and > /etc/dhcp.le0 ).

If you are using PPP, do not specify an IP address in your pppd options file and use ppp0 as the interface.

In addition to the IP address, if you want the DHCP server to supply the hostname (normally not needed, as it should be in /etc/nodename), follow the steps in "DHCP Client Hostnames" in the System Administration Guide mentioned below.

For more information, see "DHCP" in the System Administration Guide "IP Services" chapter at http://docs.Sun.COM/ and http://www.rite-group.com/consulting/solaris_dhcp.html

[Thanks to Bruce Riddle, Wyatt Wong, and Ed Ravin]

(6.14) How do I configure my SoundBlaster or other sound card?

If you have a SoundBlaster PCI card, download Jürgen Keil's audio drivers at http://www.tools.de/solaris/audio/ It includes drivers for Soundblaster, and Intel ICH and VIA AC97 integrated chipsets. I've found it easy to use—just install the packages and reboot. Philip Brown also has a and older version of Soundblaster driver, which he worked on with Jürgen, which supports fewer devices. It's at http://www.bolthole.com/solaris/sbpci/

A commercial alternative to the above is to use 4Front Technologies' Open Sound System (OSS). It's available for a free trial for about 10 days. After that, it's $30, but well-worth the savings in time. For cards newer than SoundBlaster 16/32/Pro, it's the only choice. To use, download the tar.Z file from http://www.opensound.com/, extract, and run the install menu ./oss-install and let it auto-detect the sound card. Reboot (or at least sync), then run "soundon" to enable the driver manually (see file oss/Readme for how to enable automatically). OSS supports the widest variety of sound cards on Solaris. Don't use both Jürgen's driver and OSS at the same time--remove one and reboot before you decide to install the other.

The most difficult procedure is to use the Sun-provided sbpro driver. It works only for old ISA SoundBlaster cards. I recommend not doing this. Instead, buy a sound card supported by Jürgen's, Philip's, or OSS's drivers, instead of wasting your time.

To configure the old Sun sbpro driver become root and type: " touch /reconfigure; /usr/sbin/shutdown -i6 ". If this works, you should see two links under /dev/sound and be able to play .au files with audiotool

Run "prtconf -pv" to print the current system configuration: Node 0xf5a33500 compatible: 'pnpCTL,00E4,0' + 'sbpro' dma-channels: 00000001.00000005 interrupts: 00000005 model: 'Audio' name: 'pnpCTL,0045' pnp-csn: 00000001 reg: 8e8c00e4.19f815e8.00000000.00000001.00000220.00000010 .00000001.00000330.00000002.00000001.00000388.00000004 unit-address: 'pnpCTL,00E4,19f815e8' The device ID I want is CTL0045. This comes from the name line "pnpCTL,0045". There were a couple of other 'pnpXXX,DDDD' devices. This was the only one with the model "Audio". According to old Sun InfoDoc 15830, I used "CTL,0045" from above and updated /platform/i86pc/boot/solaris/devicedb/master as follows (no comma): < CSC0000|PNPB002|PNPB003|CTL0031|ESS1681 sbpro oth all sbpro.bef "Sound Blaster" - --- > CTL0045|CSC0000|PNPB002|PNPB003|CTL0031|ESS1681 sbpro oth all sbpro.bef "Sound Blaster" This is only an example. For Solaris 10, the CTL0045 entry is now present. Rebooted and rebuilt my devices: # touch /reconfigure; /usr/sbin/shutdown -i6 I also ran the Device Configuration Assistant (DCA) -- press Escape as soon as the machine boots, it will prompt you -- just to verify that the Sound Blaster showed up in the device list. It did as "Sound Blaster." Since I ran the DCA boot will get the -r arg anyways. When I boot /dev/audio was present. Yeah! I am currently listening to the Sunday Blues on real audio. For more information, type "man sbpro."

[Thanks to Park Byoung-Gi, Steve Krapp, Chris, Dave, Norma, Jürgen Keil, & Philip Brown]

(6.15) How do I enable the audio output from my CDROM to my SBPRO card?

Start audiocontrol then select "Record." Ha ha, "Record" really means "Sound Source ;-)." In the audiocontrol record window, select "Internal CD" (other choices are Microphone or Line in).

You must have audiocontrol running before starting your favorite CD player application. You can use GNOME, CDE, or open source players, such as xmcd. Robert Muir reports you can use this from the command line (non-X):

audiorecord -p internal-cd /dev/null &

[Thanks to Eugene Bobin and Robert Muir]

(6.16) Can I use Solaris/x86 to setup a "headless" server?

The answer is yes, it can be done, but it's BIOS dependent, since many BIOS chips won't boot up the system without the keyboard and video card. The console can be configured to go to serial ports as described below. Removal of video card is also BIOS dependent. Setup steps:

1. Set the serial line's Carrier Detect (CD) to HIGH and (for 2.6 only) set the serial line's Data Set Ready (DSR) to HIGH. If you don't--it won't boot. This can be done with a NULL modem or with the following 25-pin or 9-pin pinouts:

DTE A DTE B 25 (9) 25 (9) ------ ------ FG 1 (-) ------ 1 (-) FG TD* 2 (3) ------ 3 (2) RD RD 3 (2) ------ 2 (3) TD* CTS 5 (8) -+---- 20 (4) DTR* DSR 6 (6) -| +- 5 (8) CTS CD 8 (1) -+ |- 6 (6) DSR DTR* 20 (4) ----+- 8 (1) CD SG 7 (5) ------ 7 (5) SG RTS* 4 (7) (nc) 4 (7) RTS* RI 22 (9) (nc) 22 (9) RI * DTE (terminal/computer) driven (nc) = no connection

If the NULL modem is "incomplete", the boot process hangs shortly after starting the asy driver (after the message " asy0 