From mboxrd@z Thu Jan 1 00:00:00 1970 Date: Sun, 15 Oct 1995 22:14:37 -0400 From: Will Rose cwr@crash.cts.com Subject: Plan 9 install notes Topicbox-Message-UUID: 2dda2232-eac8-11e9-9e20-41e7f4b1d025 Message-ID: <19951016021437.YC8ZuYfX2e927cTynvuGtJFA2Rmxvl3nKUVm8WhxTew@z> The message that follows details all the things I wish I'd known before I started installing Plan 9 from CDROM on a PC. If you've been using Plan 9 for more than a couple of hours, it has no value for you - quit now. Note firstly that I very much like what I've seen of plan 9, and consider the setup to be pretty straightforward; I can remember a similar learning curve with Unix V7, and before that with CP/M. The problem is basically one of getting to a working prompt with a working editor; trivial if you've done it once, not so easy starting from scratch with a new type of OS. MSDOS, after CP/M, was easy, and so was any other Unix after V7, but Plan 9 is a new breed of cat, and it shows. Note also that what follows is my direct experience only, written while it is still fresh enough to be remembered. Some of my statements, tho' correct in the particular, are certainly wrong in the general case. And those experienced in Plan 9 will find workarounds to many of the problems I discuss. I used a lashed-up VLB system with an Adaptec 1542 controller, which I knew was supported, a cheap 3-button mouse, an ATI VGA Wonder graphics card and an SMC EtherEZ ethernet card. I was doubtful about the hardware support for some of these, but decided to try it and see. The main disadvantage of the PC version of Plan 9 is that it has no knowledge of the standard partition table, which means that it doesn't play nicely with other OSes. It seems to need a disk with one MSDOS partition on it, and *nothing* else; at least, I couldn't install it with anything else. Furthermore, trying to install the CDROM on a 501MB hard drive showed firstly that the MSDOS loader needed 2MB, and secondly that the CDROM gave an error message "insufficient disk space - 23 MB more needed" or words to that effect. The docs say that 500MB is sufficient, but it looks as if 540MB (base 2, not 10) is required for automatic install. The loading script seems to be compiled into b.com, and can't be edited. Since I didn't have a larger drive to spare, I installed the 4-disk ftp set, which was straightforward, and then tried to load the CDROM piecemeal; after several hours I could start the CDROM server but not bind to it, and had to look for help. Fortunately I found a message from C Forsyth in the Plan 9 newsgroup that covered the problem; I'd forgotten that the # character in the bind command needs to be escaped with ' from the shell. The commands (for a CDROM as SCSI device 3) were: % disk/kfscmd allow % 9660srv % bind -a '#R3' /dev % mkdir /n/cd % mount /srv/9660 /n/cd /dev/cd3 % /n/cd/386/bin/disk/mkfs -a -s /n/cd /n/cd/lib/proto/allproto | /n/cd/386/bin/mkfs -uv -d /n/kfs I expected this command to run out of space and crash, but for the reasons discussed below it went successfully to completion. Once I had installed the CDROM I could view the partition table with % /bin/disk/prep -r /dev/sd0disk This showed the 20MB MSDOS partition, the only entry in the standard MSDOS partition table, followed by a group of Plan 9 partitions listed at the end of disk - 1MB boot, 20MB (approx) swap, 512 bytes NVRAM, 480MB (approx) filesystem, and 512 bytes of Plan 9 partition table. To my suprise, after a full CDROM install du showed around 365MB of the 480MB used; quite why the install was so picky about having 520MB I don't know. Furthermore, since Plan 9 is multiplatform there are large trees for the 386, 68020, Mips and Sparc processors; if only two of these are needed, say 386 and 68020, the Mips and Sparc trees can be removed for a saving of around 52MB. However, they have to be installed first. There are other places where eg. Mips and Sparc code could be pruned, and there are large sky and US road maps in /lib, so a full system could perhaps be cut back to around 250MB, certainly to 300MB. After installing the CDROM in this way over the ftp set, I ended up with duplicate /bin /dev /env /net and /proc directories, one set owned by my personal login and the other, like most of the system, by sys; however, it all worked so I left it alone. On getting the system running, the first thing that confused me was that there is no cursor at the 'root is from...' prompt (this is clearly documented in the manuals). I rebooted twice before I realised that this was not yet another install hang... after that, it took me a while to realise that the 'none' login had a shell that pages by default. Things were complicated by the fact that my three-button mouse was a Taiwanese clone, which didn't give the Logitech-format data that Plan 9 needs, so that the center button was non-functional. After a bit I realised what was wrong, and bought a different cheap mouse; this turned out to be a repackaged Taiwanese clone. As a temporary measure I used a two-button Microsoft mouse, with the third button being produced by . I then bought a Logitech First Mouse, whose packaging scrupulously avoided mentioning Logitech compatibility and praised Microsoft extensively, but which worked fine. Since I wasn't sure of the windowing system, never mind the editor, I worked at the shell (rc) prompt for a while. Some unix commands have been ported, but there is no find (du | grep sometimes works but seems unreliable) and the only editor is ed. The pager, p, is limited. However, cat and sed are available, the filesystem is automatically checked after an uncontrolled shutdown, and $home (note not $HOME) works. The real lifesaver was 'cat readme' in the root directory, which reminded me of the command syntax for a controlled shutdown. The IBM arrow keys weren't functional, and there was still no indication of cursor position. The sequence for entering 8 1/2 on an IBM keyboard is 8-ALT-1-2; once I had a working 3-button mouse, the windowing system was much more pleasant to use - for one thing, I could see the cursor. The ordinary user's rc file sets up windows with scrolling enabled by default, too, which is nice. However, moving the cursor to the current prompt at the end of a window still required voodoo, I'm not yet sure why - two right clicks on the end of the elevator bar, followed by pressing enter. I am unable to fathom the obsession that windowing system users seem to have with analog clocks. I was pretty sure that the ATI card wasn't supported, and it worked at 640x480x1, nothing more. I replaced it with a cheap clone Cirrus 5426 VLB card which handled up to 1024x768x8. /bin/fb/colors showed a satisfactory palette. Reading the Sam paper I saw that 'the cut-and-paste editor is essentially the same as that in Smalltalk-80' and thought 'Oh, goody'. However, it's actually easy to learn once you realise that right click - select file name - right click in main window displays the current file. For simple tasks the command interface is basically that of ed. For some reason I don't like mouse-driven editors, tho' they are so much more versatile than keyboard-driven editors that I put up with them; on brief acquaintance Sam looks like a good combination of mouse and keyboard entry. Many PC systems are part of a small network using fixed routing tables rather than a domain nameserver. I could find no clear example of how to set up /lib/ndb/local to deal with this case, and I also had problems with the SMC EtherEZ card. It was recognised as an 8013 at sign-on, but I could get no further signs of life out of the network. I changed the card to a standard SMC EtherPlus Elite16, and after some tinkering with the 'local' database could telnet to a neighbouring SVR2 box. The first part of the final 'local' file was: # This server name is a placeholder - it doesn't exist. dom= ns=my.com dom=my.com ip=88.88.88.88 #INSTALL this network ip=88.88.88.81 sys=penny ip=88.88.88.82 sys=tuppen #END ip=88.88.88.83 ether=xxxxxxxx sys=tanner dom=my.com bootf= proto= The 88.88.88 and xxxxxxxx entries are fictitious, and several of the above entries are wrong or unnecessary; however, for the time being they work. All that got me a working system: logon prompt, editor, and network. Now all I have to do is learn how it works; but at least the first step is taken. I hope this note shortens the learning curve for someone else. Will cwr@crash.cts.com