From mboxrd@z Thu Jan 1 00:00:00 1970 Date: Thu, 2 Nov 1995 16:34:12 -0500 From: Steve Kotsopoulos steve@ecf.toronto.edu Subject: Plan 9 from AT&T Bell Labs - Frequently Asked Questions [FAQ] Topicbox-Message-UUID: 323401a4-eac8-11e9-9e20-41e7f4b1d025 Content-Type: text/plain; charset=UTF-8 Message-ID: <19951102213412.ikKkiTRdpt0_59Qa2c6HKskI1WVpilotYVvYe_7M0Rs@z> I posted this to comp.os.plan9 yesterday, but it hasn't shown up on 9fans, so: Newsgroups: comp.os.plan9,comp.os.misc,comp.answers,news.answers Summary: FAQ for the Plan 9 operating system Reply-To: steve@ecf.toronto.edu Organization: University of Toronto, Engineering Computing Facility Approved: plan9mod@bath.ac.uk news-answers-request@mit.edu Expires: 1 Dec 1995 Archive-name: comp-os/plan9-faq Last-modified: 1 Nov 1995 Posting-Frequency: monthly URL: http://www.ecf.toronto.edu/plan9/plan9faq.html This document answers frequently asked questions about the Plan 9 operating system. Much of it was taken (with permission) from Dennis Ritchie's Plan 9 Q&A press release. The following sections are new or modified since the last posting: * What PC hardware works well with Plan 9? * How do I Install Plan 9? * Are there any known problems? * Can I install Plan 9 with less than 8Mb of ram? * Are there any security concerns I should be aware of? * Is it suitable for real time control? * How can I get involved? * What is a boddle and what is it good for? A hypertext version of this FAQ is available on my Plan 9 web page, URL http://www.ecf.toronto.edu/plan9/ Other sources of information include the newsgroup comp.os.plan9, which is bidirectionally gatewayed to the 9fans mailing list, and of course the Plan 9 homepage at Bell Labs, URL http://plan9.att.com/plan9/index.html Please forward any comments or suggestions regarding this FAQ to steve@ecf.toronto.edu. ------------------------------------------------------------------------------- Introduction: * What is Plan 9? * What is its relation to other operating systems? * What are its key ideas? * What are the advantages to this approach? Hardware and Software: * What platforms does it run on? * Is anyone working on a port for my system? * Does it support symmetric multiprocessing? * Is it object-oriented? * What about applications and tools? * What about application portability? * What resources does it need? * What GUIs does it support? * What character set does it use? * What about security and user authentication? * How does it communicate with other systems? * Is it suitable for real time control? Installation: * What PC hardware works well with Plan 9? * How do I Install Plan 9? * Are there any known problems? * It doesn't work for me, how should I troubleshoot? * How do I upgrade from the old release of Plan 9? * How do I install Plan 9 on a standalone Sparc? * How do I install Plan 9 on a Next? * Can I install Plan 9 with less than 8Mb of ram? * Are there any security concerns I should be aware of? * What is a boddle and what is it good for? General Information: * Where did the name come from? * How can I Obtain Plan 9? * How can I get involved? * How can I get more detailed technical information? ------------------------------------------------------------------------------- Introduction: Subject: What is Plan 9? Plan 9 is a new computer operating system and associated utilities. It has been built over the past several years by the Computing Science Research Center of AT&T Bell Laboratories, the same group that developed Unix, C, and C++. Plan 9 is a distributed system. In the most general configuration, it uses three kinds of components: terminals that sit on users' desks, file servers that store permanent data, and other servers that provide faster CPUs, user authentication, and network gateways. These components are connected by various kinds of networks, including Ethernet, Datakit, specially-built fiber networks, ordinary modem connections, and ISDN. In typical use, users interact with applications that run either on their terminals or on CPU servers, and the applications get their data from the file servers. The design, however, is highly configurable; it escapes from specific models of networked workstations and central machine service. Subject: What is its relation to other operating systems? Plan 9 is itself an operating system; it doesn't run as an application under another system. It was written from the ground up and doesn't include other people's code. Although the OS's interface to applications is strongly influenced by the approach of Unix, it's not a replacement for Unix; it is a new design. Subject: What are its key ideas? Plan 9 exploits, as far as possible, three basic technical ideas: first, all the system objects present themselves as named files that are manipulated by read/write operations; second, all these files may exist either locally or remotely, and respond to a standard protocol; third, the file system name space - the set of objects visible to a program - is dynamically and individually adjustable for each of the programs running on a particular machine. The first two of these ideas were foreshadowed in Unix and to a lesser extent in other systems, while the third is new: it allows a new engineering solution to the problems of distributed computing and graphics. Plan 9's approach means that application programs don't need to know where they are running; where, and on what kind of machine, to run a Plan 9 program is an economic decision that doesn't affect the construction of the application itself. Subject: What are the advantages to this approach? Plan 9's approach improves generality and modularity of application design by encouraging servers that make any kind of information appear to users and to applications just like collections of ordinary files. Here are a few examples. The Plan 9 window system (called 8½) is small and clean in part because its design is centered on providing a virtual keyboard, mouse, and screen to each of the applications running under it, while using the real keyboard, mouse, and screen supplied by the operating system. That is - besides creating, deleting, and arranging the windows themselves - its job is be a server for certain resources used by its clients. As a side benefit, this approach means that the window system can run recursively in one of its windows, or even on another machine. Plan 9 users do Internet FTP by starting a local program that makes all the files on any FTP server (anywhere on the Internet) appear to be local files. Plan 9 PC users with a DOS/Windows partition on their disk can use the files stored there. ISO 9660 CD-ROMs and tar and cpio tapes all behave as if they were native file systems. The complete I/O behavior and performance of any application can be monitored by running it under a server that sees all its interactions. The debugger can examine a program on another machine even if it is running on a different hardware architecture. Another example is the approach to networks. In Plan 9, each network presents itself as a set of files for connection creation, I/O, and control. A common semantic core for the operations is agreed upon, together with a general server for translating human-readable addresses to network-specific ones. As a result, applications don't care which kind of network (TCP/IP, ISDN, modem, Datakit) they are using. In fact, applications don't even know whether the network they are using is physically attached to the machine the application is running on: the network interface files can be imported from another machine. Hardware and Software: Subject: What platforms does it run on? The Plan 9 kernel and applications are highly portable. Plan 9 runs on four major machine architectures: Intel 386/486/Pentium, MIPS, SPARC, and Motorola 68020. Data structures and protocols are designed for distributed computing on machines of diverse design. Except for necessarily machine-dependent parts of the kernel, the compilers, and a few libraries, there is a single source representation for everything. The systems supported under each architecture are: 386 386, 486, Pentium and clones see the "What PC hardware works well with Plan 9?" section of this faq for more information on this popular topic MIPS MIPS Magnum 3000, 6280, SGI Power Series, Indigo, Challenge M; SPARC SLC (4/20) Sparcstation 2 (4/75) have been tested, Sparcstation 1 (4/60), IPC (4/40), 1+ (4/65), ELC (4/25), and IPX (4/50) will probably work too; 68020 Gnot, 68040 NeXTstation. More details are available in "The Various Ports" at URL http://plan9.att.com/plan9/doc/port.html Subject: Is anyone working on a port for my system? The system does not run on an SGI Indy yet, but either forsyth or Steve Kotsopoulos will probably get it working once they have the time. Both David Hogan and forsyth (separately) ported an older version of Plan 9 to the Sun-3/50 and 3/60. David Hogan has the new release working on Sun-3/50 and 3/60s and forsyth has offered to get it ready for distribution. He will make it available once he tidies it up. David Hogan is also working on a port to the DEC Alpha architecture. He will announce it when it is ready. Neither the Amiga nor Atari are supported. The Decstation 2100 and 3100 are not supported. Subject: Does it support symmetric multiprocessing? Yes. SGI Power series multiprocessors are supported both as CPU servers and file servers. Subject: Is it object-oriented? No, not in the conventional sense. It is written in a strict dialect of ISO/ANSI C. In a wider sense, its general design of making all its `objects' look like files to which one talks in a well-defined protocol shows a related approach. Subject: What about applications and tools? Plan 9 comes with its own compilers for C and other languages, together with all the commands and program-development tools originally pioneered in the Unix environment. It also provides newly designed software. Alef is a new language that provides threads, inter-process and inter-machine communication through typed channels, and abstract data types. Acid is a programmable debugger that understands multiple-process programs, and the programs it is debugging may be running on a hardware platform different from its own. Acme is a new user interface in which any word on the screen can be interpreted as a command by clicking on it, and any string can specify a file to be displayed. Subject: What about application portability? Plan 9 comes with a library that makes it easy to import POSIX-conforming applications. There is also a library that emulates the Berkeley socket interface. Subject: What resources does it need? As might be expected, the answer depends on what you want to do. The kernel, the window system, and the basic applications will run comfortably on a PC with 8MB of memory. A single diskette can hold the kernel, window system, editor, and basic Ethernet/Internet interface. A 4-diskette set holds a system sufficient for simple program development (compiler, loader, debugger, more utilities). On the other hand, the system can grow. The installation at AT&T Bell Laboratories includes multiprocessor SGI Power Series and Challenge machines as CPU servers, and a 350GB Sony WORM disk jukebox for the file server. Subject: What GUIs does it support? The standard interface doesn't use icons or drag-n-drop; Plan 9 people tend to be text-oriented. But the window system, the editor, and the general feel are very mousy, very point-and-click: Plan 9 windows are much more than a bunch of glass TTYs. The system supports the graphics primitives and libraries of basic software for building GUIs, and if need arises, the X window system has been ported to Plan 9. [Note: The X server only runs on MIPS systems. No one at Bell Labs is working on the port, so they didn't ship it with the CDROM] Subject: What character set does it use? The character set is Unicode, the 16-bit set unified with the ISO 10646 standard for representing languages used throughout the world. The system and its utilities support Unicode using a byte-stream representation (called UTF-8) that is compatible with ASCII. On Plan 9, one may grep for Cyrillic strings in a file with a Japanese name and see the results appear correctly on the terminal. Subject: What about security and user authentication? Plan 9's authentication design is akin to that of MIT's Kerberos. Passwords are never sent over networks; instead encrypted tickets are obtained from an authentication server. It doesn't have the concept of `set UID' programs. The file server doesn't run user programs, and except at its own console, it doesn't allow access to protected files except by authenticated owners. The concept of a special `root' user is gone. Subject: How does it communicate with other systems? The distribution includes a server that runs on Unix-compatible systems and understands the native Plan 9 remote file protocol, so that file systems of Unix machines may be imported into Plan 9. It also includes an NFS-compatible server that runs on Plan 9, so that Plan 9 file systems may be accessed from other systems that support NFS. It includes the full suite of Internet protocols (telnet, rlogin, ftp). Subject: Is it suitable for real time control? No, it is not. It is a general purpose system, without an interrupt priority scheme or real scheduler. Installation: Subject: What PC hardware works well with Plan 9? If you don't want to spend time fiddling with and swapping PC hardware, you may prefer to buy hardware that is in use within Bell Labs. If so, have a look at the "What We Use" document by jmk@plan9.att.com, at http://www.ecf.toronto.edu/plan9/clone.html The general recommendation would be for a 486 PCI+ISA motherboard with I/O on the motherboard that would take a DX4-100. SIS or Intel chipset should be OK. If you can afford it, Intel cpus have larger primary caches and less possibility of running into incompatibilities. A condensed summary of the hardware that is known to work follows: Motherboards AMI Enterprise IV, ACER AP41 Pentium motherboards ASUS PCI/E-P54NP4, Gigabyte GA586-ID VGA cards/chips S3 80[15], S3 928, S3 864, S3 964, S3 Trio64, S3 Trio32, Tseng Labs ET4000, Tseng Labs ET4000/W32p, Tseng Labs ET4000/W32i, ARK2000pv, CL-GD542x, CL-GD543x, C&T65540, MACH32, MACH64. Monitors IDEK 8617, Viewsonic 17, Nokia 445X, Nanao Flexscan 6500 21" greyscale. SCSI Controllers Buslogic controllers have been the most trouble-free, due to their open policy on providing programming information. Adaptec 1542 series, Ultrastor 14F ISA and a 34F VLB, though many people have had problems with the Adaptec 1542CF. SCSI CD-ROM 2x Toshiba 3401, NEC 74 and 3Xi, 4x Plextor 4-Plex. The Toshiba and Plextor let you read the digital audio over the bus. Non-SCSI CD-ROM Mitsumi, Panasonic and Matsushita, attached to a Sound Blaster audio card. Audio Sound Blaster 16 or compatible (not the Sound Blaster Pro). Mouse PS/2 or serial Ethernet Adapters 3Com 3C509, 3C509B are recommended. The PCMCIA (3C589) and the PCI (3C590) also work. SMC (WD) series up to the Elite (but not the Elite Ultra), some NE2000 compatibles (including an NE4100 PCMCIA card) and one Eagle NE3210 EISA card. If you have time for netnews, the OS/2 and Linux newsgroups probably have some useful information. Another useful web page on PC hardware (with a BSDi bias) is "PC Hardware Hints and Kinks" at http://www.vix.com/pc-hw/ Subject: How do I Install Plan 9? The installation is designed to be run from a PC. Note that Plan 9 uses an unallocated portion at the end of the disk, and you won't see this partition with the FDISK program. 1. Back up your system. 2. Make sure you've backed up your system. 3. Read "Installing the Plan 9 Distribution" at URL http://plan9.att.com/plan9/doc/install.html 4. Check the errata page at http://plan9.att.com/plan9/errata.html for problems and fixes found since the distribution was frozen. More recent bugfixes are now distributed in boddle format from the update directory at ftp://plan9.att.com/plan9/update 5. Here are some more questions that have been answered on the 9fans list: Mice If aux/mouse is having problems guessing the protocol, you can use the undocumented '-d type' option to help it out. Use 'aux/mouse -dC $mouseport' for a Logitech type C mouse, '-dW' for a Logitech type W mouse, or '-dM' for a Microsoft compatible mouse. Name service If you have having problems, first check that ndb/dns is running. It needs to be started in /rc/bin/termrc. binding and mounting devices Note that # is the shell comment character, so you should enclose it in single quotes. For example: bind -a '#R6' /dev Subject: Are there any known problems? There are fixes in the works for the floppy disc read and Adaptec 1542C[FP] timeout problems. The hard disc partitioning problem with OS/2 and Linux will take longer to fix, but it is being worked on. The SoundBlaster cdrom device driver (#m) was not included in one of the kernels on the floppies. It has been added to the as yet unfinished new set. Problems with Adaptec 1542C[FP] If the BIOS is enabled on the 1542C/CF and BIOS options for support of drives > 1Gb, dynamic scanning of the SCSI bus or more than 2 drives under DOS 5.0 are enabled, the BIOS disables accepting Cmbinit to protect against running with drivers which don't support those options. In order to unlock the interface it is necessary for the driver to read a lock-code using Cextbios and write it back using Cmbienable; the lock-code is non-zero. If any of the options mentioned above are on, timeout errors will occur. Either the BIOS or all the relevant options should be disabled. There is a new version of b.com on plan9.att.com in the pcdist subdirectory which should overcome this problem but it's not known if it works in all cases. Adaptec AHA-2xxx series controllers There is no support for any Adaptec AHA-2xxx series controller. It would be great if someone wrote a driver since these are popular and show up embedded on motherboards. However, it's completely different from any other Adaptec controller and the rumour on the street is that a driver would be a fair amount of work. Manuals are hard to get, they seem to be permanently on back-order. If someone wants to tackle this project, the driver for FreeBSD may be a good starting point. The NCR8xx series look to be a cheaper alternative with similar performance and someone is already working on a driver. 3C509B ethernet card Make sure you disable the Plug-and-Play option and set the transceiver type explicitly(don't use auto-select mode) Sound Blaster 16 CD-ROM drive Originally, the Sound Blaster 16 CD-ROM port used a proprietary interface to attach Mitsumi, Panasonic or Matsushita CD-ROM drives. IDE (ATAPI) CD-ROM drives have become popular recently and there are now Sound Blaster 16's which can use those drives (e.g. the Vibra 16). There wasn't time to incorporate ATAPI support in the distribution but an updated 4-disc set should be available soon to enable installation with an ATAPI CD-ROM attached to any of the 4 possible IDE controllers on a PC. Subject: It doesn't work for me, how should I troubleshoot? If you are having having SCSI problems, check your cables and terminators. this is generally the single largest cause of weird SCSI problems. Active terminators are best. If you run external cables you need to get high quality ones. Also, don't crank of the speed on the card. Simple vga cards and monitors should work at 640x480x[12] For higher resolutions, especially on untested cards, you will have to find out more about the card so you can configure it. For a detailed debugging guide (too large to include here), see http://www.ecf.toronto.edu/plan9/info/vga Subject: How do I upgrade from the old release of Plan 9? The 9P protocol has changed in the second edition, due to changes in the way that Plan 9 does its authentication. For those using Unix-based (u9fs) file servers, you will have to compile and install the new version of u9fs. For more tips on running with a u9fs file server, see http://www.ecf.toronto.edu/plan9/info/u9fs For those using the standard Plan 9 file servers, ken@plan9.att.com reports that the disk format in the new release is the same, so there should be no problems running the new FS code on old disks. Subject: How do I install Plan 9 on a standalone Sparc? abochann@cisco.com (Alex Bochannek) did it as follows: 1) Unpack the CD on a UNIX system and install a u9fs server. 2) Boot the SPARC off the u9fs server 3) Create a kfs on sd1 and unpack the whole CD on it. 4) Copy the file /sys/src/9/ss/sscd to /sys/src/9/ss/sssd1 5) Change the line k9660srv.root to kfs.root and change the line boot terminal #R6/cd6 to boot terminal #w1/sd1 6) Add sssd1 to the CONFLIST and change CONF=ss to CONF=sssd1 in the ss/mkfile 7) Do a make all in /sys/src/9 8) Copy the new image 9sssd1 to your favorite TFTP server (or boot from sd3 on your local system) Subject: How do I install Plan 9 on a Next? For a summary of how taweil@ucs.usc.edu (Ta-Wei Li) did it, see http://www.ecf.toronto.edu/plan9/info/next.html Subject: Can I install Plan 9 with less than 8Mb of ram? The official answer is no, 8Mb is the minimum supported memory configuration. Some people are using with only 4Mb though. You'll need to borrow 4Mb from another system to get you past the install process (where 8Mb is needed to expand the diskettes). After the install is done, you may be able to run with only 4Mb if you set the vga at a low resolution and/or depth, or perhaps fiddle with the kernelpercent parameter in plan9.ini(8). Subject: Are there any security concerns I should be aware of? If someone sets up their plan9 system according to the manuals, anyone on the internet can telnet/rlogin in as 'none' without a password To disable this anonymous access, use the undocumented '-N' option to aux/telnetd and aux/ftp, which disallows logins as 'none'. Since aux/rlogin execs aux/telnetd without the '-N' option, the only protection may be to patch the source, or remove /bin/service/tcp513 Finally, ip/tftpd grants access to any world-readable file. The main concern here is that people using u9fs as their file server probably have an /etc/passwd file from their Unix system accessible. If so, make sure you don't have any encrypted passwords in it, or someone could steal it and use 'crack' to break the passwords. Subject: What is a boddle and what is it good for? It's a bundle o' diffs: an rc script that when run with appropriate options will apply a set of changes to the reference copy of the source from the CDROM producing an updated copy in a subdirectory, for you to cat and diff, and eventually cp onto the active source for a subsequent mk. The boddle command (not in the release, fetch it from plan9.att.com) takes a reference source and an updated version and produces a boddle file. it comes with a manual page; read that for details. General Information: Subject: Where did the name come from? It was chosen in the Bell Labs tradition of selecting names that make marketeers wince. The developers also wished to pay homage to the famous film, "Plan 9 From Outer Space". Subject: How can I Obtain Plan 9? Complete information for purchasing the Plan 9 distribution or ftp'ing the free PC trial version is available at URL http://plan9.att.com/plan9/distrib.html To summarize the information on the above webpage: Contents The Plan 9 distribution consists of two books, four 1.4 megabyte floppies, and a CD-ROM. The books contain the manual pages and a collection of papers describing the system. The four floppies contain a complete bootable Plan 9 system for IBM-compatible PCs (>=386). They have the kernel, the window system, Internet support, and programming environments for both the C and Alef languages. The CD-ROM contains everything: kernels, libraries, and utilities for the Intel 386 (including 486 and Pentium), Sparc, 68020, and Mips architectures and the sources to create them. It also has a selection of interesting stuff (road maps of the US, sky catalogs). To find out whether Plan 9 supports your hardware, read "The Various Ports" at URL http://plan9.att.com/plan9/doc/port.html To Order The distribution is published by Harcourt Brace and Company. To order it from the US call 800 782 4479. >>From Canada and the Caribbean, call 800 841 9938 Elsewhere, use +1 407 345 3800 The cost for the full kit is US$350 plus shipping; the ISBN is 0-03-017143-1. The manuals can be ordered by themselves for US$125 plus shipping; ISBN is 0-03-017142-3. Everyone, even AT&T employees, must order the system this way. There are no special arrangements or deals. Any bookshop should be able to order it for you if you give them one of the ISBN numbers. Free Trial Plan 9 does not purport to run on all PCs. Since Plan 9 does not use the BIOS, it is sensitive to hardware differences between PCs. Therefore, the developers provide the contents of the four floppies on the Internet via FTP for you to try out. Ftp to plan9.att.com, log in as anonymous, and get the files from /plan9/pcdist. Subject: How can I get involved? The best way to learn about the system is to write something that other people in the Plan 9 user community could use, or to port the system to new platforms. Several people have already made their applications available, such as an http server, Unix-based authentication server, fileserver port to the PC, etc. The current list of user-contributed software includes: pace@blitz.com (Pace Willisson) has ported the Plan 9 authentication server to Unix, to allow Plan 9 terminals to function without a Plan 9 cpu server performing authentication. For more details, see http://www.ecf.toronto.edu/plan9/info/unixauth avg@postman.ncube.com (Vadim Antonov) has provided some information on converting terminals into multi-user hybrid cpu servers and terminals. For his posting to 9fans, see http://www.ecf.toronto.edu/plan9/info/misc/cpu_terminal Other software is available on the Plan 9 user community ftp site, ftp.ecf.toronto.edu:/pub/plan9 If anyone would like their projects listed here, let me know. This should help prevent duplication of effort, and increase involvment from the 'net community. If you are looking for a list of suggested project topics, see http://www.ecf.toronto.edu/plan9/info/projects Subject: How can I get more detailed technical information? The Internet site plan9.att.com stores a collection of papers about the system in the plan9 directory; they are available for anonymous FTP. For a hypertext interface to these papers, see http://plan9.att.com/plan9/vol2.html For the manual pages, see http://plan9.att.com/plan9/vol1.html Copyright © 1995 AT&T. All rights reserved.