From: Dan Anderson 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: monthly Last-modified: 2001/07/17 URL: http://sun.drydog.com/faq/ Version: 2.19 Copyright: Copyright © 1997-2001 Dan Anderson. All rights reserved. Maintainer: Dan Anderson , 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 8 Intel? (3.10) + What's new for the next release of Solaris? (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) Are Microsoft Intellimouse mice supported? (4.16) What's the difference between Solaris x86 Server and Solaris x86 Desktop? (4.17) Solaris doesn't recognize all of my large (>40GB) ATAPI. For example, a 60GB disk shows up as only 28GB. (4.18) Is Solaris Intel 64-bit aware? (4.19) What's the difference between partitions and slices? (5.0) INSTALLATION (5.1) How long does the install take? (5.2) My ATAPI CD-ROM isn't recognized during install by Solaris' FCS MCB 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 documentation CD? (5.10) Help! I get a "VTOC" error installing Solaris. (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.6) + How do I get Solaris to recognize a NE2000 compatible NIC card? (6.7) How do I get Solaris to recognize generic network cards with well-known chipsets? (6.7) How do I change the IP address or hostname or both on Solaris/x86? (6.8) How do I configure another serial port, /dev/ttyb-ttyd (COM2-4)? (6.9) How do I disable Solaris/x86 from probing the UPS on COM2? (6.10) How do I set up Solaris/x86 to use PPP to connect to an ISP? (6.11) Is there any open source PPP that's easier to use than Sun's aspppd? (6.12) Is there any commercial PPP that's easier to use? (6.14) Help! My USRobotics Internal modem doesn't work with PPP. (6.15) PPP runs extremely slow. What's wrong? (6.16) How do I configure PPP using Dynamic IP Addresses (DHCP)? (6.17) How do I configure my SoundBlaster card? (6.18) How do I enable the audio output from my CDROM to my SBPRO card? (6.19) Is Solaris/x86 Year 2000 (Y2K) compliant? (6.20) Can I use Solaris/x86 to setup a "headless" server? (6.21) Can I get a Sun-style keyboard (Ctrl & Caps Lock reversed) for S/x86? (6.22) Can I run multiple terminals on the console of Solaris x86 like those supported on Linux, FreeBSD, Interactive Unix, and SCO? (6.23) How do I upgrade my video graphics card? (6.24) How to I burn a CD-R or CD-RW with Solaris? (6.25) Is IPv6 available for Solaris/x86? (6.26) Is IPsec available for Solaris/x86? (6.27) Is Kerberos 5 available for Solaris/x86? (6.28) Does Solaris x86 support multiple processors? (6.29) How do I uncompress a .gz file? (6.30) Why doesn't /usr/bin/cc work? (6.31) How do you get PGP 2.6.2 to compile on Solaris/x86? (6.32) How do you connect Solaris to @Home? (6.33) How do you setup Solaris to use Time Warner's RoadRunner service? (6.34) How do I force the speed and/or duplex of my network interfaces (ndd(1M) doesn't work)? (6.35) Why can't I create a home directory under /home? (6.36) Is Veritas file system available for Solaris Intel? (6.37) How to I use Zip and Jaz Drives for Solaris Intel? (6.38) How to I use Linux NIC drivers for Solaris Intel? (6.39) How to I add color to "ls" or "vi"? (6.40) How to I move the disk containing Solaris from the ATAPI primary master controller to the secondary controller or slave connector (or both)? (6.41) I've installed Solaris using Sun's brain dead disk slice defaults. How do I modify my slices? (6.42) How do I mirror root with Disksuite when /boot is a separate fdisk partition? (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 Intel? (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? (8.0) X WINDOWS (8.1) How do you install XFree86 on Solaris? (8.2) How do I configure 64K colors for CDE? (8.3) How do I Add Gnome, KDE, or other non-CDE Window (8.4) Where can I get GNOME or KDE packages for Solaris/x86? (8.5) Are TrueType fonts supported in Solaris? (8.6) How do I make XFree86 version 3.x- or XiG Xaccel 5.0.3- work with Solaris 8? (8.7) How do I disable CDE auto-start upon booting multi-user? (8.8) How do I su(1) to another user and run an X application? (8.9) Does Solaris Intel support multiple heads? (8.10) How do I get my 2-button mouse to emulate 3 buttons? (8.11) * How do I make the NumLock key go on automatically when I log in? (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) How can I use the Solaris boot manager to boot Windows NT? (9.4) How can I use System Commander to boot Solaris/x86 and other systems? (9.5) Can I install Linux and Solaris on the same drive? (9.6) How can I use LILO to boot Solaris/x86 on the primary slave ATAPI? (9.7) How can I use OS-BS or System Selector to boot Solaris/x86? (9.8) How can I boot both Solaris/x86 and Win NT on the same disk? (9.9) How do I mount a DOS partition from the hard drive? (9.10) Does PartitionMagic and BootMagic understand Solaris partitions? (9.11) How do I access a DOS-format diskette from Solaris? (9.12) Does Solaris mount and recognize MS Windows 9x/ME/2K/XP partitions with long file names (VFAT)? (9.13) + How can I make my Solaris files easily available to MS Windows 9x/ME/NT/2K/XP on a network? (9.14) How can I make my Solaris files easily available to an Apple Macintosh on a network? (9.15) How do I access a Mac diskette from Solaris? (9.16) What is WABI? (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 (ext2fs) partitions from Solaris? (9.25) What are some books on Wijdows NT/Solaris integration? (9.26) How can I view MS Word files in Solaris? (9.27) I downloaded Internet Explorer (or Media Player) but it doesn't install. What's wrong? (9.28) Where can I get Netscape for Solaris Intel? (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? *New question since last month. +Significantly revised answer since last month. Copyright © 1997, 1998, 1999, 2000, 2001 Dan Anderson. All rights reserved. http://sun.drydog.com/faq/ _________________________________________________________________ (2.0) INTRODUCTION The Solaris x86 FAQ: Frequently-asked Questions about Solaris on Intel - 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 7 and 8 are also known as SunOS 5.7 and 5.8. 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 i386 (Roadrunner) is covered in Ralph Neill's FAQ, http://www.sunhelp.com/386i/faq.html. 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. PLEASE DO NOT ASK ME QUESTIONS THAT SHOULD BE ASKED OF SUN. Although I am now employed by Sun Microsystems, as of February 1999, I have never worked at Sun on this particular product. Nothing I say is endorsed or approved by Sun. If you suspect you have software defect problems, please call 1-800-SOFTSPT (1-800-763-8778 or 1-510-460-3267). If you have hardware problems call your hardware vendor. If you are outside the United States, contact your local Sun representative. PLEASE DO NOT ASK ME QUESTIONS THAT SHOULD BE POSTED TO alt.solaris.x86 or comp.unix.solaris. 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. Copyright © 1997, 1998, 1999, 2000, 2001 Dan Anderson. All rights reserved. Tous droits réservés. 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, the Sun logo, Sun Microsystems, SunSoft, the SunSoft logo, Java, Solaris, SunOS, and NFS are trademarks or registered trademarks of Sun Microsystems., Inc. 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 dan@drydog.com or https://dan.drydog.com/comment.html alt.solaris.x86 FAQ Maintainer San Diego, California, USA Copyright © 1997, 1998, 1999, 2000, 2001 Dan Anderson. All rights reserved. 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/intel/ Sun's web site for Solaris on Intel, contains pointers to Solaris Intel product information, updates, resources, news, etc. http://SolDC.Sun.COM/ Sun's Software Support and Education website. Has Intel maintenance updates (MUs), knowledge base, Hardware Compatibility List (HCL), device drivers, patches, and Device Configuration Assistant (DCA) boot diskette images. This website requires (free) registration to use. Links to Sun and 3rd-party drivers for Solaris x86 are at http://soldc.sun.com/support/drivers/ http://access1.Sun.COM/ site. Sun's download website for patches and various technical documents. MUs are at http://access1.Sun.COM/Products/solaris/mu/ (SolDC Registration (free) required for MUs). Public patches (and patch clusters) are at http://access1.Sun.COM/patch.public/ 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://sun.drydog.com/bookstore/ My Solaris online bookstore, in association with Amazon.com, where you can read reviews on selected Solaris books and order Solaris or other books. http://www.stokely.com/unix.sysadm.resources/faqs.sun.html#s86.fa qs.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/ S. Christensen's Solaris Freeware Page. Pointers to LOTS of x86 pre-packaged GNU and other open-source software. http://home1.swipnet.se/~w-10694/helpers.html Pointers to many Solaris viewers, players, and Netscape plug-ins. http://www.laxmi.net/cde.htm CDE (Common Desktop Environment) FAQ http://www.ibiblio.org/pub/packages/solaris/i86pc/ Selected Solaris Intel/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://fishbutt.fiver.net/ Bob Palowoda's Solaris x86 Corner, with tips and benchmarks. http://sun.drydog.com/ My Solaris Intel Webpage has includes a search engine that indexes selected websites containing Solaris Intel information, including those listed here. Also contains the latest version of this FAQ and my online bookstore (in association with Amazon.com). 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 or visit the eGroups' Solaris on Intel web page at http://www.groups.yahoo.com/group/solarisonintel/ 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 on Intel". _________________________________________________________________ (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. These are available at http://access1.Sun.COM/Products/solaris/mu/ (free access, but you must register with "solregis" or at http://SolDC.Sun.COM/ if you didn't during your Solaris install) Update (6/2001): MUs for Solaris 8 now require a service contract (that is, money$$$$$). Older Solaris 6 and earlier driver updates (DUs) are at http://SolDC.Sun.COM/support/drivers/ [Thanks to Alan Coopersmith] _________________________________________________________________ (3.4) Where can I obtain Solaris 2/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/ _________________________________________________________________ (3.5) How can I obtain freeware, shareware, and GNU software on a CD-ROM? 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/) * Interactive UNIX, SVR3.2-based (http://www.Sun.COM/software/ius/) * SCO OpenServer UNIX, SVR3.2-based (http://www.sco.com/) * SCO UNIXWare, SVR4-based (http://www.sco.com/) * BSD/OS (http://www.bsdi.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, Apple's Rhapsody, Tanenbaum's Minix, or ATT's Plan 9. Of course, Intel's 64-bit Itanium (Merced) or McKinley CPU families (or both) are coming. Sun, HP, SCO, and DEC are all porting their versions of UNIX, Solaris, HP-UX, UNIXWare, and Digital UNIX, to this chip. _________________________________________________________________ (3.7) What books are available on Solaris x86? For Unix system administration in general, I like Unix System Administration Handbook, 3d ed. by Evi Nemeth, Garth Snyder, Scott Seebass, and Trent R. Hein (Prentice Hall, 1995), ISBN 0-13-020601-7 http://sun.drydog.com/bookstore/#0131510517 Ron Ledesma has written PC Hardware Configuration Guide for DOS and Solaris (SunSoft Press, 1994), ISBN 0-13-124678-X, http://sun.drydog.com/bookstore/#013124678x. It's a well-written, but dated, book on setting up Solaris x86 on Intel Architecture. There's also Solaris 2.X for Managers and Administrators by Curt Freeland, Dwight McKay, Kent Parkinson, 2d ed. (1997), ISBN: 1-56690-150-2, http://sun.drydog.com/bookstore/#1566901502 The following two books by Janice Winsor cover Solaris 2.6 for SPARC and x86. They are from Sun Microsystems/Macmillan Technical Publishing. I find they cover the subject matter too lightly, but they may be good for beginners: Solaris System Administrator's Guide, 2d ed. (1998), ISBN 1-57870-040-X, http://sun.drydog.com/bookstore/#157870040x, and Solaris Advanced System Administrator's Guide, 2d ed., ISBN 1-57870-039-6, http://sun.drydog.com/bookstore/#1578700396, Other books are available on Solaris in general from SunSoft Books and on UNIX (with sections on Solaris) from O'Reilly and Associates. Hardcopies of Sun manuals are available as SunDocs from SunExpress. Please visit my on-line bookstore, http://sun.drydog.com/bookstore/, in association with Amazon.com, where you can order books on Solaris or any other topic. I get paid a few percent of most books ordered there. _________________________________________________________________ (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 e-mail other submissions to dan@drydog.com. _________________________________________________________________ (3.9) What's new for Solaris 8 Intel? Here's the more-notable improvements: * ISA and EISA device support is removed (use PCI!). * USB support * ACPI support * The 8G boot disk limit for ATAPI disks is removed. * Sun will add Pyramid/Siemens-Nixdorf's Reliability, Availability and Scalability (RAS) functionality and Reliant UNIX clustering and scalability into Solaris. NCR will add MP-RAS (diagnostics, remote support...). Fujitsu will add improved RAS and advanced diagnostics. * X11 R6.4 (Xinerama) * IPv6 (128-bit IP addresses) * Perl 5.00503 * Java 2 * gzip and lots of other GNU utilities * New drivers, such as for Adaptec Ultra2 This is a partial list. For more details, see _What's New in the Solaris 8 Operating Environment_ at http://docs.Sun.COM/. Some people don't like the "Java Webstart Installation." (which actually has nothing to do with the web!). However, you can still boot and install with the "Software 1 of 2" disk. Solaris 8 Intel removed the 8GB limit on IDE hard drives (SSCI has no such limit). Also, Solaris 8 requires 64MB or the installation will abort (the documentation is out-of-date). [Thanks to Igor Sobrado Delgado, Thomas Tornblom, William Malloy, Paul Carver, and Alan Coopersmith] _________________________________________________________________ (3.10) What's new for the next release of Solaris? Officially, the release after Solaris 8, variously called Solaris 8.1 or Solaris 9, will contain Integrated Java and Jini. Update (7/2001): According to an an article in CRN, Graham Lovell, director of Solaris Marketing at Sun says: "Solaris 9, which will be released in beta testing by the end of this summer [2001], will incorporate improved availability and manageability features for its new UltraSparc III-based line of servers, optimization code for Oracle's middleware, updated Linux libraries and optimization code that exploits the processing power and architectural enhancements of the Starcat server." Copyright © 1997, 1998, 1999, 2000, 2001 Dan Anderson. All rights reserved. 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 2.x for Intel? Solaris x86 is the version that runs on Intel-based PCs and servers. Requirements vary to release, but generally a 80486 processor or better is required with an ISA or PCI bus, 16 MB of memory, and 200-500 MB Disk. Many multi-processor boards are supported. You must have a CD-ROM drive or access to NFS over the network to install and a 1.44 MB floppy disk drive. 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://SolDC.Sun.COM/support/drivers/hcl/ For troublesome devices and cards, I find Solaris 7 (Intel Platform Edition) Device Configuration Guide at http://docs.Sun.COM/ab2/coll.214.4/HWCONFIG/@Ab2TocView? very useful. (if the link changed, go to http://docs.Sun.COM, click on "Installation & Setup," then "Installation Collection," then "Device Config. Guide." You'll also find the HCL and other guides. [Updated from Casper Dik's Solaris 2 FAQ] _________________________________________________________________ (4.3) What size disks and partitions should I have? If you install all of Solaris, with no AnswerBook2 on disk, you typically need to have 1 GB plus space for optional software and data and log files. This can be pared down (e.g., by not installing Asian fonts), 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 200 MB 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). _________________________________________________________________ (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 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 here 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: [\] 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 there scan rates. 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 release 2.6 and latter. Solaris 2.5.1 and earlier (even with the DUs), do NOT support PNP. PNP should be disabled and the card manually configured for the latter case. 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 Solaris 7 (Intel Platform Edition) Device Configuration Guide (mentioned above) 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" _________________________________________________________________ (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 for personal use (where "free" means the license is free--you pay only media, shipping, and handling cost), is available from here: For *.edu (Educational users): http://www.Sun.COM/edu/solaris/ For all others: http://www.Sun.COM/developers/tools/solaris/ I also have this link: http://www.Sun.COM/solaris/freesolaris.html For Solaris 8, the cost is US$75 for the media kit (CDROMs). This includes Solaris software, StarOffice 5.1, iPlanet, Netscape, Oracle8i, AnswerBook documentation, and a CD with a lot of GNU and other open source software. You can now (2/2001) download Solaris iso (CD) images for "free," without even paying media costs. The three iso images are about 800MB and are compressed with pkzip. See http://www.Sun.COM/intel/ for details. The download version includes everything but the Oracle CD, the Open Source "Software Companion" CD, and the StarOffice CD (the latter is available for download separately though). 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. _________________________________________________________________ (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 only in the commercial Sparc version of Solaris (it's available with XFree86 for Intel though). [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: 1. Download DOS program dd.exe, which is used to write the DCA image, from http://SolDC.Sun.COM/support/drivers/tools/ or ftp://ftp.uu.net/vendor/sun/solaris/x86/dd.exe 2. Download the DCA diskette image for the Solaris x86 version that you want to install (for example, S8_0101.3) from http://SolDC.Sun.COM/support/drivers/dca_diskettes/ 3. Run dd.exe to copy the image to the floppy diskette: dd.exe 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? I understand Solaris 7 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). [Thanks to Christopher Arnold and Steve] _________________________________________________________________ (4.14) Are Universal Serial Bus (USB) devices supported? Solaris 8 supports USB. However, not all devices attached to USB are supported. The HCL lists supported devices (see the answer about the HCL, above). _________________________________________________________________ (4.15) Is Microsoft Intellimouse or other scrolling mice supported? Partly (with native XSun). Configure it as a 3-button PS/2 mouse. The wheel won't scroll anything, but pressing the wheel down is the same as pressing the middle button. The same holds true for Logitech's MouseMan Wheel mice. Update: I understand the new version 1.2 of Intellimouse does not work with Solaris's XSun. However, XFree86 and Xi Graphics X Windows graphics card server software do support wheel mice [Thanks to Alan Orndorff]. _________________________________________________________________ (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] _________________________________________________________________ (4.17) Solaris doesn't recognize all of my large (>40GB) ATAPI. For example, a 60GB disk shows up as only 28GB. Apply patch 110202-01 from http://SunSolve.Sun.COM/ which fixes bug4353406 for Solaris 8. For Solaris 7, you can modify a patch by creating a directory called SOL_27 and duplicate the files and directories contained in SOL_28. [Thanks to EB] _________________________________________________________________ (4.18) Is Solaris Intel 64-bit aware? No. Due to the underlying Intel chip architecture, Solaris Intel is 32 bit. This also implies no support for filesystems with large (>2GB) files. I understand this will be supported for the upcoming Solaris for Intel's 64-bit Itanium chip. _________________________________________________________________ (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" You can only have four primary fdisk partitions in a x86 fdisk table. Solaris doesn't support logical drives in an extended fdisk partition. 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] Copyright © 1997, 1998, 1999, 2000, 2001 Dan Anderson. All rights reserved. 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 crontab This is my crontab, just do a "crontab -e" and save the file defaultroute If you have one for routing to a DNS server. df Save the output to keep an idea of my disk usage dfstab /etc/dfs/dfstab for shared file systems inetinit I modify my inetinit; not a standard industry practice. kshrc_bob A typical .kshrc for a user kshrc_root A root .kshrc mail Make a copy of the current mail directory passwd /etc/passwd file profile_bob A typical ksh .profile. Note that home directories are mounted on a separate drive so this type of file doesn't get destroyed during an initial install. profile_root A profile for root. sendmail.cf The system sendmail.cf that works for your system. That is if you didn't modify it. shadow /etc/shadow file vfstab /etc/vfstab filesystems [Modified from Bob Palowoda's Solaris 2.4 x86 FAQ] _________________________________________________________________ (5.2) My ATAPI CD-ROM isn't recognized during install by Solaris' FCS MCB and it's not in the HCL. What can I do? With at least older versions of Solaris (2.5.1 or before), you may have problems with ATAPI CD-ROMs either faster than 8x speed, connected to the secondary ATAPI, or connected to a sound card. I hear reports from multiple people, however, that this problem has gone away with Solaris 2.6. I understand the problem is related to the CMD640 ATAPI chipset. Consider disabling DMA for the CD-ROM. I find SCSI CD-ROMS are always a safe bet, as are CD-ROMS listed on the HCL. [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. [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. [From Bob Palowoda's Solaris 2.4 x86 FAQ] If you already have a OS installed on your hard drive (and that's most of you), the Webstart "Installation" disk will not work. Use the "Software 1 of 2" CD, which is also a bootable CD. 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." I would also add (temporary) disabling of these BIOS settings to this list: video cache, BIOS virus detection (boot block writes), "OS supports PnP", and UDMA mode. Disabling these settings may not be required for your hardware and BIOS, but it has helped for some hardware setups. Remember to reenable these after you installed Solaris. 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). _________________________________________________________________ (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] _________________________________________________________________ (5.6) Does Solaris x86 prefer to have the motherboard BIOS set to NORMAL or LBA for ATAPI disks? 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 returned by searches of sunsolve and access1. 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: 1. Set the drive mode to LBA in the BIOS setup. 2. Boot Solaris. WARNING! Continuing will destroy any partitions that are on this drive. 3. 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 4. 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). 5. 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 Juergen Marenda] _________________________________________________________________ (5.9) 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 7, 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_7_doc/; ./ab2cd Then open your browser and enter the URL http://localhost:8888/ [Thanks to Daniel Chirillo & Dave Uhring] _________________________________________________________________ (5.10) Help! I get a "No VTOC" error installing Solaris. "VTOC" is a disk volume table of contents. That is, it describes Solaris disk slices and, for Solaris Intel, 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] Copyright © 1997, 1998, 1999, 2000, 2001 Dan Anderson. All rights reserved. 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/reboot" 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) * 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 filessystem 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. * 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.? Use admintool from X Windows. For the "Keyboard Display or Mouse" use kdmconfig. _________________________________________________________________ (6.3) How do I suppress the banner page on my printer? To disable the banner pages permanently perform the following steps: 1. cd /usr/lib/lp/model 2. cp standard standard-nobanner 3. Use your favorite editor to edit file standard-nobanner. Around line 332, change this from: nobanner="no" to: nobanner="yes" 4. lpadmin -p PRINTERNAME -m standard-nobanner Note: unchecking the "Always print banner" box in admintool or running "lpadmin -p st -o nobanner" only allows users to submit print requests with no banners (lp -onobanner filenamehere), but doesn't suppress printing of banner pages by default. [Thanks to Youri N. Podchosov and Rob Montjoy's Sun Computer Admin. FAQ] _________________________________________________________________ (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, or admintool (select "Browse-->printers"). For older versions of Solaris, install GhostScript, then use GhostScript (gs) to filter PostScript files for output to HP LaserJet-compatible (PCL) printers. Add a filter description file in the /etc/lp/fd directory to call GhostScript. This technique works for any GhostScript-supported printer. Note that higher-end HP printers (LJ IV) also support PostScript directly. For details, see Alexander Panasyuk's GhostScript Solaris Printer HOWTO at http://cfauvcs5.harvard.edu/SetGSprinter4Solaris.html Before you do any of this, try printing a plain text file (such as /etc/motd) to the printer. Michael Riley reminds us that EPP and ECP printer modes are unsupported. John Groenveld provides these instructions: Here's the procedure I followed. It assumes you've got a working ghostscript with a driver for your printer and that it's attached to /dev/lp1 (/dev/lp0 on some systems). The printer queue in the example is called "lj61_ps" I see a problem with Alexander Panasyuk's HOWTO: he writes directly to the device in his filter, which print filters should not do. # Test your driver: /opt/gnu/bin/gs -q -dSAFER -dNOPAUSE -sDEVICE=laserjet -sOutputFile=/dev/lp1 \ /opt/gnu/share/ghostscript/5.50/examples/alphabet.ps # Create the printer: lpadmin -p lj6l_ps -v /dev/lp1 -o nobanner # Create the printer filter definition: cat > /etc/lp/fd/laserjet.fd <Serial Ports." For earlier Solaris versions, or 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 asy.conf file. This file is located at /kernel/drv/asy.conf (Solaris 8) or /platform/i86pc/kernel/drv/asy.conf (Solaris 2.6 and earlier). Solaris 2.6 and above: Edit file asy.conf with to read: #interrupt-priorities=12; # This line is present in Solaris 8 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; Solaris 2.5.1 and earlier: Remove the comment from the following line in file /platform/i86pc/kernel/drv/asy.conf: name="asy" class="sysbus" interrupts=12,3 reg=0x2f8,0,0 ioaddr=0x2f8; For all versions of Solaris: * Save the changed file, asy.conf * Type "touch /reconfigure" * Type "/usr/sbin/reboot" 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] _________________________________________________________________ (6.11) How do I set up Solaris/x86 to use PPP to connect to an ISP? "Life is too short for bad PPP software." --Celeste Stokely Setting up PPP with the system-default aspppd could be an exercise in torture. That's because it's based on the old BNU/UUCP communication software, which itself is infamously hard to set up. Of course, the hardware (modem and serial port) has to be set up correctly too. Make sure hardware flow control is enabled. The best documentation on it is Bruce Riddle's PPP Configuration for Solaris/x86 at http://www.riddleware.com/solx86/ppp-config.html Another good guide is at http://www.kempston.net/solaris/ Philip Brown has a script to automate asppp configuration at http://www.bolthole.com/solaris/configppp.sh For pointers to other references, see Stokely's "Serial Port Resources" at http://www.stokely.com/unix.serial.port.resources/ Also see Sun's "Expanding your Network with PPP" in the TCP/IP and Data Communications Administration, at docs.Sun.COM and "SunService Tip Sheet for SunPPP" (InfoDoc ID 11976). Here's some notes that may also help you out with Sun's aspppd: 1. Make sure you have the "Basic Networking" packages installed, otherwise pkgadd SUNWbnur and SUNWbnuu. 2. Insert IP addresses/host names into the /etc/hosts table. Your ISP needs to give you the names or you can look them up on the net. 3. Create /etc/resolv.conf, and add your domainname and nameserver lines. Your provider can provide the domainname (probably name-of-your-isp.com, unless they have a multi-location operation). The DNS nameservers goes on the nameserver lines, 1 per line. 4. Edit /etc/mail/sendmail.cf to use relay mailer ether, and relay host should be the smtp server. This hostname needs to be accurate. 5. Most news readers (like xvnews and Netscape) refer to the environment variable NNTPSERVER to find the NNTP server. Set that in your environment before invoking the reader. This can go in your .profile, .cshrc, or whatever, depending on what shell you use. 6. For the actual PPP connection, the only thing that counts is the machine you dial up to (most likely the gateway machine). You'll have to edit the /etc/uucp/{Systems, Dialers, Devices} with things like your preferred modem setup unless you like one of the defaults (one of my character flaws, I guess, I don't like any of them), dialing info for the gateway machine (note that our PPP is broken, and ignores the time-to-call field, disaster for a lot of us), and what serial port you have your modem connected to. Then edit the /etc/asppp.cf file to configure the ipdptp0 interface. Notes for the examples: I have my modem configured to power-on in the mode I like to use for my PPP configuration. DISABLE LOGINS ON THE MODEM PORT. I don't recall the nameserver IP address of my DNS server, so the example has a bogus address for /etc/resolv.conf. I also found that I had to put a delay at the end of the chat script in /etc/uucp/Systems (\d), or I couldn't get connected. Loopback problems and config error problems, caused by the remote system still being in echo mode on the line when my machine started sending the first PPP configure packets. Also, I have yet to find a 2.4 setup where ttymon grabs the line after PPP times out and disconnects (but before the modem has recognized a DTR-down condition (my speculation is that our streams stuff doesn't actually take DTR down)) causing the line to essentially be hung. This is avoided by not enabling ttymon on that port. In other words, in keeping with Sun's long tradition, truly bi-directional lines are a crapshoot on Suns. Examples for my home machine: /etc/hosts: 165.154.15.142 MyPCNameGoesHere 165.154.1.1 my-isp 127.0.0.1 localhost /etc/resolv.conf: domainname hookup.net nameserver 165.154.1.7 /etc/mail/sendmail.cf: # (Stuff not included here for brevity) . . . Dmether # (Stuff not included here for brevity) . . . DRmail.tor.hookup.net CRmail.tor.hookup.net # (Stuff not included here for brevity) . . . /etc/uucp/Dialers: wb144 =W-, "" \dAT\r\c OK\r \EATDT\T\r\c CONNECT /etc/uucp/Devices: ACUWB cua/0 - Any wb144 /etc/uucp/Systems (line split for readability; change the phone #): my-isp Any ACUWB 57600 555-2871 "" P_ZERO ogin: MyLoginNameGoesHere \ assword: MyPasswordGoesHere /etc/asppp.cf: ifconfig ipdptp0 plumb MyPCNameGoesHere my-isp netmask 0xffffff00 -trailers up path inactivity_timeout 900 interface ipdptp0 peer_system_name my-isp debug_level 8 default_route [Thanks to Dennis (from Bob's Solaris 2.4 x86 FAQ) and Wyatt Wong] _________________________________________________________________ (6.12) Is there any open source PPP that's easier to use than Sun's aspppd? Yes, PPPd. As you can see, aspppd, the Solaris-bundled ppp product, is difficult to setup and use ("infamous"). Part of the problem is it uses the old BNU/UUCP programs and configuration files, which are too general and weren't really intended for PPP. PPPd, which I use, has been ported to Solaris and is easier to configure, performs better, and is still free. It's available in binary and source from Peter Marelas at http://www.phase-one.com.au/solaris-x86/pppd/ PPPd 2.3.5 works for Solaris 2.6 - 8. More recent versions of PPPd are not required but are available (source only) from ftp://cs.anu.edu.au/pub/software/ppp/ Follow instructions in file README.sol2 to compile. I use PPPD with Solaris 7. PPPD 2.3.5 also works with 2.5.1 and 2.6. This product isn't designed for use with SMP machines. For Solaris 7, you can use the binaries compiled for Solaris 2.6 (not 2.5.1). If you compile on Solaris 7, you need to modify source file common/zlib.c to compile it. Change every definition of variable "u" to "u1". There's 5 occurrences at lines 4215, 4290, 4329, and 4337, and 4347. For example, change "inflate_huft *u[BMAX];" to "inflate_huft *u1[BMAX];". Besides PPPD, mentioned here, Andrew Gabriel mentions there's also DP (for Dialup PPP). DP documentation and source is available from http://www.acn.purdue.edu/dp/ I don't have any personal experience with this software. PPPD Configuration To configure, you set up a chat script to handle the ISP dialog and enter the phone number and other parameters in the pppd options file. Examples I use are below (files are in /etc/ppp unless otherwise mentioned). I removed files chap-secrets and pap-secrets, as I don't need them for my ISP. File connect-errors has error output, if any, from bad connections. File /etc/ppp/ip-down: #!/usr/bin/sh # Turn off IP forwarding /usr/sbin/ndd -set /dev/ip ip_forwarding 0 File /etc/ppp/ip-up: #!/usr/bin/sh # Turn on IP forwarding /usr/sbin/ndd -set /dev/ip ip_forwarding 1 File /etc/ppp/ppp-on: #!/usr/bin/sh # Set up a PPP link PEER=myisp LOCKDEV=ppp0 #PPPDOPTS=-d # uncomment for debugging if [ -f /etc/ppp/$LOCKDEV.pid ] ; then echo "PPP device $LOCKDEV is locked" exit 1 fi /usr/local/bin/pppd $PPPDOPTS call $PEER exit 0 File /etc/ppp/ppp-off: #!/usr/bin/sh # /etc/ppp/ppp-off # Shutdown a PPP link LOCKDEV=ppp0 # If the ppp pid file is present then the program is running. Stop it. if [ -r /etc/ppp/$LOCKDEV.pid ] ; then kill -INT `cat /etc/ppp/$LOCKDEV.pid` # If unsuccessful, ensure that the pid file is removed. if [ ! "$?" = "0" ] ; then echo "removing stale /etc/ppp/$LOCKDEV.pid file." rm -f /etc/ppp/$LOCKDEV.pid exit 1 fi # Success. Terminate with proper status. echo "ppp link $LOCKDEV terminated" exit 0 fi echo "ppp link $LOCKDEV is not active" exit 1 File etc/ppp/peers/myisp: cua1 # modem is connected to /dev/cua1 (cua0 may be a serial mouse) 115200 # bits per second (use 38400 or 57600 if this doesn't work) lock # Use a UUCP-style lock to ensure exclusive access crtscts # use hardware flow control noauth # don't require the ISP to authenticate itself modem # modem control line passive # wait for LCP packets connect '/usr/local/bin/chat -v -f /etc/ppp/peers/chat-myisp' noipdefault # remote PPP server must supply your IP address. # Remove if the remote host doesn't send your IP during # IPCP negotiation and uncomment the next: #204.94.88.94: # our ip address:gateway address (both are optional) defaultroute # use the ISP as our default route File etc/ppp/peers/chat-myisp: ABORT "NO CARRIER" ABORT "NO DIALTONE" ABORT "ERROR" ABORT "NO ANSWER" ABORT "BUSY" ABORT "Username/Password Incorrect" "" "ATZ" OK "ATDT555-2871" CONNECT "" "ogin:" "^Updan" "ssword:" "\qaardvark" The last two files require the most modification. Make sure to remove read permission ("chmod go-r chat-*") from chat-myisp, as it has your login and password information. Messages go to /var/adm/messages. A good PPP session should look something like this: Oct 24 22:47:49 dan.cts.com pppd[1439]: Connect: ppp0 <--> /dev/cua1 Oct 24 22:47:50 dan.cts.com pppd[1439]: local IP address 204.94.88.94 Oct 24 22:47:50 dan.cts.com pppd[1439]: remote IP address 205.163.84.83 Oct 24 23:08:52 dan.cts.com pppd[1439]: Connection terminated. Your "netstat -rn" output should have lines that look similar to this: Destination Gateway Flags Ref Use Interface -------------------- -------------------- ----- ----- ------ --------- 209.68.192.32 204.94.88.94 UH 1 1 ppp0 default 209.68.192.32 UG 1 1 Your "ifconfig ppp0" output should look similar to this: ppp0: flags=10008d1 mtu 1500 index 15 inet 204.94.88.94 --> 209.68.192.32 netmask ffffff00 For debugging pppd, I add the -d option to pppd (in ppp-on), add this line in /etc/syslog.conf, and restart syslogd (fields are tab-separated): daemon.* /var/adm/pppd.log Then, you get the chat script dialog captured to help isolate the problem. Print out and read the docs mentioned above if you have problems. Once the PPP link is working, you can enable DNS hostnames as follows: First, Modify this line in /etc/nsswitch.conf to something like: hosts: files dns Second, add lines similar to this in /etc/resolv.conf: domain PutYourISPDomainNameHere.com nameserver 192.188.72.18 nameserver 192.188.72.21 For more information, See "man pppd" and "man chat" and the FAQ and SETUP files provided with pppd. A helpful step-by-step guide is the Linux PPP HOWTO at http://www.linuxdoc.org/ The configuration file information is the same for Solaris, except change tty references from /dev/ttyS0 - ttyS4 to /dev/cua0 - cua4 . _________________________________________________________________ (6.13) Is there any commercial PPP that's easier to use? Yes. Solaris sells its "Solstice PPP" product with its server system. It requires a license for the server side (usually an ISP), but not for the client-side. Previously, you had to have access to the Solaris server CDROM to obtain the software. Solstice PPP is now available for free download from the Solaris 8 Admin Pack, http://www.Sun.COM/software/solaris/easyaccess/sol8.html Basically, to set up, you use the GUI program pppinit to set up the PPP link. You start and stop PPP with "/etc/init.d/ppp start" (and stop), as with aspppd, or use the GUI program ppptool. Solstice PPP is documented in the Solstice PPP AnswerBook at http://docs.Sun.COM/ and a easier to set up than aspppd and pppd. Progressive Systems, Inc. sells Morning Star PPP, probably the most successful third-party PPP commercial product. It's available for Solaris/x86 (and several other systems) for a 15-day evaluation from http://www.progressive-systems.com/ _________________________________________________________________ (6.14) Help! My USRobotics Internal modem doesn't work with PPP. If it's a WinModem, you're out of luck--That only works with MS Windoze and then only with special drivers. It's missing critical UART hardware that's emulated in proprietary software and hardware interfaces. WinModems (which run only on Windows) are less expensive to manufacture because they don't include a controller. Instead, they include proprietary drivers for Windows that offload processing to the CPU. For some reason (tell me if you know?), Internal PCI card modems all seem to be WinModems. If you're using aspppd, supplied with stock Solaris, you can either switch to another PPP product that works with USRobotics Internal Sportster modems, such as Solaris PPP (not free) or PPPd (free, see above) or try this: (from Alan Orndorff's "Solaris x86 Resources," http://www.solarisresources.com/): Modify your /etc/uucp/Dialers file in the following manner: Add P_ZERO to your modem definition string to set it to "no parity." E.g, hayes =,-, "" P_ZERO "" \dA\pTE1V1X4Q0S2=255S12=255\r\c OK\r \EATDT\T\r\c CONNECT _________________________________________________________________ (6.15) PPP runs extremely slow. What's wrong? Solaris 2.5.1 patch 101945-34+ has poor TCP performance over slow links, including PPP. Patches for this, Bug ID 1233827, are available from http://SolDC.Sun.COM/: * Solaris/x86 2.5.1: 103631 (IP) and 103581 (TCP) * Solaris/x86 2.5: 103170 (IP) and 103448 (TCP) Both these patches are in the Recommended Patches set. The "showrev -p" command shows what patches you have installed. [From Bruce Riddle's Solarisx86 PPP FAQ and Casper Dik's Solaris 2 FAQ] _________________________________________________________________ (6.16) How do I configure PPP using Dynamic IP Addresses (DHCP)? If you're using Solaris aspppd, you need a void entry in /etc/hosts and plumb it to do DHCP with PPP. Basically add this line to /etc/hosts: 0.0.0.1 void (Note: for Solaris 2.4 use 0.0.0.0 in lieu of 0.0.0.1) Change the ifconfig line in /etc/asppp.cf to link to void rather than the local machine IP entry in /etc/hosts. Then add "negotiate_address on" to your /etc/asppp.cf file. If you're using the open source pppd, simply don't specify an IP address in your pppd options file. If you're using the commercial Solaris PPP, keep the default of "none" when prompted for your IP address by pppinit. Edit file /platform/i86pc/kernel/drv/asy.conf. To use DHCP, either: (1) Add a file /etc/dhcp.ppp0 (where ppp0 is the name of your TCP interface shown in ifconfig; usually le0 for Ethernet) with the following suggested line: wait 60 Or (2) Edit files /etc/hostname.ppp0 (where ppp0 is the interface name) and /etc/nodename to be both empty (0-length) files, then /usr/sbin/reboot. For more information, see http://docs.Sun.COM/ (search for "DHCP") and http://www.rite-group.com/consulting/solaris_dhcp.html [Thanks to Bruce Riddle, Wyatt Wong, and Ed Ravin] _________________________________________________________________ (6.17) How do I configure my SoundBlaster card? If you have a SoundBlaster 16 PCI or SoundBlaster PCI128 card, download and install Philip Brown's Solaris sbpci driver available at http://www.bolthole.com/solaris/sbpci/ If the above doesn't apply (which is the case for older ISA cards), try the following procedure for Solaris 2.6 and higher. Become root and type: "touch /reconfigure; /usr/sbin/reboot". If this works, you should see two links under /dev/sound and be able to play .au files with audiotool (2.5.1 instructions follow): 1. 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". 2. According to 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" 3. Rebooted and rebuilt my devices: # /touch /reconfigure; /usr/sbin/reboot 4. 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. 5. When I boot /dev/audio was present. Yeah! I am currently listening to the Sunday Blues on real audio at http://www.sunday-blues.com/listen.html. If the above procedure fails for Solaris 2.6 or 7 (as it did for me), continue with the procedure below for Solaris 2.5.1. For Solaris 2.5.1: Edit file /platform/i86pc/kernel/drv/sbpro.conf as instructed in the file (note that the instructions were removed for Solaris 2.6 and above!). Usually, it's just adding "dma-channels-1,5" to the appropriate name="sbpro" line. Then "/touch /reconfigure; /usr/sbin/reboot" For example, given a SoundBlaster 16 or AWE32, the following specifies IRQ 5, Audio I/O Address 0x220, and 8 & 16 bit DMA channels 1 & 5: name="sbpro" class="sysbus" interrupts=5,2 reg=-1,9,0,1,0x220,0x14 type="SB16" dma-channels=1,5; For a SoundBlaster PRO, the entry looks like this (one DMA channel: 1): name="sbpro" class="sysbus" interrupts=5,2 dma-channels=1 reg=-1,1,0,1,0x220,0x14 type="SBPRO"; Leave the other numbers alone. Make sure these resources are configured for the card and are not used by other devices. For example, NICs and Parallel Ports often use IRQ 5, and token ring cards often use IOA 0x220. If you get an invalid interrupt message, try using "interrupts=5" in lieu of "interrupts=5,2", where "5" is your IRQ. For more information, type "man sbpro." 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). [Thanks to Park Byoung-Gi, Steve Krapp, Chris, Dave, Norma, Juergen Keil, & Philip Brown] _________________________________________________________________ (6.18) 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. I use workman, but you can try other open source players, such as xmcd. I haven't found a GUI CD player built-in with Solaris. Anyone? 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.19) Is Solaris/x86 Year 2000 (Y2K) compliant? Solaris 8 is Y2K OK out-of-the-box (so far). Solaris 7, 2.6, 2.5.1, 2.5, and 2.4 can be made Y2K-safe by applying a set of Y2K patches. These patches are available at http://sunsolve.Sun.COM/ Note these patches are required even though the January 1, 2000 rollover date has passed (it will still be Y2K or later!). Solaris/x86 Y2K information is available at http://www.Sun.COM/y2000/ Of the Y2K patches, only the make and sccs patch are in the Recommended Patches set. For Solaris/x86 Y2K recommended patches, see http://access1.Sun.COM/patch.y2k/ For the entire Y2K patch cluster for each Solaris release, see http://sunsolve.Sun.COM/pub-cgi/show.pl?target=patches/y2k-patche s This latter link may be restricted to registered or licensed users. I certainly didn't pay any money to access it though (other than the Solaris license). Y2K Patches exist for Solaris Intel 7, 2.6, 2.5.1, 2.5, and 2.4. Note that not all Y2K patches are in the "recommended" patch cluster for each release. The "showrev -p" command shows what patches you have installed. Anyone can download recommended patches. Non-recommended patches are not as serious and generally require registration to access and download. _________________________________________________________________ (6.20) 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: 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 is /isa/asy@1,3f8" or similar asy1/2f8 message). For details, see http://www.freebsd.org/handbook/hw-io.html ttyb): eeprom input-device=ttya output-device=ttya (just like SPARC? ;-) Update: Andrew Schwabecher reports that using "ttya" doesn't work. Instead, he adds these entries to /boot/solaris/bootenv.rc: setprop output-device com1 setprop input-device com1 For 2.5.1, add "set console = 1" to /etc/system. Steve Rikli adds the following simpler 3-pin alternative, in lieu of the above: I've found that, while the full NULL modem pinouts work just fine, a simple 3-pin (TD/RD/SG) pinout scheme will also work in Solaris 8 by issuing eeprom commands thusly: eeprom output-device=ttya eeprom input-device=ttya eeprom ttya-ignore-cd=true The kicker is the "-ignore-cd" variable, which doesn't seem to be present by default on a Solaris x86 install, unlike Solaris for SPARC hardware. But setting it does work and it does persist across reboot/power-cycle. In the absence of "ttya-ignore-cd=true" one does indeed need a full NULL modem pinout. [Thanks to John Weekley, Scott Wedel, Kenneth Wagner, Andy Spitzer, Kai O'Yang, Michael Wang, David Page, Andrew Schwabecher, and Steve Rikli] _________________________________________________________________ (6.21) Can I get a Sun-style keyboard (Ctrl & Caps Lock reversed) for S/x86? NuData's Workstation Express catalog has a Sun PC-style type 5 keyboard. The keyboard feels much more solid that a typical PC keyboard. It didn't work my Toshiba Tecra 740CDT laptop, but works for my desktop computer. The keyboard can be ordered from their web page at http://www.nudata.com/ The part number is #IZ100, and it needs either an AT (#IZ101) or PS/2 (#IZ102) adapter. Cost is $85 + $20 for the adapter. You can order a Sun USB keyboard and mouse that works quite well with Solaris 8 Intel. They are available from Sun Store, http://store.sun.com/, with the following part numbers: * US/Unix Type 6 USB Keyboard: 320-1273 ($65) * 3-button "crossbow" USB Mouse: 370-3632 ($35) If you don't want to buy any new hardware, you can use just software to switch Control_L and Caps_Lock keys. Create file $HOME/.xmodmaprc with: remove Lock = Caps_Lock remove Control = Control_L keysym Control_L = Caps_Lock keysym Caps_Lock = Control_L add Lock = Caps_Lock add Control = Control_L and add "xmodmap $HOME/.xmodmaprc" to your $HOME/.dtprofile file. For the adventurous electrician, there's a web page to show how to build and program a PCB to to drive a Sun Type 5/6 keyboard from a PC. This includes a PCB mask, source code, and instructions. See http://www.buzzard.org.uk/jonathan/ [Thanks to Don Christensen and Ian Hall-Beyer] _________________________________________________________________ (6.22) Can I run multiple terminals on the console of Solaris x86 like those supported on Linux, FreeBSD, Interactive Unix, and SCO? Maybe. Starting with Solaris/x86 2.4, they are no longer configured during the installation, but they still work if configured afterwards by hand. Starting with Solaris 8, they are removed. If you have Solaris 2.4 to 7, you can configure multiple virtual terminals back in yourself as follows: First, as root, verify the device's major number with grep: # grep -i chanmux /etc/name_to_major chanmux Second, verify the /dev/vt* entries are present (with ls -l /dev/vt*). If not present, add the /dev entries, substituting whatever you found with the grep output for : mknod /dev/vt01 c 1 mknod /dev/vt02 c 2 etc... Copy and paste the following to /etc/inittab (after the "co:" entry), and verify no line breaks are added: v1:234:respawn:/usr/lib/saf/ttymon -g -h -p "VT01 Login: " -T AT386 -d /dev/vt0 1 -l console v2:234:respawn:/usr/lib/saf/ttymon -g -h -p "VT02 Login: " -T AT386 -d /dev/vt0 2 -l console v3:234:respawn:/usr/lib/saf/ttymon -g -h -p "VT03 Login: " -T AT386 -d /dev/vt0 3 -l console v4:234:respawn:/usr/lib/saf/ttymon -g -h -p "VT04 Login: " -T AT386 -d /dev/vt0 4 -l console v5:234:respawn:/usr/lib/saf/ttymon -g -h -p "VT05 Login: " -T AT386 -d /dev/vt0 5 -l console v6:234:respawn:/usr/lib/saf/ttymon -g -h -p "VT06 Login: " -T AT386 -d /dev/vt0 6 -l console v7:234:respawn:/usr/lib/saf/ttymon -g -h -p "VT07 Login: " -T AT386 -d /dev/vt0 7 -l console To get init to reread inittab, either /usr/sbin/reboot, or issue the command: /usr/sbin/init q Now, Alt-PrintScreen F1 switches to VT01, Alt-PrintScreen F2 switches to VT02, etc. (if activated as above) Alt-PrintScreen P switches to the previous screen. Alt-PrintScreen N switches to the next screen. Alt-PrintScreen H switches to the X console screen (not Alt-PrintScreen F8). Press "Alt" and "PrintScreen" together then the next key (e.g., F3). This is also documented in Sun's FAQ 2245-02, http://access1.Sun.COM/cgi-bin/rinfo2html?244502.faq Sun's FAQ has three typos. In Step 2's example, replace the second "mknod /dev/vt01 c 1" with "mknod /dev/vt02 c 1" In Step 3, replace "co:" in the FAQ with "v1:" to "v7:" and remove the line breaks between "-T" and "AT386". The "PrintScreen" key is the same as the "SysReq" key. If you're using XFree86, you need to leave one VT open (usually VT07); otherwise XFree86 will not run. [Adapted from Casper Dik's Solaris 2 FAQ; XFree86 info from Gantry Zettler] _________________________________________________________________ (6.23) How do I upgrade my video graphics card? First see if you have the driver installed. They are listed when you run kdmconfig. If the driver is present, configure with kdmconfig. If it's a new card, see if it's listed in the latest driver updates for your Solaris release on http://access1.Sun.COM/drivers/ If listed, install the update. kdmconfig is ran automatically at the end of the update installation. Before changing cards, choose, from kdmconfig, the 16-color 640x480 VGA setting, which is the lowest-common denominator for VGA video cards. After switching cards and rebooting (verifying the VGA setting works for the new card) choose a higher setting with kdmconfig. See the Update Guide that comes with the update on specific installation instructions for the update. Generally, it's done as follows: (assuming the image downloaded from access1.Sun.COM is named vdu11image.Z and is in /tmp), type as root: # cd /tmp # uncompress du11vid2.Z ; cat du11vid1.bin du11vid2 | cpio -icvdum # zcat vdu11image.Z | cpio -icvdumB # ./installdu.sh _________________________________________________________________ (6.24) How to I burn a CD-R or CD-RW with Solaris? Use cdrecord (free) or commercial software. SCSI CD-R (Record once) and CD-RW (Read-Write many times) drives tend to be better supported than ATAPI drives. For details, see the Sun CD-ROM FAQ at http://saturn.tlug.org/suncdfaq/ and Jörg Schilling's cdrecord page at: http://www.fokus.gmd.de/research/cc/glone/employees/joerg.schilli ng/private/cdrecord.html _________________________________________________________________ (6.25) Is IPv6 available for Solaris/x86? Yes, starting in Solaris 8. See http://www.Sun.COM/solaris/ipv6/. For general IPv6 information, see http://www.ipv6.org/. If you wish to connect to the 6bone, an experimental, mostly tunneled IPv6 network, see http://www.6bone.net/ _________________________________________________________________ (6.26) Is IPsec available for Solaris/x86? Yes, for Solaris 8. See volume 3 of the System Administrator's Guide at http://docs.Sun.COM/ for more configuration information. Solaris IPSec supports AH (authentication) and ESP (encryption) headers, and "shared secrets" (manual keying), but not automatic (ISAKMP or IKE) keying. Adam Barclay adds these comments: * The ESP portion is not installed by default. You have to download supplemental encryption packages (SUNWcry, SUNWcryr, etc) from Sun http://www.sun.com/software/solaris/encryption/ * ipseckey is broken under Solaris 8 10/00 and at this point there doesn't appear to be a patch. In the meantime, I use an earlier release. * ndd queries may give misleading results if ipseckey hasn't been run. _________________________________________________________________ (6.27) Is Kerberos 5 available for Solaris/x86? Yes, for Solaris 8. See volume 3 of the System Administrator's Guide at http://docs.Sun.COM/ for more configuration information. The configuration files reside at /etc/krb5 and /var/krb5 and the binary files at /usr/krb5 and /usr/lib/krb5. Make sure you answer "y" to whether you want Kerberos during your Solaris install. Then, install SEAM (Sun Enterprise Authentication Mechanism, what Solaris calls Kerberos) from the Solaris 8 Admin Pack, freely downloadable from http://www.Sun.COM/software/solaris/easyaccess/sol8.html _________________________________________________________________ (6.28) Does Solaris x86 support multiple processors? Yes. Solaris x86 automatically detects multiple processors. The limit is at least 8 according to the HCL and by observation. The theoretical kernel limit (_ncp) is 21. Due to bus conflicts, there's diminishing returns as you increase the number of procs. psrinfo(1M) will print the status of your processors, mpstat(1M) will report the CPU usages, and psradm(1M) can be used to take processors offline. [Thanks to John Groenveld, Juergen Keil, Bob Palowoda, and Bruce Alder] _________________________________________________________________ (6.29) How do I uncompress a .gz file? With "gzip -d" (or gunzip, which is gzip linked to gzip). Solaris 8 has gzip. Solaris 7 or earlier does not come with gzip (it doesn't have zip either--only unzip). Gzip is available as a pre-compiled package from http://www.sunfreeware.com/ (use "pkgadd -d packageFileName" to install) and also as a tar file (to extract, type "uncompress gzip*Z; tar xvf gzip*.tar") at ftp://ftp.netscape.com/pub/unsupported/gnu/gzip-1.2.4.x86-sun-sol aris2.4.tar.Z _________________________________________________________________ (6.30) Why doesn't /usr/bin/cc work? Because it's just a front-end "stub" for the unbundled C compiler sold by Sun (SunPro C). You can also get the free GNU C compiler, gcc, in pkg add format from various locations, including the Solaris Software Companion CD and http://www.sunfreeware.com/. If you install gcc, I recommend that you rename or compress /usr/bin/cc and softlink (ln -s) /usr/local/bin/gcc (or /opt/sfw/bin/gcc or wherever it is) to /usr/bin/cc. By default, Solaris comes with support tools (such as make and libraries) in /usr/ccs/bin, /usr/ccs/lib and usr/include. If not, add the appropriate packages. For more information, see the "Software Development" section in Casper Dik's Solaris 2 FAQ. _________________________________________________________________ (6.31) How do you get PGP 2.6.2 to compile on Solaris/x86? PGP, or Pretty-good Privacy, is strong-encryption software for encrypting, decrypting, and digitally-signing files and data. I would steer clear of PGP 5 as it has compatibility problems. First, check to see if your version of PGP 2.6.2 has a bug. In file src/crypto.c, function make_signature_certificate(), the line: "byte . outbuf[MAX_BYTE_PRECISION+2];" To compile, change file makefile, at around line 116, as follows: $(CPP) $(ASMDEF) 80386.S > _80386.s to $(CPP) $(ASMDEF) 80386.S | grep -v '^# ' > _80386.s (Don't forget the leading tab character, cntl-i). Next, type: cd rsaref/install/unix; make; cd ../../../src; make solx86gcc (if you're using the Sun WorkShop compilers, change "gcc" to "cc" and remove "-traditional-cpp" in file makefile). As a reminder, the US Government considers PGP and other strong-encryption software a "munition" and prohibits the export of PGP software to countries other than the US and Canada without an export license. Certain other governments (e.g., France or Russia) even prohibit possession of encryption software. To use PGP, I hightly recommend Garfinkel's book, PGP: Pretty Good Privacy [Makefile patch from Joe Shamblin] _________________________________________________________________ (6.32) How do you connect Solaris to @Home? Grab this e-zine article "xDSL and cable modems" from: http://www.zdjournals.com/sun/9905/sun9951.htm (Inside Solaris, May 1999) The article covers instructions on enabling Solaris with a cable ISP. See also the next question on RoadRunner. At least for the the East Brunswick, NJ, servers, I had the easiest time with DHCP (not the static setup): /etc/hosts: 127.0.0.1 localhost CCxxxxx-A # where CCxxxxx-A is your hostname 24.x.x.x CCxxxxx-A loghost # where 24.x.x.x is your assigned I P /etc/nsswitch.conf: hosts: files dns /etc/resolv.conf domain ebnsk1.nj.home.com nameserver 24.3.196.33 nameserver 24.3.196.33 /etc/dhcp.elx0 (empty file) /etc/hostname.elxl0 (empty file) NOTE: replace "elxl0" with your NIC device name No /etc/defaultdomain, /etc/defaultrouter, or /etc/netmasks files are used. This info is handled by DHCP. Reboot and you're hooked up. Here's my (partially disguised) netstat -rn and ifconfig -a outputs: $ netstat -rn Routing Table: Destination Gateway Flags Ref Use Interface -------------------- -------------------- ----- ----- ------ --------- 24.x.x.0 24.x.x.x U 3 2 elxl0 224.0.0.0 24.x.x.x U 3 0 elxl0 default 24.x.x.1 UG 0 44 127.0.0.1 127.0.0.1 UH 0 236 lo0 $ ifconfig -a lo0: flags=849 mtu 8232 inet 127.0.0.1 netmask ff000000 elxl0: flags=4843 mtu 1500 inet 24.x.x.x netmask ffffff00 broadcast 24.x.x.255 [Thanks to Alan Lucero.] _________________________________________________________________ (6.33) How do you setup Solaris to use RoadRunner's cable modem service? RoadRunner uses General Instrument's SURFboard or other cable modem hooked up to a coax cable on one side and a straight-through Ethernet cable on the other side. The real throughput is about 6-MB/sec. on downlinks and 768KB/sec. on uplinks. The cable modem looks like a router to your computer. RoadRunner configures home systems with Dynamic Host Configuration Protocol (DHCP), which provides the IP address, default route, and name servers. RoadRunner only supports Windows and Macs, but it works fine with Solaris (they just won't help you setup or diagnose Solaris DHCP). You need Solaris 2.6 or higher for DHCP. To set it up for Solaris, follow these steps, as root: 1. "touch /etc/dhcp.iprb0" (replace the ".iprb0" with whatever the ethernet interface for your system might be, as shown by "ifconfig -a") 2. "cp /dev/null /etc/hostname.iprb0". You need to make *SURE* that this file is EMPTY - otherwise, DHCP configuration won't work. 3. Make sure that /etc/inet/hosts only has one line in it, the one containing "127.0.0.1 localhost". Any other lines will be ignored, and any additional necessary lines will be added by the DHCP client at boot time. 4. "touch /etc/notrouter" - this creates a file to tell Solaris that your system will not be performing routing or packet-forwarding duties (if that's the case in your situation). If it already exists, good. Leave it be. 8-) 5. "cp /dev/null /etc/defaultrouter" - since the DHCP client software will automatically put the needed entries in this file, we just need to make sure that it exists as an empty file. If it already exists, rename it and create the empty file in its place. 6. "cp /dev/null /etc/resolv.conf" - again, the necessary entries will be added by the DHCP client. If you already have this file, rename it and create an empty file in its place. 7. Edit the file /etc/nsswitch.conf, and look at the "hosts:" line. By default, it reads "files"; change it to read "hosts: files dns". This will enable your machine to resolve addresses using DNS, the Domain Name System. Once you've performed these steps, your machine is ready to get its networking information via DHCP. The easiest way to do this is to reboot your machine. You will see status messages during boot about the DHCP client, this is normal. Once the machine is booted type the "ifconfig -a" command. You will see output similar to this: $ ifconfig -a lo0: flags=849 mtu 8232 inet 127.0.0.1 netmask ff000000 iprb0: flags=4843 mtu 1500 inet 24.93.53.4 netmask ffffff00 broadcast 24.93.53.255 ether 8:0:20:1b:1:72 The entry we're concerned about is iprb0 (lo0 is the dummy loopback interface); just make sure that its configured via DHCP, and that an IP address and broadcast address was assigned. You can also check the /etc/resolv.conf and /etc/defaultrouter files to make sure they were configured by the DHCP client. Type "nslookup sun.drydog.com" to test that /etc/nsswitch.conf and /etc/resolv.conf are setup correctly for DNS lookups. If not, they may need to be hand-edited with values provided by your ISP. These files are documented in nsswitch.conf(4) and resolv.conf(4). The resolv.conf needs to have "domain" and "nameserver" lines. Type "netstat -rn" to see if there's a "default" destination configured in /etc/defaultrouter and type "ping sun.drydog.com" to verify routing is OK. Use "traceroute sun.drydog.com" to diagnose routing problems. Type "hostname" to see if it says "unknown." If so, DHCP did not provide a hostname. One workaround is to edit /etc/init.d/network and replace all occurrences of "unknown" with your real hostname. This information is adapted from a web page by Bill Bradford at http://home.austin.rr.com/sunhelp/rr/solarisrr.html. Some (older) RoadRunner setups may still require a RoadRunner login program. This is explained in that link. RoadRunner information is at http://www.rr.com/ and help is at http://help.rr.com/ The Unofficial RR FAQ is at http://members.tripod.com/~tlarrow/rrfaq.htm For generic cable modem information, see the e-zine article "xDSL and cable modems" referenced in the previous question on @Home service. The article covers instructions on enabling Solaris with a cable ISP. _________________________________________________________________ (6.34) How do I force the speed and/or duplex of my network interfaces (ndd(1M) doesn't work)? No x86 driver can be interfaced via ndd(1M). The only way to set speed/duplex is via the NIC's driver.conf(4). iprb(7D) on Solaris 8 suggests that you can specify speed/duplex for multiple instances via ForceSpeedDuplex option. For other drivers, you'll need to specify each instance per driver.conf(4). Finally, for most people, auto-negotiating works as expected. Having to hard-code values may indicate cabling or switch problems. _________________________________________________________________ (6.35) Why can't I create a home directory under /home? For Solaris, /home is not an on-disk file system, it is a file system under the control of the automounter, and only the automounter can create directories/files in it. If you don't want the automounter to manage /home, then remove the "/home" entry from /etc/auto_master (and issue the command "automount -v" to force the file to be reread, or reboot). However, the typical setup for Solaris is to locate user's home directories in /export/home. /home is intended to be where all users' home directories appear regardless of which machine they are really located on--by virtue of the automounter and auto_home map. This makes your home directory always appear in the same place regardless of which machine you login to, and regardless of which server the sysadmin decides to move your home directory. If you are not part of a network with workstations and servers, this may look strange. If you want to, as a demonstration, you can set up a standalone workstation to operate this way, as follows. (I'm assuming you still have the default setup of /home under the control of the automounter.) Create a user with a home directory in /export/home, say, /export/home/andrew, so that the directory is correctly created with .profile, .login, etc in it. Put the following line in /etc/auto_home: andrew cucumber:/export/home/andrew (substitute your user name for 'andrew' and your hostname for 'cucumber'). If there is an "+auto_home" entry in there, comment it out. Make the automounter reread the files: "automount -v". You should now be able to "ls /home/andrew" and see the files there which are in /export/home/andrew. If you issue the command "mount -p", you will see that /export/home/andrew has been mounted on /home/andrew (by the automounter). Normally this would be an NFS mount to a remote server, but in this case the system has spotted that is it attempting to NFS mount itself and uses the loop-back filesystem instead (lofs) which avoids the NFS overhead when the filesystem is on the same machine. Finally, to complete the use of /home, you should change Andrew's entry in the passwd file such that the home directory is /home/andrew. In a networked environment, you also need to add /export/home to the /etc/dfs/dfstab file so that it is available for other clients to mount. Also, the password file and /etc/auto_master file (and much more besides) would be obtained using naming services from a single networked copy, so you would only need to set this up once whatever the size of your network, not once per workstation. [Thanks to Andrew Gabriel] _________________________________________________________________ (6.36) Is Veritas file system available for Solaris Intel? Only through NCR Corporation. [Thanks to Bob Palowoda] _________________________________________________________________ (6.37) How to I use Zip and Jaz Drives for Solaris Intel? Iomega's Zip and Jaz Drives are supported by the Solaris 8 volume manager. For example, with a atapi Zip100 drive, run "volcheck" and it gets mounted as /rmdisk/zip0 For Solaris 7 and older, Iomega has instructions on how to install and use them at http://www.iomega.com/support/documents/2019.html The hardware installation is the same as for MS DOS/Windows systems. Once installed, use the "mount" command to access the drives. See the question below on mounting DOS filesystems. -Chase [Thanks to Chase for the s8 update] _________________________________________________________________ (6.38) How to I use Linux NIC drivers for Solaris Intel? Sun has released (9/2000) a free network driver porting kit to port Linux PCI-based network drivers to Solaris Intel. The kit includes, as examples, ported Linux drivers for the Intel EEPro100 and the Digital "Tulip" 2104x/2114x chip (a reliable chip used by the Netgear FA-310-TX, SMC EtherPower, Kingston EtherX, D-Link DFE, and other lower-cost cards) For further information, see http://www.sun.com/solaris/ndpkit.html _________________________________________________________________ (6.39) How to I add color to "ls" or "vi"? For "ls" you need the GNU "fileutils" version of ls. Obtain the binary from http://www.sunfreeware.com/ or compile it yourself from source from http://www.gnu.org/ I only use "ls" out of all the utilities in the package and install it in /usr/local/bin/ls. I then use this alias: alias ls='/usr/local/bin/ls --color=auto' (remove the "=" for *csh shells). For vi, I use vim (or gvim for X Windows). It is also available from http://www.sunfreeware.com/ or directly from http://www.vim.org/. You may need to add "syntax on" in your $HOME/.vimrc file to enable syntax coloring. If color output still doesn't appear, for either of these, make sure your terminal emulator supports color (e.g., dtterm) and that your $TERM is set correctly. To verify you can display color, copy, paste, and execute this line in your shell prompt (you should see the letters "blue" highlighted in blue): /bin/echo '\033[0m\033[01;34mblue\033[0m' _________________________________________________________________ (6.40) How to I move the disk containing Solaris from the ATAPI primary master controller to the secondary controller or slave connector (or both)? * Move the disk with Solaris to the new location (secondary master controller or primary or secondary slave controller). * Boot from the "1 of 2" Solaris installation CDROM * mount the root boot partition at /mnt * Reconfigure the device tree: drvconfig -r /mnt/devices devlinks -r /mnt disks -r /mnt Verify that the links /dev/dsk/c1d0s* to ../../devices/* exist. * Type "rm /etc/path_to_install" (or remove all lines but comments in this file) * Edit file /boot/solaris/bootenv.rc. For example if you're moving from the primary master to secondary master, change "ide@0" to "ide@1": setprop bootpath '/pci@0,0/pci-ide@4,1/ide@0/cmdk@0,0:a' to setprop bootpath '/pci@0,0/pci-ide@4,1/ide@1/cmdk@0,0:a' * Remove the CDROM and /usr/sbin/reboot (if you removed /etc/path_to_install then, at the booting Solaris prompt, type "b -a") Once Solaris is on the secondary master, you must enable booting to it. Here's three methods: * Change the BIOS settings to boot to D: (the secondary master) * Boot from the DCA diskette on A: and choose the secondary master device. * If you have Linux LILO on the primary master, you can add an entry to /etc/lilo.conf similar to the following (and type /sbin/lilo on Linux to re-read the new lilo.conf file): # Solaris 2.7 in secondary master booted by Linux Red Hat 6.1 # /boot/chain.b simply starts the boot sector on the specified partition. # /dev/hdc1 is the first partition on the third (hdc) disk. other = /dev/hdc1 loader = /boot/chain.b label = solaris [Thanks to Michael Wang and Alexander Yu] _________________________________________________________________ (6.41) I've installed Solaris using Sun's brain dead disk slice defaults. How do I modify my slices? You don't. It's too late now, but you should have read the recommendations on disk partitions and sizes in section 4 of this FAQ. Solaris (unless you're running under Veritas) doesn't support modifying slices without destroying data on the entire slice. Your options are (in order of ease): * Reinstall and choose your own custom layout. * Create softlinks or local mounts to filesystems with more free space and move the files. E.g. for /opt: "mv opt/export/home" and "mount localhost:/export/home/opt /opt" or "ln -s /export/home/opt /opt * Backup, boot install media, and run format, newfs, & restore [Thanks to John D. Groenveld] _________________________________________________________________ (6.42) How do I mirror root with Disksuite when /boot is a separate fdisk partition? You don't. Disksuite only supports mirroring ufs filesystems, so in order to mirror /boot, it should be part of the root (/) slice inside Sun's fdisk partition. Sun's default install will create a separate 10MB "x86 Boot" fdisk partition which is mounted as pcfs. If you already have Disksuite running the solution is as follows: Start with all the mirrors in place except for the :boot partition and had identical layouts on both disks. 1. Back up all my important stuff. 2. Use metadb to delete the state db's on the Disk 1 and Disk 2 ( I have Disk 3 and Disk 4 for the time being). 3. Get a tar backup of /boot directory and save it in / (root) 4. metadetach and metaclear all the Submirror's from the Disksuite db's on disk 2. 5. Recreate Disk 2 Partition table (using fdisk) to be 100% Solaris and rebuild Solaris Partition(Slice) table (using prtvtoc/fmthard) 6. Re-mirror Disk 2 So it's almost identical to how it was at the beginning, except the x86 partition table is now one big Solaris partition. I.e., starting at the very beginning of the disk. This is very important, otherwise the bootblock installation won't work. 7. Untar the boot directory tar file so now i've /boot ufs mirror under the / mount. 8. Do step 4 on Disk 1. 9. Do step 5 on Disk 1. ambiguous on this, but Sunsolve doc says it must be run on slice 2 [it's obvious if you think about it]). the / fs. [Thanks to "Nick" via John D. Groenveld] Copyright © 1997, 1998, 1999, 2000, 2001 Dan Anderson. All rights reserved. http://sun.drydog.com/faq/ _________________________________________________________________ (7.0) TROUBLESHOOTING (7.1) What can I do if Solaris won't boot? You need to boot from your install CD. Insert the Solaris Software CD in your CDROM drive. If your CDROM drive/bios isn't bootable, first insert the "Device Configuration Assistant" (DCA) diskette. At the "Boot Solaris" menu, choose "CD." At the "Type of Installation: Interactive or Jumpstart" menu, type "b -s" Or, after the video configuration, network, time and date you'll notice one of the menu's has a button: [Exit] Select Exit and, when it asks you again "do you want to exit?," just say yes. Once you're at the UNIX root prompt #, you can mount the boot drive with "mount /dev/dsk/c0t0d0s0 /mnt"" and view anything wrong with the boot drive (omit the "t0" for ATAPI). [Modified from Bob Palowoda's Solaris 2.4 x86 FAQ] _________________________________________________________________ (7.2) How do I restore the Solaris boot block without reinstalling? This may happen when installing a boot manager that comes with another operating system (such as LILO from Linux) or an after-market multi-OS boot manager. These sometimes trample's active partition, which in our case is Solaris. Also, moving the Solaris partition with a partition manager program such as Partition Magic requires reinstalling the Solaris boot block. Before taking these steps, first verify the Solaris partition is active. If it isn't, just make the Solaris partition active and reboot. Otherwise follow the steps below. previous question, 7.1. is /dev/rdsk/c?t?d?p? where ? is the controller #, target ID, and disk #, and partition #. Omit "t?" for ATAPI E.g., /dev/rdsk/c0d0p0 This is VERY important; if it's wrong, you you may hose another partition: prtvtoc /dev/rdsk/c0t0d0p0 (omit "t0" for ATAPI, always use p0, which means the "entire drive"). The prtvtoc prints out the map for the Solaris partition on the hard drive, if found. The partitions shown on the output are actually "slices" within the Solaris partition. /sbin/fdisk -b /usr/lib/fs/ufs/mboot (raw disk dev) E.g., for SCSI it might be: /sbin/fdisk -b /usr/lib/fs/ufs/mboot /dev/rdsk/c0t0d0p0 (omit "t0" for ATAPI) The Solaris Multiple Device Boot Menu should appear after rebooting. If not, you can always to an upgrade (re-)install. Note: This procedure does NOT make your Solaris partition active again (sometimes needed after installing another operating system, such as Windows, on the same disk), it just writes to your bootblock IN your Solaris partition. To learn more about the Solaris boot process, read the boot(1M) man page. _________________________________________________________________ (7.3) What can I do during the Solaris/x86 booting sequence? Step #1: Boot loader If you have multiple partitions, the boot loader in the Solaris partition will come up and ask you which partition you want to boot. This partition must be the active partition, or at least be marked active by a third-party boot manager before this boot loader receives control (not all boot managers have this feature). If you don't answer in so many seconds, it boots Solaris. This boot manager is pretty basic. It has no customization. You can't change the default boot partition to one other than Solaris, you can't change the timeout value, and you can't change the partition descriptions. But it gets the job done. Step #2: Device Configuration Assistant (DCA) This will ask you to press ESC if you want to change stuff. This is to make up for the fact that x86 machines don't have a nice OpenBOOT chip to sort out REAL "Plug and Play". Basically, in Solaris x86, the Device Assistant seems to set up certain things in /boot/solaris. This is so the "real" OS has some common format to examine for devices, instead of having lots of nasty x86 hardware specific stuff. That way, Sun can keep the main OS somewhat hardware independent, and keep it very close to the Sparc version. The "Assistant" can actually been of assistance. If you select "partial scan", then "Device tasks", and then "View/Edit Devices", it will tell you what Solaris THINKS your devices are, and where they are at. Quite useful, when Solaris gets completely lost, and you're wondering if it's your fault, or what. Otherwise, it can give you a warm fuzzy feeling, if you select "Full Scan", and you see all your devices properly recognized. Step #3: OS Boot Well, actually, the "Boot Assistant". The interface is similar, but not identical, to SPARC Solaris' OpenBoot 'boot' command. The main differences I notice are: * It's "b -r", not "boot -r", if you want to force reconfiguration. Why would you want to do that? Well sometimes, if your devices have changed a LITTLE, you might want to do this. You can also invoke it with a "touch /reconfigure" as root before rebooting. * You don't have nice device aliases like you do with Sparc hardware. That being said, if you do nothing, it should autoboot into the actual OS in a few seconds. Or you can type something quickly within 5 seconds, and force a "reconfiguration boot", as mentioned earlier. * The "Driver Assistant" or whatever, really looks for major changes, like adding or removing a card. However, if, say, you add another disk drive, you'll probably want to just do "b -r". Note that the Device Assistant will itself trigger a "b -r", after it has autodetected hardware changes. Step #4: The Main OS: Solaris You made it (I hope)!. Hopefully, you should now see a line with "SunOS5.8" or similar in it, and a little twirly text character spinner starting. You are now really in the classic Solaris environment. From here on in, your experience is almost identical to your brethren who work with SPARC Sun equipment. To learn more about the the Solaris boot process, read the boot(1M) man page. [Thanks to Phil at http://www.bolthole.com/solaris/] _________________________________________________________________ (7.4) How do I logon as root if the password doesn't work anymore? Regaining control of a Solaris x86 system where the root password has been lost can be accomplished by the following steps. Note that any savvy user can do this with the proper CD-ROM and diskette. Therefore, of course, physical security of a system is important for machines containing sensitive data. Solaris x86. the boot device. you straight to a root shell, #, (and you'll be in single-user mode). create a directory called hdrive under the /tmp directory and then mount the root hard drive partition under this temporary directory. mkdir /tmp/hdrive mount /dev/dsk/c0t0d0s0 /tmp/hdrive #SCSI; for ATAPI, omit "t0" following commands. TERM=at386 export TERM file: vi /tmp/hdrive/etc/shadow to: root::6445:::::: :wq! reboot the system: halt from the Console Login: as root with no password. Just hit enter for the password. root password and secure the system. [Thanks to Lynn R. Francis, Texas State Technical College] _________________________________________________________________ (7.5) My licensed software fails because the host ID is 0. What's wrong? Intel processor machines don't have an IDPROM, so Sun generates a serial number, hostid command or sysinfo()'s SI_HW_SERIAL, pseudo-randomly during installation. The number is stored in /kernel/misc/sysinit, whose only function, it appears, is to provide the serial number. If serialization information is tampered or sysinit fails to load, the host ID will be 0. If you reinstall Solaris, sysinit will be regenerated and your host ID will change. So be careful about reinstalling Solaris if you have licensed software that depends on your host ID. Backup your sysinit file. To preserve the same ID (and therefore licenses), copy file /kernel/misc/sysinit to the replacement system. I understand the Sun Workshop Manual says this is allowed twice per calendar year (please verify this yourself). For more information, see the Sun NVRAM/hostid FAQ, available at http://www.squirrel.com/squirrel/sun-nvram-hostid.faq.html and elsewhere. This also has tools to fake hostids. _________________________________________________________________ (7.6) How can I fix Netscape Communicator to render fonts correctly on S/x86? This problem occurs with Solaris 2.6 and Netscape Communicator 4.0x, and has since been fixed. Apply patch 106248, which I'm told fixes this problem. A workaround is to add the following two lines to your ~/.xinitrc file: xset +fp /usr/openwin/lib/X11/fonts/75dpi/ xset fp rehash Another workaround, if you don't have these fonts, is to go into Netscape Preferences and change the font faces. [Thank's to Alan Orndorff, Jeffrey Cook, and John Riddoch] _________________________________________________________________ (7.7) Why doesn't Netscape run as root? This is a bug in Netscape. Due to a Netscape 4.x bug (it thrashes the $HOME environment variable) the X11 library cannot find root's .Xauthority file in the root dir unless your current directory is /. Large, complex programs (especially those taking input from & to the Internet) should not be run as root. Experienced users and Administrators run as root only for essential sysadmin tasks. If you must run as root, try one of these tricks: * Make sure you run Netscape with a current directory of / (so that the relative pathname '.Xauthority' works) * Or start Netscape with HOME="/." (so that netscape doesn't thrash the $HOME variable) * Or start Netscape with an environment variable XAUTHORITY="/.Xauthority" [Thanks to Juergen Keil via John Groenveld] _________________________________________________________________ (7.8) I moved my PCI host adapter to another slot and the system won't boot! Don't move the adapter. It isn't a supported feature in Solaris and isn't easy to recover from. If you have any choice in the matter, move the controller back to it original slot. The PCI device number is part of the device's basic ID, including its child disks. If you change slots, you've effectively removed that controller and its disks, and added an unrelated controller and disks. You need to fix up all of the references to the old disks to point to the new disks. I've never come up with any strategy better than "boot, observe failure, fix failure, reboot" for recovering from this kind of change. For simple cases (single controller, in particular) it can be helpful to clear /dev/dsk/* and /dev/rdsk/* and run "disks", but that is perilous too. Incidentally, changing motherboards is likely to trip exactly this problem, because motherboards generally number their slots differently. To conclude, it's difficult and dangerous, and the general guidelines involves fixing: 1. /etc/vfstab or /dev or both 2. /devices to match one another 3. possibly removing lines from /etc/path_to_inst in order to make the right /devices nodes show up The ultimate goal is to get back the same controller numbers as before. [Sun FAQ 2576-02 at http://access1.Sun.COM/cgi-bin/rinfo2html?257602.faq] _________________________________________________________________ (7.9) Why is Solaris always booting into the Device Configuration Assistant (DCA)? This is usually caused by one of the following: * You installed Solaris onto a disk other than the primary boot disk. * You didn't remove your DCA boot diskette or if you didn't remove your installation CD-ROM if it's in a bootable CD-ROM drive. * File /boot/solaris/bootenv.rc is corrupt or truncated, usually after a hard reboot or reset. This file is setup and used by DCA. It should contain several lines. To change or set your default boot device, See Sun FAQ 2271-02 at http://access1.Sun.COM/cgi-bin/rinfo2html?227102.faq for instructions. To summarize: * From the "Boot Solaris" screen, press F4 (Boot Tasks). * On the "Boot Tasks" screen, press Enter to place an "X" in front of "View/Edit Autoboot Settings." * In the "View/Edit Autoboot Settings" screen, note that the Default Boot Device will not be set to any valid device. Place an "X" in front of Set Default Boot Device and press F2 (Continue). * On the Set Default Boot Device screen, place an X in front of the correct disk and press F2 (Continue). * Arrow up to the Accept Settings and press Enter to mark with an "X". Press F2 (Continue) to return to the Boot Tasks screen. * Press F3 (Back). It will load appropriate drivers after which you will be at the Boot Solaris screen. Press F2 (Continue) to continue booting. _________________________________________________________________ (7.10) What is the equivalent of STOP-A for Solaris Intel? >I don't think so, because Stop-A allow you to go into open boot prom of >the SUN and on a x86 it's a different thing (BIOS) Unlike Solaris on Sparc (where STOP-A gets you the OpenBoot prompt), there is no PROM firmware to drop into on x86. You can boot your system under kadb and then use a similar keystroke to drop into kadb and obtain debugging information. To boot under kadb, type eeprom boot-file=kadb and then: * Prior to Solaris 8, type CTRL-ALT-d to jump into kadb * On Solaris 8 or later, type F1-a to jump into kadb * At the Solaris Intel Boot Assistant prompt type "b kadb" You can then type, for example: $" followd by "~" and "ctrl-break" on Solaris Sparc, but this, too, is not available for Solaris Intel. [Thanks to Ramit Luthra and Mike Shapiro] _________________________________________________________________ (7.11) How can I reboot Solaris x86 without it asking me to to "press a key" before rebooting? This works for me, become root and type: "shutdown -i6 -g0 -y". Or: "init 6 This is most useful when the system is remote with no console keyboard access. [Thanks to Charles J. Fisher] _________________________________________________________________ (7.12) Help! I'm stuck in the "Boot Assistant" and can't boot. What do I do? If you get a message similar to: Run Error: File not found. could not run s You probably typed "reboot -- -s" or "reboot -- -r" or similar. This works for Solaris SPARC, but not for Solaris on Intel--it's disastrous. It changes your "boot-file" eeprom variable to "-s", which errors out and puts you in an endless loop in B oot Assistant. To undo this, type the following at the Boot Assistant prompt: "b kernel/unix" This boots with file /platform/i86/kernel/unix. If this doesn't help, your filesystem may be hosed. In that case, you have to reinstall. But make sure this is the case first. Copyright © 1997, 1998, 1999, 2000, 2001 Dan Anderson. All rights reserved. http://sun.drydog.com/faq/ _________________________________________________________________ (8.0) X Windows _________________________________________________________________ (8.1) How do you install XFree86 on Solaris? Why would you want to? Usually because the standard XSun server doesn't support your graphics board or doesn't support the color depth or resolution you wish to have or you may want OpenGL support (available only with the Sparc version of XSun). (If board support is the only problem, consider 3rd party drivers from XiGraphics, http://www.xig.com/, especially recommended if you have a laptop). Of course, it's much easier to use the default XSun, which comes with Solaris CDE, if it works for you. Here's some notes for installing XFree86 on Solaris x86. http://www.xfree86.org/3.3.6/SOLX86.html As a final hint, get and read the HOWTOs and books that were written for XFree86 on Linux. Starting with Solaris 2.6, Sun changed the way X client communicates with X server when both the client and X server are on the local machine (DISPLAY variable is set to ":0"). In short, instead of using /tmp/.X11-unix, the client connects to the X server using /tmp/.X11-pipe. Since XFree86 doesn't support /tmp/.X11-pipe, CDE will not work out-of-the-box on the local display under the XFree86 server. If you added virtual terminals (mentioned elsewhere in this FAQ and only possible with Solaris 2.4 to 7), you must leave one VT open (usually VT07); otherwise XFree86 will not run. To install and configure XFree86: * Download binaries for Solaris (Intel platform) from ftp://ftp.xfree86.org/pub/XFree86/ * Check your platform and OS: sh Xinstall.sh -check * Install XFree86 with: sh Xinstall.sh * After the installation is complete, create your own XF86Config file: XFree86 -configure * Remove or rename your old X server: cd /usr/openwin/bin; mv X X.old * Link to your new X server: ln -s /usr/X11R6/bin/X /usr/openwin/bin/X * Copy the default dt configuration: mkdir -p /etc/dt/config; cp /usr/dt/config/Xservers /etc/dt/config * Edit /etc/dt/config/Xservers to cause dtlogin to start XFree86 instead of Xsun next time it loads. CDE will still run with XFree86: # :0 Local local_uid@console root /usr/openwin/bin/Xsun :0 -nobanner unix:0 Local local_uid@console root /usr/X11R6/bin/X :0 -bpp 16 For 24-bit displays, "-bpp 16" should be changed to "-bpp 24". For 8-bit displays, omit "-bpp 16". Use "unix:0" to cause dtlogin to set the DISPLAY variable to local sessions instead of ":0.0" and CDE will be able to connect to the local X server. * Edit /XF86Config.new and change /dev/mouse to /dev/kdmouse and "auto" to "PS/2" (if appropriate): under section "Pointer" (or "InputDevice"): Section "Pointer" Identifier "Mouse0" Driver "mouse" Option "Protocol" "PS/2" Option "Device" "/dev/kdmouse" EndSection * To test the server , run XFree86 -xf86config XF86Config.new * If it works: cd /etc/X11; mv XF86Config XF86Config.old; cp XF86Config.new XF86Config * After X server configuration is done, /usr/sbin/reboot. This verifies startup works OK. Optional step. Once the above is working, you may add fonts from the /usr/openwin/lib/X11/fonts/ directory to the default font path for XFree86 server. Edit /etc/XF86Config file and add this to section "Files": FontPath "/usr/openwin/lib/X11/fonts/F3bitmaps/" FontPath "/usr/openwin/lib/X11/fonts/Type1/" FontPath "/usr/openwin/lib/X11/fonts/Speedo/" FontPath "/usr/openwin/lib/X11/fonts/misc/" FontPath "/usr/openwin/lib/X11/fonts/75dpi/" FontPath "/usr/openwin/lib/X11/fonts/100dpi/" Aliases for CDE fonts are in the F3bitmaps directory, so you'll need at least this line. [Warning: I have a report that adding the Openwin fonts to the XFree86 server, as recommended here, could cause dtlogin to fail.] For those that use S3 Virge cards, it seems that SVGA server (the default server for Virge cards) has problems with some chipsets. Try using an old S3V server instead. Also, the problem with returning from graphics to text mode seems to be present on all three servers I tried (Xsun, SVGA and S3V). [Thanks to Aleksandar Milivojevic and Jimmy Chang] _________________________________________________________________ (8.2) How do I configure 64K colors for CDE? Solaris' kdmconfig offers only a choice of 256 or 16M colors for your graphics board. To configure Xsun to use 16-bit color, configure using kdmconfig for the desired resolution in 256 color mode. Note the board line from file /etc/openwin/server/etc/OWconfig. Look in the referenced file in directory /usr/openwin/share/etc/devdata/SUNWaccel/boards to see if there is support for 16-bit color mode for your card. If your board is listed, edit file /etc/openwin/server/etc/OWconfig and change defdepth="8" to defdepth="16" in it. Also, values for MaxPClk for some cards are way too low in 16-bit and 24-bit modes in file /usr/openwin/share/etc/devdata/SUNWaccel/boards. But if you want to change this, you are doing it on your own risk. Some applications hang on 16-bit colors. The CDE logo that is displayed after one logs in is a bit-mapped grayscale image(?!), but everything else should work just fine. [Thanks to Aleksandar Milivojevic, by way of John Groenveld] _________________________________________________________________ (8.3) How do I Add Gnome, KDE or other non-CDE Window Mangers to the dtlogin screen? The easiest way is to add substitute KDE for CDE is to add an "exec /path/to/kde" statement in your $HOME/.dtprofile file. To add a KDE selection to the dtlogin screen (in addition to the usual command-line, OpenWindows, or CDE choices), follow one or both of these links: * http://www.tiem.utk.edu/~peek/solaris/ written by Michael Peek * http://twirl.mcc.ac.uk/~zzassgl/wm.html written by Geoff Lane The instructions are for fvwm, but apply to any window manager, such as KDE, AfterStep, WindowMaker, or Enlightenment. Be aware that these new WMs usually take a bigger memory footprint. _________________________________________________________________ (8.4) Where can I get GNOME or KDE packages for Solaris/x86? GNOME (and KDE) are available with the Companion CD for the 10/00 update of Solaris 8. For information about GNOME on Solaris or for a free download, see http://www.sun.com/gnome/ Another source for (separately built) packages for GNOME and GNOME extras is at http://myweb.clark.net/pub/bent/Solaris8-X86/GNOME/ For information on GNOME, see http://www.gnome.org/ Update: there have been reports of patch 108653-27 causing problems with Gnome. The only solution now (6/2001) is to back the patch out. For general KDE information, see http://www.kde.org/ Binaries are at ftp://ftp.kde.org/pub/kde/stable/latest/distribution/pkg/Solaris/ 8.0/x86 and at mirrors elsewhere (see http://www.kde.org/mirrors.html). When installing KDE, make sure to install the QT library first, which is required by KDE. Which is better? "Religious" wars could be fought over this question. KDE has a more familiar M$ windows-like interface, and I use it. It is also more mature than GNOME. The QT library, required by KDE, used to have stricter licensing restrictions, but now it's licensed under the LGPL. KDE is endorsed and supported by IBM and Caldera. GNOME is endorsed and supported by Sun (besides RedHat and H-P). I recommend installing and trying out both GNOME and KDE for a test drive. You can have both installed at the same time and select which one to use with dtlogin. You can also run KDE apps under GNOME and vice versa. _________________________________________________________________ (8.5) Are TrueType fonts supported in Solaris? Yes, Xsun supports them. Use the Font Administrator GUI, /usr/dt/bin/sdtfontadm, to add them to the server's list of fonts. [Thanks to Tran Tran] _________________________________________________________________ (8.6) How do I make XFree86 version 3.x- or XiG Xaccel 5.0.3- work with Solaris 8? You can't. X servers for previous versions of Solaris rely on /dev/vt* virtual terminals, which have been of end-of-life-ed in Solaris 8 (see an earlier question). You'll get an error message similar to: xf86OpenConsole: Cannot determine current VT. You must upgrade to XFree86 version 4.x or better which is currently (7/2000) available only in source. XiG released 5.0.4 as a binary patch for its commercial X server. See http://www.xfree86.org/ and http://www.xig.com/ [Thanks to John Groenveld] _________________________________________________________________ (8.7) How do I disable CDE auto-start upon booting multi-user? Boot single-user and run dtconfig(1). That is, at the booting Solaris prompt, type "b -s" After entering your root password, mount /usr and run "/usr/dt/bin/dtconfig -d" [Thanks to John Groenveld] _________________________________________________________________ (8.8) How do I su(1) to another user and run an X application? You need to set your $DISPLAY and allow others to use your console. If you don't, you get a message like "Can't open display". By default, only the user who logged in on console can connect to the display. To allow another user to connect there are two ways - one easy and one secure (unfortunately, you can't have both): Easy: As user logged in on console run "xhost +LOCAL:" (This gives permission to connect to the display to anyone logged in on the machine - this includes being able to open windows, read your keystrokes, send keystrokes, etc. Obviously not a good idea if you have other users on the system you don't trust completely.) As any other user logged in on the box, run "setenv DISPLAY :0" or "DISPLAY=:0; export DISPLAY", depending on your shell type. This all assumes you're connecting from the same host, for a remote host, change to "xhost +other-hostname" and "setenv DISPLAY PutYourHostnameHere:0" Safe: As user logged in on console run "xauth list" Look for the line for your hostname followed by ":0" and copy it. As the user you want to grant access to run "xauth" and at the xauth> prompt type "add " and paste the line you copied. Now "setenv DISPLAY hostname:0", making sure you match the way it was listed in the line you copied and pasted. Easier variation of safe method for special cases: If the other user you want to access your screen is root, and your home directory is either local or on an NFS filesystem exported with root permissions, just have root do this: setenv XAUTHORITY /home/myuserid/.Xauthority ; setenv DISPLAY :0 (replace "/home/myuserid" with your actual home directory). [Thanks to Alan Coopersmith] _________________________________________________________________ (8.9) Does Solaris Intel support multiple heads? No. A commercial X server from Xi graphics, http://www.xig.com/ supports multiple heads. Dual-headed monitors will be built-in Solaris 8's Xsun (Xinerama, X11R6.4), but that works on Sparc only, not Intel. XFree86 does not currently support multiple heads, though the feature is on the wish list for XFree86-4. [Thanks to John Groenveld, Alan Coopersmith] _________________________________________________________________ (8.10) How do I get my 2-button mouse to emulate 3 buttons? In Solaris 8, "kdmconfig" will autodetect a two-button PS/2 mouse, so you may never look in the "change pointing device" section. You need to go in there, and change it from "PS/2 Mouse (2 Button)" to "PS/2 Mouse (2 Button+100ms 3 Button Emulation)" [Thanks to Philip Brown] _________________________________________________________________ (8.11) How do I make the NumLock key go on automatically when I log in? Add xset led 2 to your CDE startup file, $HOME/.dtprofile. To turn it off, use xset -led 2 Similarly, for CapsLock, use xset led 4 To make setings apply to all users, add to file /etc/dt/config/.dtprofile Copyright © 1997, 1998, 1999, 2000, 2001 Dan Anderson. All rights reserved. http://sun.drydog.com/faq/ _________________________________________________________________ (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)? When you run the 2.6 install program, it will ask you which partition you wish to use. On disk1, all you need to do is to create another partition on your existing disk. You can use Solaris boot manager to boot Solaris x86, and MS Windows 9x/ME/NT/2K/XP (among other systems). To shrink an existing MS-DOS/MS Windows partition, if you need to make room, use something like Partition Magic. Problems have been reported inter-working with OS/2, however. Reportedly, the order in which you install things is very important. Solaris doesn't "share" computers and partitions really well. If you have problems, you may need to install Solaris first, on a partition towards the end, reinstall the boot manager and add the partition. Other options for booting is to use System Commander (see question below), IBM's Boot Manager (bundled with Partition Magic or OS/2), FreeBSD's OS-BS (see question below), System Selector, or OS-BootSelect (open source), instead of the Solaris' Boot Manager. Mariusz Zynel has a detailed information on booting Solaris with other operating systems at http://math.uwb.edu.pl/~mariusz/multiboot/ [Thanks to Barry Katz, Brandon Hume, Joseph A. Faracchio, Joelle Nebbe, Eugeny Kuzakov, and Sean M. Kelley] _________________________________________________________________ (9.2) How can I use MS Windows' NT/2K Loader to boot Solaris/x86? The general idea is that you copy the first sector of your native root Solaris/x86 partition into a file in the DOS/MS Windows NT/2K partition. Assuming you name that file something like c:\bootsect.sun (inspired by c:\bootsect.dos) you can edit file c:\boot.ini (after saving boot.ini to boot.old): to come up with something like this (partitions starting with 1): [boot loader] timeout=30 default=multi(0)disk(0)rdisk(0)partition(1)\WINNT [operating systems] multi(0)disk(0)rdisk(0)partition(1)\WINNT="Windows NT" multi(0)disk(1)rdisk(0)partition(0)C:\BOOTSECT.SUN="Solaris/x86" C:\="DOS" This procedure assumes that DOS and NT have been installed onto the first ATAPI disk and Solaris/x86 or whatever have been onto the second disk (use "scsi" instead of "multi" for SCSI drives). Note that in order to use the Windows NT boot loader, the NT partition must be the active boot partition. Solaris/x86 must also be the active boot partition, so must reside on another disk (This may be another reason to use a commercial product, System Commander--see question below). In Solaris, mount a DOS-formatted floppy (if you've converted C: to NTFS, which isn't readable from Solaris/x86) or a HD FAT partition (see question below), under, say, /mnt. Type: dd if=/dev/rdsk/c0d0p0 of=/mnt/bootsect.sun bs=512 count=1 # (Note: The above is for ATAPI; use /dev/rdsk/c0t0d0p0 for SCSI.) If the Solaris partition is on a separate drive (as in this example), you need to modify file bootsect.sun to tell it the boot drive. The instructions below are for Solaris 7 or earlier The bootsect.sun code assumes the drive ID is preloaded into the x86 DL register before the bootsect.sun is executed. This is done by the BIOS, but not the NT loader. The easiest way to fix this is to modify the bootsect.sun code with a binary file editor. The first instruction is a jump over the next 4 bytes, the ASCII version ID ("P2.0" in this case). Use a binary editor to overwrite this with a "MOV DL,0x81" instruction and some NOPs. I.e., I changed the first six bytes in my bootsect.sun from "eb 04 50 32 2e 30" to "b2 81 90 90 90 90" (in hex) and saved it in file bootsect.sun. Another person's bootsector began with eb 79 . . . and he changed the first 4 bytes to b2 81 eb 77 to get it to work. Some useful drive IDs are: 0x00 for the floppy drive, 0x80 for the 1st hard drive, and 0x81 for the 2nd hard drive. Reboot into NT. Copy the bootsect.sun file from the floppy to C:\, if you haven't done so yet. Modify the DOS/NT attributes (permissions) on boot.ini with: attrib -s -r c:\boot.ini Edit to add the appropriate entries from the example boot.ini above, and restore the system and read-only file attributes: attrib +s +r c:\boot.ini An alternative to the Solaris "dd" command above is to use the "postcard-ware" program BootPart 2.2 from http://www.winimage.com/bootpart.htm. E.g., the following displays the partitions, then creates a boot sector file bootsect.sun and adds "Solaris" to the NT loader menu. Edit bootsect.sun as above. C:> bootpart.exe C:> bootpart.exe 1 bootsect.sun Solaris [Thanks to Krejcarek Brian Grant, Louis Lam, and Matt Gillen] _________________________________________________________________ (9.3) How can I use the Solaris boot manager to boot Windows NT? 1. Create 3 PRIMARY partitions on the disk in the following order 1. DOS FAT 2. DOS FAT (to become NTFS) 3. empty (to become Solaris) 2. install DOS (or MS Windows 9x/ME/NT/2K/XP) on Partition 1 3. Then install NT on partition 2, converting to NTFS while installing 4. Finally, install Solaris 2.6 on partition 3 using Solaris interactive. Solaris boot manager will be the master boot controller, but then choose partition 1 to boot NT (yes that is right, not 2). Then the NT boot manager will come to life, allowing you to select either DOS (partition 1) or NT (partition 2). Note that Solaris must be the active partition when its booting. [Thanks to Claude Dumas] _________________________________________________________________ (9.4) How can I use System Commander to boot Solaris/x86 and other systems? To use System Commander to dual boot both Win NT and Solaris, make these two configuration changes to System Commander: all other partitions from NT and Solaris (so they can't see each other's partitions). 1. From main System Commander menu pick ALT-S. 2. select "Global Settings" but *DO NOT* press enter. 3. press "ALT-F9" which brings up an internal configuration menu. 4. Change the "Clear Items" menu choice from "MEMORY" to "NO" or "NONE". 5. press ESC to return to main menu. _________________________________________________________________ (9.5) Can I install Linux and Solaris on the same drive? Yes, with certain precautions. Be especially careful with RedHat Linux 6.1 (see below) Unfortunately, both Solaris/x86 and Linux swap partitions use the same ID, 0x82. So if you install Solaris on a drive with a Linux swap partition already on it, it will install on the Linux swap partition. You have two choices: swap partition if you have enough memory). latter, the install program will probably ask if you want to format what it thinks is your Linux swap partition (and is actually your Solaris partition) as a swap file. Be sure to not do this! Red Hat Linux 6.1 (October 1999) Red Hat Linux 6.1's installer automatically uses all Linux swap partitions on all drives. Since Solaris/x86 uses the same ID, the installer overwrites it too! This is not a problem with older versions of RedHat Linux (as long as Linux and Solaris were on separate drives). Personally I don't use the installer to upgrade (I just install individual RPMs). Here's the summary from Red Hat Gotchas, http://www.redhat.com/support/docs/gotchas/6.1/gotchas-6.1-4.html#ss4. 12 Problem: Installation of Red Hat Linux 6.1 can overwrite Solaris. If you have Solaris Intel on your machine, you will have problems with Red Hat Linux 6.1 Fix: Solaris partitions use the same type as Linux swap partitions. The installer will use all found swap partitions. Currently, there are several possible work-arounds to this problem. If Solaris is on a separate drive from the drive you wish to install Red Hat Linux 6.1 on, please disconnect this drive. The other workaround is to change the "Partition type" of the Solaris partition. Before you install Red Hat Linux to another type, install Red Hat Linux, and then change the type back to another type. This can be accomplished by going using expert mode and choosing fdisk over disk druid. # fdisk /dev/hda Command (m for help): p Disk /dev/hda: 255 heads, 63 sectors, 784 cylinders Units = cylinders of 16065 * 512 bytes Device Boot Start End Blocks Id System /dev/hda1 * 1 345 2771181 83 Linux /dev/hda2 346 784 3526267+ 5 Extended /dev/hda5 346 751 3261163+ 83 Linux /dev/hda6 752 784 265041 82 Linux swap Command (m for help): t Partition number (1-6): 6 Hex code (type L to list codes): 08 Command (m for help): w After the install you can change the partition type to back 0x82 so that Solaris will boot. This "gotcha" was removed from the RedHat 6.2 list, so hopefully the problem doesn't occur with newer versions of RedHat Linux. For more information, see the Linux HOWTOs and LILO User Guide. For information on installing Solaris/x86 on your second hard drive, see below. _________________________________________________________________ (9.6) How can I use LILO to boot Solaris/x86 on the primary slave ATAPI? Basically, the Linux LILO boot loader is used to fool Solaris into thinking the slave is the master and vice versa by remapping the BIOS drive numbers (with the map-drive and to lines) Here's an example entry in a /etc/lilo.conf file: # /etc/lilo.conf boot=/dev/hda map=/boot/map install=/boot/boot.b prompt timeout=50 other=/dev/hdb1 label=Solaris table=/dev/hdb map-drive=0x80 to=0x81 map-drive=0x81 to=0x80 (use /dev/hdc instead of /dev/hdb if your second drive is the secondary ATAPI master instead of the primary ATAPI slave drive) For more information, see the Linux HOWTOs and LILO User Guide. [Thanks to David Uhring and Loran Marjanski] _________________________________________________________________ (9.7) How can I use OS-BS or System Selector to boot Solaris/x86? Grab OS-BS [a free boot manager distributed with FreeBSD] from: ftp://ftp.freebsd.org/pub/FreeBSD/tools/osbs135.exe Or (newer) from: http://www.prz.tu-berlin.de/~wolf/os-bs.html Assuming you've already got Linux installed and enough free space for Solaris, go ahead and install the latter. Solaris then becomes the Active partition. Follow that installation with OS-BS and configure to "set startup id", which changes the Active partition on-the-fly. OS-BS comes in a newer, commercial version, that I use, called System Selector in the US, De'marreur in France, and Boot Manager elsewhere. See http://www.BootManager.com/ System Selector needs a small FAT or FAT32 partition to install on. You also need to either boot a version of DOS or Windows to read the install files on the CD-ROM drive. Note that this partition doesn't need to be bootable or active--it is only used to hold files used by System Selector. System Selector replaces the previous boot block in the MFT and boots directly from the drive's MFT. When System Selector's installation menu comes up, you won't see Solaris listed among the selections under the "System" tab, as you most other systems that may be on your system, such as Windows or Linux. Instead, go to the "Partitions" tab and select the partition marked "Linux Swap." This is actually the Solaris Partition (both Solaris and Linux Swap partitions share the same code, 83 hex). Select it and under the "Properties" tab make sure you check "Assign active ID to this system [partition] before booting." Update: An open-source solution, GAG, http://raster.cibermillennium.com/gageng.htm provides a graphical boot menu which works with Solaris Intel and other Intel-based operating systems. _________________________________________________________________ (9.8) How can I boot both Solaris/x86 and Win NT on the same disk? Here's one way of doing it. Solaris/x86 requires it's partition to be active and uses it's own boot manager with it hard-coded to boot to Solaris on timeouts. If you want to use NT's boot manager or default to another operating system, it usually requires installing both operating systems on separate disks or using a third-party product, such as System Commander, that makes the partition "Active" on the fly This solution, described here by Andrew Mickish, is to make a boot floppy: Although the Solaris x86 installation manual makes it sound like all you have to do is partition your disks to get multiple operating systems to work, I found that this was not the case. To get a dual boot of Solaris and NT on the same hard drive, without using the Solaris default boot manager, you have to use a floppy boot disk to help start one of the OSes. Here is how I got NT and Solaris working on the same disk. The following fdisk partitioning causes Solaris to boot from the hard drive, yet allows you to boot to NT if you insert a floppy disk with the NT boot loader: +--------------------------------------------------+ | Solaris [Active, for Solaris] | | C: PRI-DOS (FAT) [Active, for NT] | | D: EXT-DOS (FAT) | +--------------------------------------------------+ Partitioning: The Solaris partition should be created during the Solaris installation, using Solaris's FDISK. The remaining partitions should be created during installation of NT. Active partition: You must set the Solaris partition to be ACTIVE in order to make it boot to Solaris. NT does not have to be active to boot. Use a DOS boot disk with FDISK to quickly change which partition is active. Boot disk: After setting the NT partition to be active, you still need the NT boot loader on a floppy disk in order to direct the PC to the second partition. (Usually the boot loader is on the primary partition of the hard drive, but that partition is Solaris and unreadable to NT.) Your floppy directs the boot process to the right partition by using a BOOT.INI file that says where the NT kernel can be found: [boot loader] timeout=30 default=multi(0)disk(0)rdisk(0)partition(2)\WINNT [operating systems] multi(0)disk(0)rdisk(0)partition(2)\WINNT="Windows NT Workstation Version 4.00" multi(0)disk(0)rdisk(0)partition(2)\WINNT="Windows NT Workstation Version 4.00 [VGA mode]" /basevideo /sos Note: The numbering of partitions is one-based, so the C: partition in the diagram above is in partition #2. Please send comments and suggestions to mickish@cmu.edu [Thanks to Andrew Mickish] _________________________________________________________________ (9.9) How do I mount a DOS partition from the hard drive? mount -F pcfs /dev/dsk/c0t0d0p0:1 /mnt # SCSI mount -F pcfs /dev/dsk/c0d0p0:1 /mnt # ATAPI Where c0 is the controller number. t0 is the target (SCSI ID number) (omit for ATAPI) d0 is always 0 for SCSI, the drive # for ATAPI p0 is the partition (p0 is the entire disk, or p1 - p4) /mnt is the mount point :1 is the logical drive (c - z or 1 - 24) You can use the normal UNIX commands to copy files, 'cp', etc., after that to move the data. DOS filenames are in the old 8.3 format (lower case) for Solaris 2.5.1, in long filename format (lower case) for Solaris 2.6, and in long filename format (mixed case, with optional lower case only) for Solaris 7. Note: The "mount -F pcfs . . ." command won't mount a FAT16 partition if it was fdisk-ed and format-ted with MS Windows 9x/ME/NT/2K/XP (at least for Solaris 2.6 and earlier. Any reports with Solaris 7/8?). Use DOS 6.x. HPFS (OS/2), FAT64 (Win NT), or NTFS (Win NT/2K/XP) partitions are not mountable under Solaris at all. FAT32 (Win 9x/ME/2K) are mountable with Solaris 7. There's some reports of not being able to mount FAT32 partitions if it's not the first partition. To mount the partitions automatically, put something like this in /etc/vfstab: #device device mount FS fsck mount #to mount to fsck point type pass at boot /dev/dsk/c0d0p0:1 - /c pcfs - yes - /dev/dsk/c0d1p0:1 - /d pcfs - yes - This mounts the DOS partitions (assuming it's the first partition) on /c and /d, respectively, on startup. For more info, see "man pcfs" [From Bob Palowoda's Solaris 2.4 x86 FAQ] Note: p0 refers to the first primary partition and p1, p2, . . . refers to the logical DOS partitions found in the extended DOS partition. Solaris/x86 does NOT support DOS directly in the 2nd, 3rd, or 4th primary partition of a disk. See BugID 1170107. Furthermore, Solaris/x86 does NOT support more than one Solaris fdisk partition on a physical disk nor more than 8 Solaris "slices" on a Solaris fdisk partition. [Thanks to Randy J. Parker, Norma Adamson, Rob Duarte, and Danny Huynh] _________________________________________________________________ (9.10) Does PartitionMagic and BootMagic understand Solaris partitions? Yes and no. PowerQuest's PartitionMagic can copy and move Solaris Partitions, with a low-level sector-by-sector copy. It cannot enlarge or shrink the Solaris Partition, which actually contain multiple "slices" of various Solaris ufs file systems. Furthermore, after a partition copy, the boot block needs to be restored. See the question elsewhere in this FAQ "How do I restore the Solaris boot block without reinstalling?" BootMagic can be setup to boot Solaris partitions, since it dynamically marks the partition as active. The setup, however, doesn't automatically recognize these partitions as Solaris (but as Linux Swap partitions). _________________________________________________________________ (9.11) How do I access a DOS-format diskette from Solaris? Using volume management, type "volcheck". This forces Solaris to poll the diskette drive (and other drives). The diskette drive isn't polled automatically (unlike the CD-ROM), as it would quickly wear it out. You should see something like this typing "mount": /floppy/unnamed_floppy on /vol/dev/diskette0/unnamed_floppy read/write on Wed Jan 20 09:05:44 1999 To unmount using volume management, type "eject". After a message, you can manually eject the floppy safely. You can also mount the diskette in a similar way to hard drive partitions without using volume management (the old way): mount -F pcfs /dev/diskette /mnt Don't forget to turn of the volume management before you try to do this from the command line or you'll get a "device busy" message. "/etc/init.d/volmgt stop" will stop the volume manager. To restart the volume manager, "/etc/init.d/volmgt start". [From Bob Palowoda's Solaris 2.4 x86 FAQ and Casper Dik's Solaris 2 FAQ] The GNU mtools package allows access of DOS diskettes without being root. The diskette isn't mounted, but instead special commands with the prefix m, such as mcopy, mdir, mdel, etc. are available. _________________________________________________________________ (9.12) Does Solaris mount and recognize MS Windows 9x/ME/2K/XP partitions with long file names (VFAT)? Solaris 2.6 and above uses the "long" (VFAT) file names, but earlier versions of Solaris use the "short" (DOS/FAT/8.3) file name (for example, "progra~1"). Solaris 2.6 recognizes the case (e.g. "Program Files/"), which may be optionally folded to lower case ("program files") with the foldcase mount option. Earlier "Solari" folds DOS file names to lower case only. VFAT refers to the file naming convention and is completely separate from FAT16/FAT32 (see a earlier question for that). [Thanks to Nelson Chan] _________________________________________________________________ (9.13) How can I make my Solaris files easily available to MS Windows 9x/ME/NT/2K/XP on a network? Solaris PC NetLink (aka "Project Cascade") is included in Solaris Easy Access Server (SEAS). provides "a complete set of Windows NT Network Services," which includes SAMBA-type NT naming, file, print, directory, and security services for Windows 3.11/95/98/NT clients. It is based on Microsoft NT 4 code licensed via AT&T ("Advanced Server for Unix"). For info, see http://www.Sun.COM/solaris/easyaccess/ Personally, I prefer SAMBA, a robust, open source package that provides SMB services (aka MS Windows networking) from UNIX. This allows LAN-Manager-type browsing and "Connect Network Drive," and provides access to UNIX print servers. SAMBA can act as a file, print, browser master, and WINS servers, but not as a domain controller (that's in the works). SAMBA also serves files faster than NetLink (or Windows, for that matter). However, NetLink implements SMB better than SAMBA, since it uses Microsoft-licensed code, while SAMBA must reverse-engineer the code. For the Samba FAQ, sources, binaries, and other information, see the SAMBA web page at: http://samba.anu.edu.au/samba/ Sun has a commercial product, Solstice LM Manager, that works (poorly) with MS LAN Manager/SMB and links in with NIS/DNS. _________________________________________________________________ (9.14) How can I make my Solaris files easily available to an Apple Macintosh on a network? Use CAP, an excellent open source AppleTalk server software for UNIX. The Columbia AppleTalk Package (CAP) implements the AppleTalk protocol stack on UNIX The main applications provide an AppleShare 2.1 compatible server (aufs), a LaserWriter Spooler (lwsrv) and a program to print to LaserWriters (papif). For more information, see: http://www.cs.mu.oz.au/appletalk/cap.html _________________________________________________________________ (9.15) How do I access a Mac diskette from Solaris? Use a emulator package like Mae from Apple (I understand Mae is not supported and has some MT-unsafe bugs). For "sneakernet," you can also use a DOS diskette, as both Solaris and Apple support these. _________________________________________________________________ (9.16) What is WABI? WABI is "Windows Application Binary Interface." WABI 2.2 (which ships with Solaris 2.5.1) runs old 16-bit native MS Windows 3.x programs. No support is planned for 32-bit MS Windows 9x/ME/NT/2K/XP programs. Support for WABI has been dropped starting with Solaris 7. and is replaced by SunPCi (see the next question). [Adapted from Casper Dik's Solaris 2 FAQ] _________________________________________________________________ (9.17) Can I use SunPCi on Solaris/x86? No. SunPCi is an add-on card and software for Solaris on SPARC only. SunPC emulates a PC with the card and Caldera's "DR-DOS" allowing Windows 3.1/9x to be installed on top of it. The card has a 300 MHz K6-2 AMD processor and RAM. It emulates hard and floppy drives, serial ports, SuperVGA, mouse, keyboard, etc. Generally, SunPCi or it's older cousin, SunPC, emulates the PC environment OK, although it performs more slowly than a straight PC (your mileage may vary). Software that requires a parallel port hardware key (dongle) won't work. _________________________________________________________________ (9.18) Will Linux programs run on Solaris 2/x86? The Lxrun program, originally written for SCO, is now available on Solaris/x86. The Lxrun emulator allows one to execute Linux binaries, both in ELF and a.out Linux formats. Linux ext2 read-only filesystem support from Solaris (mount/unmount) is included with ext2fs.tar.gz. To install, first install package SFWlxrun from the Solaris Software Companion CD. Setup or mount a ext2fs filesystem, say at /linux (as explained in a question below on ext2fs). To use, run programs or shells prefixed with lxrun. For example: $ uname -a SunOS dany.drydog.com 5.8 Generic_108529-06 i86pc i386 i86pc $ lxrun /linux/bin/rpm -q redhat-release redhat-release-6.2-1 $ lxrun /linux/bin/uname -a SunOS dany.drydog.com 5.8 Generic_108529-06 i86pc unknown To avoid prefixing linux filenames with "/linux/" (or wherever your ext2fs is mounted), and setup a PATHMAP file (to map Linux filenames to Solaris names). For Sun's SFWlxrun version of lxrun, type this, as root, to set it up: (cd /opt/sfw/lib; cp -p PATHMAP-style2 PATHMAP) For other builds of lxrun, PATHMAP may be at /usr/local/lxrun/PATHMAP. The file location can also be changed with environment variable $PATHMAP. For more information see the following links: * The Solaris Lxrun Technical Overview (FAQ) is at: http://SolDC.Sun.COM/articles/lxrun/ * And another Sun article is at: http://www.Sun.COM/linux/lxrun/ * The Lxrun home page is at http://www.ugcs.caltech.edu/~steven/lxrun/ _________________________________________________________________ (9.19) How can I get the DOS and UNIX clock to agree on Solaris/x86? After installation, run the command /usr/sbin/rtc -z $TZ, where $TZ is your timezone. The default root crontab runs /usr/sbin/rtc -c daily. That way your clock will give the proper time whether you boot Solaris or MS-DOS/MS Windows. If you're running Windows NT and find the clock "overadjusted" twice a year (that is, it gains or loses an extra hour), you should comment out (with a "#") the "rtc" line in file /var/spool/cron/crontabs/root. [Adapted from Casper Dik's Solaris 2 FAQ] _________________________________________________________________ (9.20) Is Solaris x86 able to execute Solaris SPARC applications? There's no way to run a SPARC binary on an x86 machine unless you wrote an emulator for the SPARC CPU and ran it. [Thanks to Doug McIntyre] _________________________________________________________________ (9.21) Will my old applications from SVR3 or SCO run on Solaris 2/x86? Solaris x86 has an emulation mode that should run the majority of well-behaved SVR3 (including SCO UNIX), and SCO Xenix binaries. Most SVR3 stuff appears to work under Solaris 2.4. Applications from any other vendor's standards-conforming 386/486 SVR4 should also run. The main standard being iBCS (Intel Binary Compatibility Standard). However, some vendors have made incompatible changes to their SVR4 release and programs linked on those versions may not work. Future versions of Solaris 2.x for Intel will address some/most of those incompatibilities. UNIXWare is one of the offenders. [From Casper Dik's Solaris 2 FAQ] Linux binaries will run with the assistance of lxrun. _________________________________________________________________ (9.22) Will my application from Solaris/SPARC work on Solaris/x86? I have the source. Yes and no. Generally applications that don't make assumptions about computer architecture will work. That is, code shouldn't depend on structure or union alignments, or in what order a number appears in a word ("big or little endian"). Don't use functions labeled SPARC or x86 only in the man pages. In other words, "well-behaved" C (or other language) programs should recompile fine. _________________________________________________________________ (9.23) Can I access Solaris/x86 partitions from Linux? Yes. Read-only access is available. You need to have Linux 2.1.x or greater. To see if your Linux kernel recognizes Solaris partitions, type the following on Linux: dmesg | grep solaris You should get something like this: hda: hda1 hda2 This says that Solaris lives in the 2nd partition (hda2), slices 0 to hda11. To mount a partition, type something like this: mount -r -t ufs -o ro,ufstype=sunx86 /dev/hda5 /mnt This will mount the root slice (s0) on /mnt read-only. Warning: Softlinks that are relative to root (e.g., /usr/local pointing to /local) will point to the wrong place. To avoid this problem, change these links in Solaris to relative soft-links (e.g., /usr/local to ../local). This can be automated with /etc/fstab. If you don't want the partitions mounted at boot, add ",noauto" after "defaults,ro" (no space). If you want non-root users to be able to mount partitions, add ",user" (careful!): # /etc/fstab # . . . #Device Mount FS Fsck Mount at #to mount point type Options pass boot # Slice /dev/hda5 /solaris ufs defaults,ro,ufstype=sun 0 0 # s0 /dev/hda8 /solaris/var ufs defaults,ro,ufstype=sun 0 0 # s6 /dev/hda9 /solaris/opt ufs defaults,ro,ufstype=sun 0 0 # s3 /dev/hda10 /solaris/usr ufs defaults,ro,ufstype=sun 0 0 # s5 /dev/hda11 /solaris/export/home ufs defaults,ro,ufstype=sun 0 0 # s7 # Note: slice s2, by convention, indicates the whole disk If, when you type "dmesg" above, you don't see Solaris partitions recognized, you might have to rebuild your Linux kernel. Be sure to specify "y" in /usr/src/linux/.config when you type "make config": CONFIG_UFS_FS=y CONFIG_SOLARIS_x86_PARTITION=y Linux 2.2 has experimental write support to Solaris partitions. If you get this message when mounting in read-write mode: "... ufs_read_super: fs needs fsck" then UFS function ufs_read_super somehow decided the fs isn't clean, and therefore set the RDONLY bit. Type something like this to re-mount in read/write mode (replace "hda5" with your file system): mount -o remount,rw /dev/hda5 There's another linux kernel configuration question, CONFIG_SMD_DISKLABEL, that applies only to Sparc Solaris disks, which are in yet another format. The answer to that question doesn't matter for Solaris/x86 filesystems. _________________________________________________________________ (9.24) Can I access Linux (ext2fs) partitions from Solaris? Yes. The Lxrun program (see the question elsewhere above on Lxrun) includes software for Linux ext2 read-only filesystem support from Solaris (mount/unmount) is in file ext2fs.tar.gz. 1. Obtain the ext2fs.tar.gz file. Make sure you have the version dated July 16, 2000 (115097 bytes). The earlier version dated April 23, 2000 (111226 bytes) never worked, at least for me (I use Solaris 8). You can obtain the latter (working) version from ftp://sun.drydog.com/pub/solaris/ext2fs.2000.7.16.tar.gz. If you get "ext2fs: undefined symbol 'vfs_devsearch'" messages in /var/adm/messages when you try and mount, you have the earlier (broken) version. 2. Untar file "gzcat ext2fs.tar.gz | tar xvf -", and either rebuild from source (preferred) or use the prebuilt binaries. 3. Become root and install the files under directory ext2fs/i386: cd ext2fs mkdir -p /usr/man/man7fs cp ext2fs.7fs /usr/man/man7fs cp mount_ext2fs.1m /usr/man/man1m cd i386 /usr/sbin/install -m 755 -u root:sys ext2fs /usr/kernel/fs/ /usr/sbin/install -m 755 -u root:sys -d /usr/lib/fs/ext2fs/ /usr/sbin/install -m 555 -u root:bin mount /usr/lib/fs/ext2fs/ /usr/sbin/modunload -i 0 # remove old ext2fs module, if present 4. Make your mount point: "mkdir /linux" 5. Find your Linux partition and try and mount it. For SCSI, mount it similar to this: /usr/sbin/mount -r -F ext2fs /dev/dsk/c0t0d0p1 /linux For ATAPI, mount it similar to this (no "t0"): /usr/sbin/mount -r -F ext2fs /dev/dsk/c0d0p1 /linux "c0d0p1" indicates fdisk partition 1 (2nd partition) on disk 0 of ATAPI controller 0. See the question above on mounting DOS filesystems for decoding /dev/dsk/c* device names. 6. If you installed the ext2fs correctly and specified the correct partition, you should see something like this from mount, modinfo, and ls. (My linux partition is on the 2nd disk, 3rd partition.) # mount | grep /linux /linux on /dev/dsk/c0d1p2 read only/setuid/dev=1980052 on Sat Mar 31 14:57 2001 # modinfo | grep ext2fs 186 fe9688f1 5e98 19 1 ext2fs (Linux Second Extended Filesyste) # ls /linux bin etc lib proc sbin tmp boot home lost+found root var usr dev include mnt 7. Once you found and mounted the correct linux partition, add and add an entry to /etc/vfstab similar to one of the following. For SCSI, it might look like this: /dev/dsk/c0t0d0p1 - /linux ext2fs - no ro For ATAPI, it might look like this (no "t0"): /dev/dsk/c0d0p1 - /linux ext2fs - no ro (Use "yes" instead of "no" if you want it mounted automatically at boot). 8. Repeat for other linux filesystems, if desired. Once you mount a ext2fs filesystem, you can execute Linux programs using lxrun (see the question on lxrun, above). For further information, see the ext2fs(7fs) and mount_ext2fs(1m) man pages you installed above. _________________________________________________________________ (9.25) What are some books on Windows NT/Solaris integration? The best book is, IMHO: David Gunter, Steven Burnett, and Lola Gunter, Windows NT and UNIX Integration Guide (Osborne McGraw-Hill, 1997), ISBN 0-07882395-1, http://sun.drydog.com/bookstore/#0078823951 Also see the question above on SAMBA. _________________________________________________________________ (9.26) How can I view MS Word files in Solaris? Multiple applications support viewing MS Word files. None are perfect, as the Word file format is undocumented and changes constantly. StarOffice, produced by a German subsidiary of Sun, supports MS Word, basic PowerPoint, Excel files, and other formats. The "Personal Edition" of Star Office is available for free download at http://www.Sun.COM/staroffice/. For this reason, and it's familiar MS Office-type interface, this is my preference of these packages. Corel WordPerfect for UNIX supports WordPerfect, Word (old and new), HTML, RTF, FrameMaker, Applix, and several other document formats. It's available as a 30-day trial fully-enabled download. Price varies, but it's cheaper for upgrades and educational use. See http://www.corel.com/products/unix.htm The Applixware Office suite can read Word files, among other formats, as above, and comes with a spreadsheet and other applications. I still prefer WordPerfect for word processing, but Applix Office offers a broader array of applications. See http://www.applix.com/applixware/ You can also try wv (free), which converts Word 8 (Office 97), but not older, Word files to HTML. WordView is available in source form (mostly Perl and some C) from http://www.wvWare.com/ For the above software, more complicated Word format files cannot be converted, especially those saved with "Quick Save" enabled. Be aware that these office suites seem to require systems with 128MB of memory or more to perform reasonably (in my experience). Finally, you CAN'T use Sun's PC File Viewer. It's available (and free) only for the SPARC-resident Solaris 2.6 PC File Viewer is Sun's relabeled version of Inso Corp.'s (http://www.inso.com/) QuickView Plus. See http://www.Sun.COM/desktop/products/software/pcviewer.html _________________________________________________________________ (9.27) I downloaded Internet Explorer (or Media Player) but it doesn't install. What's wrong? Microsoft Internet Explorer for Solaris or Microsoft Media Player for Solaris are available only for the SPARC architectures. You'll get this message if you try to install it with ie4setup: "unexpected ( on line one" or "syntax error at line 1: '('" See the next question on Netscape. _________________________________________________________________ (9.28) Where can I get Netscape for Solaris Intel? Netscape comes with Solaris 8. For Solaris 7 or earlier or for the "domestic" version with 128-bit (high) encryption, you can download it from ftp://ftp.netscape.com/pub/communicator/english/4.77/unix/support ed/sunos551_x86/ This address changes slightly for each language and version. Or try http://www.netscape.com/download/ Netscape is available in pkgadd/webstart formats from Sun (including 128-bit encryption) from http://www.Sun.COM/solaris/netscape/ This seems to be better integrated with Solaris (especially Java), although they are usually a point release or two behind. There's also a FAQ here. For bleeding-edge types, I do NOT recommend Netscape 6, which is buggy and slow. Use Mozilla, which is much more stable and slightly faster. Solaris x86 binaries are available at http://www.mozilla.org/releases/ _________________________________________________________________ (9.29) Can I mount other ufs disks, say from BSDi/FreeBSD, and vice versa? Maybe. First, although Solaris, BSDi, FreeBSD, and NetBSD share a common-heritage file system, the Berkeley-style ufs, Solaris has made extensions. The 32-bit UID field has been modified in Solaris to be a pointer to a parallel "Shadow inode" with Solaris ACL information. Also, the superblock has an additional inode field in Solaris and 2 fields have different byte swappings. Reportedly, you can mount, say, zip disks from FreeBSD, on Solaris by doing a fsck on them before mounting. Fsck makes these fields Solaris- compatible. Your mileage may vary and you should test this (in both directions) before trying this on live data. _________________________________________________________________ (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? On Solaris 2.x, use fdisk to find your disk partition table. For example, on an ATAPI drive, # fdisk /dev/rdsk/c0d0p0 would show something like the following: Total disk size is 524 cylinders Cylinder size is 16065 (512 byte) blocks Cylinders Partition Status Type Start End Length % ========= ====== ============ ===== === ====== === 1 Solaris 0 260 261 50 2 Active Solaris 261 522 262 50 Where "Partition 1" was used for Windows 95. It was deleted and recreated with "Solaris" type. Make a ufs filesystem on the partition. (You can not subdivide this fdisk partition into Solaris slices). For example, # mkfs -F ufs /dev/rdsk/c0d0p1 4192965 where number 4192965 = 261 * 16065 is the total number of blocks on this partition, calculated as the cylinder length on this partition (261 from the above partition table) times the cylinder size (16065 blocks as shown in the header of the partition table.) Mount the filesystem as usual. For example: # mount /dev/dsk/c0d0p1 /export/home [Thanks to Michael Wang. Reference: Sun Microsystems INFODOC ID: 13142] _________________________________________________________________ (9.31) How can I convert a DOS/Windows text file to a Unix text file? dos2unix unix2dos The former removes the ^M and ^Z characters and the latter adds them. See man dos2unix and man unix2dos for details. _________________________________________________________________ (9.32) Can VMware be used with Solaris x86? Yes. VMware is commercial software to allow one to boot and use multiple operating systems at the same time, such as Linux and Windows provides graphical (VGA/SVGA) and X display capabilities. For networking, VMware provides for a "virtual disk" for the client O/S. It also can provide access to the floppy, CD-ROM, a virtual NIC and a virtual sound blaster 16. Note, the CD-ROM is a "virtual" ATAPI CD-ROM. Networking can be either host-based (private IP space and TCP/IP + SMB between the host O/S and the client O/S), or bridged (client uses an address on the actual network, host's NIC is bound to two or more IP addresses). VMware doesn't have documentation on installing Solaris Intel, but you can use these notes instead: Please read the other HOWTOs on the VMware site, http://www.vmware.com/ before installing Solaris x86. My install of version 7 on the dual PII 300 took about 1 hour. I have tested Solaris x86 version 7 (11/99 release) with VMware 2.0.1 with a Linux host. The host is a dual PII/300 with 128 MB of RAM. Solaris under VMware seems stable (it has been up for days). The host was setup with Linux (RedHat 6.2, patches, and 2.2.16). VMware was installed and bridged networking was enabled. Bridged networking allows the virtual machine to appear as a host on the local LAN. The CDROM, Floppy and virtual NIC were enabled. 1. Create a virtual disk for Solaris using VMware. I used 1GB on a free partition. When creating a virtual machine, VMware will ask you to select the guest OS type. Since Solaris is not currently a selection, use Windows 98. That has seemed to work best for most folks.` 2. Insert the Solaris x86 boot floppy and boot CD-ROM in the host computer. Start vmware and "power on" the virtual machine. The virtual machine should boot from the floppy and run the Solaris hardware detection program. 3. Follow the normal Solaris install instructions. Let Solaris find the floppy, CDROM, and virtual NIC. Partition your virtual disk (I let Solaris do it for me). Install Solaris normally. 4. I am using my virtual Solaris as a test NISPLUS server so I enabled NISPLUS and set the server to point to this machine. Following install, I setup NISPLUS on the virtual Solaris and all seems functional. 5. Setup X as VGA. It appears to work fine. However, I typically use my virtual Solaris in text mode and export xterms to my base O/S (Linux). Someone suggested that you try a Linux or other XF86 server but I have not tried this. The vmware server for Linux may work. If anyone does this could they please mail me instructions on what they did? 6. Setup files in /etc including /etc/hosts, etc. For example I changed /etc/netmasks: 172.16.4.0 255.255.255.0 Problems and issues noted: 1. Sometimes the Solaris install is very unhappy with the VirtualFloppy drive. Just disable it for your Solaris config if it gives you grief. One of the symptoms of this may be a VMware panic dialog box during the install. 2. I recommend you either a) Setup Solaris with an FTP Server ASAP or b) Insure you have an FTP server on the same network. This is the quickest way to get files in and out of a virtual machine -- especially until you get DNS working properly. 3. Solaris x86 currently does not use the HLT instruction in the idle loop (a post indicated this will change in the future). This causes the virtual machine to try to use 100% of your CPU (or on an SMP machine, 100% of a single CPU as VMware only emulates an UP machine). This makes a virtual Solaris only really usable as a server on an SMP machine. 4. A "volcheck" followed by a "mount" resulted in a strange "unimplemented" error from VMware. However, the CDROM appeared to be properly mounted. 5. There are no VMware tools for Solaris x86. There is no VMware X server. 6. Since there are no VMware tools for Solaris, the best resolution/color combo you can get out of the box is 640x400, 16 colors. However, you can use remote access programs (VNC is highly recommended) to set up a console "server" that you can connect to with a remote "client". I have used VNC to access my Solaris VM at any resolution and a color depth of 32. Accessing the Virtual Machine via VNC not only looks better because of the color and resolution, it is faster than using Solaris the native way it comes out of the box. [Thanks to W. Wade Hampton & additional notes from Patrick Allmond] _________________________________________________________________ (9.33) Is Solaris on Intel really "Slowaris"--slower than other Intel-based operating systems? By default, the other free OS's aren't SMP very capable out of the box--Solaris is. So, one single CPU system, Solaris has a fair amount on un-necessary overhead--which slows it down a bit. Because the other OSes don't have this capability, or at least don't use it to full advantage, they have a bit of a performance advantage on a single CPU machine. This advantage disappears when you start adding processors. So, I think Slowaris is a little bit too far, but it is at a bit of a performance disadvantage. But on an 800Mhz processor, who cares?! Odds are you'll just be idling very quickly! [Thanks to Rich Teer] _________________________________________________________________ (9.34) How can I remove (uninstall) Solaris from my hard drive? If you have another Operating System installed, boot into the other operating system (usually Windows or Linux). Select the current (non-Solaris) partition as the "Active" partition. Reboot. If the computer boots into the other operating system without the Solaris boot menu, you can safely delete the Solaris partition. If you have no other Operating System installed, simply install another operating system over Solaris on the hard drive. Select "Entire disk" or similar during the installation. _________________________________________________________________ (9.35) I can install Linux on a system with Solaris x86, but why can't I boot it? One possibility is because Linux kernels with UFS filesystem support will rearrange the numbering of the extended partitions in certain circumstances. Look at the following partition map reported by Linux during booting: Partition check: hda: hda1 hda2 hda3 hda4 < hda9 hda10 hda11 > Partition number 4 (hda4) is an "extended" partition, containing three logical partitions used by Linux. In this particular case, these logical partitions were created by the Red Hat Linux 7 installer, and they hold the Linux root filesystem, swap space, and a filesystem mounted on /home. The kernel used by the installer did not include UFS support, so it perceived /dev/hda4 to logically contain hda5, hda6, and hda7, and it recorded these settings with LILO and /etc/fstab. However, when the new Linux installation booted for the first time, it assigned hda5 to a Solaris partition, then tried to boot with it as the root filesystem. Under Red Hat Linux 7 with the 2.2.16 kernel, this generates the following error: Invalid session number or type of track Kernel panic: VFS: Unable to mount root fs on xx:xx To boot this system, provide LILO with something like "linux single root=/dev/hda9" to force the proper selection of the root filesystem (or you could also boot from the install CD with options like "linux single root=/dev/hda9 initrd="), then modify the root filesystem parameter in /etc/lilo.conf to reflect the change (and run the "lilo" command after modifying the file): image=/boot/vmlinuz-2.2.16-22 label=linux read-only root=/dev/hda9 Under most Linux distributions, you must also modify /etc/fstab to reflect the new partition layout. Red Hat Linux 7 now uses "labels" in /etc/fstab (which are maintained with the "e2label" command), which obviates the need to adjust /etc/fstab in this case (you still may need to adjust the swap partition in /etc/fstab, though). If the extended partition has a lower number than the Solaris partition, this renumbering won't occur. [Thanks to Charles J. Fisher] Copyright © 1997, 1998, 1999, 2000, 2001 Dan Anderson. All rights reserved. http://sun.drydog.com/faq/ 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. _________________________________________________________________ End of the Solaris on Intel - x86 FAQ. http://sun.drydog.com/faq/ Maintained by Dan Anderson, San Diego, California, USA. _________________________________________________________________