[comp.sys.next] Build an external disk as boot disk with 2.0

stung@greatwhite.cs.indiana.edu (Sho-Huan Simon Tung) (02/08/91)

I have just got my Fujitsu 2263S setup as boot drive with all the 2.0
software on it. Here is how I did it.

1. Follow page 168 of "Network and System Adminitration" to configure
   the disk using the following detailed description on jumper setting
   posted by Izumi Ohzawa (izumi@violet.berkeley.edu).
   I setup the scsi-id to 2. The drive is already internally
   terminated.
   
   The only difficulty I encountered was to conect the cable in the
   enclosure to the disk. There is no way to tell whether pin 1 of
   the  cable conect to pin 1 of the disk or pin 50 of the disk.
   But, I have only two choices. I get it right the second time.

----- Start of Izumi's posting -----
[1] Jumper settings on the drive

  (a) SCSI target# can be set by jumber block "CN9" located right
	next to the SCSI bus connector of the drive.  Three jumpers
	closest to the SCSI connector encode the target number in
	binary.

	View from the back of the drive, with the drive UP-SIDE DOWN.

     |-----------|  |----------------------------|       .......
     | power con.|  |   50 pin SCSI connector    |   CN9 .......
     |-----------|  |----------------------------|       \-/
		                                          ID

	For SCSI target# 0, remove the three left-most jumpers on CN9.
	For SCSI target# 1, keep the left-most one, and remove the
		second and third jumper from left.

  (b) Remove two jumpers at both ends of the jumper block "CNH2".

	Locate the jumper block "CNH2" betweeen two surface-mount VSLI's
	whose labels are obscured by capacitors ( 1cm square blocks
	colored blue on my drive, with two leads).
	There are 8 jumpers in this block.

           On Jumper Block "CNH2" remove:
                        [1-2]      INQUIRY DATA
                        [15-16]    Synchronous Mode Transfer

	If you can't figure out the numbers on the block,
	[1-2] is at one end and indicated by a little triangle mark, and
	[15-16] is at the other end (8-th position from the triangle).

	[  This information was kindly provided by Helene Young-Myers,
	helene@secd.cs.umd.edu, and her husband Eugene D. Myers.
	Thank you! ]
----- end of Izumi's posting -----

2. Power down and bring the disk to my school's NeXT lab.

3. Following page 172 of "Network and System Administration" to build
   the system software on the hard disk. An optical disk containing
   the entire 2.0 software is used. Be careful, do NOT build "MyDisk"
   build the "UntitledDisk". It takes about an hour.
   
   Skip step 4. described in page 173.

4. Bring the disk home and connect the drive to the nextstation 
   then power up.

6. Modify the file etc/fstab in the EXTERNAL disk with the following line
   commented out. It should be possible to do this at the end of step 3.
   (I can not remember where the disk was mounted.)

   /dev/sd0b/clients 4.3 rw, noquota 0 2

   (Again Izumi gave this information. I do not understand why I need 
    to do this and I didn't do it with my first try. The drive boots
    with my mouse frozen and I have to use the NMI moditor to get out.)

7. Power down the computer and the drive. Set the scsi-id of the drive
   to 0 and reboot.

Done! 

I didn't attempt to setup my internal drive as 'swapdrive' because
someone told me that I can no longer boot from the internal drive
and if I do the symlinks in the internal drive would be messed up. 
Does anyone know how to use the internal drive as swapdrive and still
be able to boot from it (in case the external crash)? Thanks!
   
Simon Tung
Computer Science Department
Indiana University
stung@iuvax.cs.indiana.edu
   

   

lacsap@plethora.media.mit.edu (Pascal Chesnais) (02/08/91)

I didn't attempt to setup my internal drive as 'swapdrive' because
someone told me that I can no longer boot from the internal drive
and if I do the symlinks in the internal drive would be messed up. 
Does anyone know how to use the internal drive as swapdrive and still
be able to boot from it (in case the external crash)? Thanks!
   
Simon Tung

---

The interal 105Mbyte drive is a reasonably fast drive, if your
external drive is slower, then you should definitely consider
using the internal disk to swap. The choice you have to make
is whether use the internal or external drive your root disk.
If you make the internal the booted disk and the root disk
then you will need to make symlinks all over the place.  This
is possible if you are confident where things are.  If you are
going to use the external drive to boot and use as the root
partition, then follow the instructions in NeXTanswers QA355
below (minus formatting info)

pasc

swapdisk other than on 40

Q: Does anyone have any experience setting up an alternative swap device?  I'm booting off the Ethernet and want to swap to a 330.  Do I just label my 330 as swapdisk?

A:  Following is the answer, and lots of background.  The quick answer, though: yes, call it swapdisk and things (mostly) work, with only a little more to do, like modifying swaptab(5) and fstab(5).

When the system boots up, it runs /etc/rc, a shell script.  The rc script (rc stands for *Run Control:) is what does *multi-user start-up.:  One thing to recognize is that in single-user land, the virtual memory system is turned off: no paging is done.  The paging system is fired up during multi-user start-up.  (Now, one might think this is a big limitation on single-user mode's usefulness.  Not really: we have a minimum 8MB of core, so without the Window Server and the Workspace Manager, there's lots of r











oom in which to play.)

In the *Goode Olde Dayes,: the system would (typically) page to the file

	/private/vm/swapfile

Typically, because it's actually configurable, in /etc/swaptab (yes, there's a man page: section 5).  The mach_swapon(8) command, invoked in rc, reads swaptab and enables paging on the specified files.  And that was that, mostly.

Now we have the possibility of the swapdisk, which we want to use automatically.  So, another rc script was written: rc.swap handles the determination of whether there's a swapdisk present, and, if so, turning on paging to it.  To do this, rc.swap looks in /etc/fstab, trying to find a file system called /private/swapdisk which should be mounted.  (NOTE: this information is NOT obtained from NetInfo!)  If it finds one, it looks at the device's label, to see if the device is called swapdisk.  If not, it igno











res the disk; if so, it continues on to enable paging on that disk.  (See the checkswap(8) command for yet more details.)

Specifically, to enable paging, rc.swap first mounts the file system.  Then, it ensures that the file

	/private/swapdisk/vm/swapfile

exists, and invokes mach_swapon to turn on paging P turning it on explicitly to this file, and not consulting swaptab.  In addition, rc.swap ensure that /tmp references a directory on the swapdisk.

None of this changes what rc itself does, though.  It still invokes mach_swapon, just like in the Goode Olde Dayes.  This will enable paging to two files (based on the standard configuration of swaptab):

	/private/swapdisk/vm/swapfile
	/private/vm/swapfile

This might seem like A Good Thing, but it isn't.  Last we knew, there was a (minor?) bug which prevented using multiple swapfiles successfully.  (The bug is that if a mapped file spans swapfile boundaries, not-completely-predictable things can happen.  To tickle the bug, though, the primary swapfile must fill up first.)  Should be benign, really.

So, back to the original question!  Here it is again:

Q: Does anyone have any experience setting up an alternative swap device?  I'm booting of the Ethernet and want to swap to a 330.  Do I just label my 330 as swapdisk?

Yes, label the 330 as swapdisk, and all should be fine.  Note that everything after the first eight characters in the disk name is ignored, so swapdisk1 or swapdiskFuBar is supposed to work, too.  But, please please please don't then boot off the 330 after having used it for a swapdisk: /tmp will be screwed up.  Remember that rc.swap puts points /tmp to the swapdisk?  Well, you end up with /tmp referencing (eventually)

	/private/swapdisk/tmp

(We say *eventually: because there are multiple levels of symbolic links).  So at best, a bit of mucking around, perhaps in rc, will be needed to set things back to rights.  If you're always going to boot off the network, then

	7 rename your disk to be swapdisk;
	7 be sure that /private/swapdisk is referenced in the client partition's fstab;
	7 to be safe, be sure that /private/vm/swapfile is not referenced in the client
	   partition's swaptab.

A reasonable fstab entry for this would be

	/dev/sd0a      /private/swapdisk       4.3 rw,noquota,noauto   0 1

And, if booting off both the network and the 330 is desired, add stuff to ensure that /tmp is always a valid reference (perhaps adding this to rc.swap would be reasonable: if no swapdisk is present, ensure that /tmp references /private/tmp, and that /private/tmp is a real directory, not a link to, for example, /private/swapdisk/tmp).

Incidentally, one CAN use a swapdisk in conjunction with booting off a SCSI.  Just connect up an outboard disk, name it swapdisk, ensure there's a file system on it, and put the device in fstab, using a line like that above but specifying /dev/sd1a instead of /dev/sd0a, for example.

QA355

wjs@milton.u.washington.edu (William Jon Shipley) (02/09/91)

Sho-Huan Simon Tung writes:
>I have just got my Fujitsu 2263S setup as boot drive with all the 2.0
>software on it. Here is how I did it.
[ how he did it... ]
>   The only difficulty I encountered was to conect the cable in the
>   enclosure to the disk. There is no way to tell whether pin 1 of
>   the  cable conect to pin 1 of the disk or pin 50 of the disk.
>   But, I have only two choices. I get it right the second time.

Yikes!  This is not the approach I would recommend.  Our 2263 arrived
with a copy of Izumi's post AND a fair sized manual.  In this manual
you are instructed which side of the disk SCSI connector is pin 1.

Note to 040 users: This drive may turn out to be a REAL win, besides
the fact that it formats to 710 MB (with 1024 byte blocks) and costs
~$1410 and has a five year warranty.  According to the drive manual,
jumpers 1-2 allow you to set the drive in SCSI-2 mode, enabling
synchronous transfer at up to 4.8 MB/s.  (This is the same transfer rate
advertised in NeXT's blurb on the NeXTstation SCSI port, so I assume
the NeXT can handle it as well.)

Kind of beats the pant off of the 700 KB/s it runs normally, and the
900 KB/s Wrens get.

I haven't, unfortunately, gotten my station yet, so I haven't been able
to test this.  When I do, I'll post the new and improved jumper settings
for 040 folks.

-w

stung@greatwhite.cs.indiana.edu (Sho-Huan Simon Tung) (02/09/91)

In article <16112@milton.u.washington.edu> wjs@milton.u.washington.edu (William Jon Shipley) writes:
>Sho-Huan Simon Tung writes:
>>I have just got my Fujitsu 2263S setup as boot drive with all the 2.0
>>software on it. Here is how I did it.
>[ how he did it... ]
>>   The only difficulty I encountered was to conect the cable in the
>>   enclosure to the disk. There is no way to tell whether pin 1 of
>>   the  cable conect to pin 1 of the disk or pin 50 of the disk.
>>   But, I have only two choices. I get it right the second time.
>
>Yikes!  This is not the approach I would recommend.  Our 2263 arrived
>with a copy of Izumi's post AND a fair sized manual.  In this manual
>you are instructed which side of the disk SCSI connector is pin 1.

You are right the drive comes with a manual and I also looked at the 
manual. However, Figure 2.16 and Figure 2.13 which show the scsi
connector are kind of confusing. Use Figure 2.13, Figure 2.16 should
be interpreted upside down when the print circuit board of the drive
is at bottom.

Simon

izumi@fugitive.berkeley.edu (Izumi Ohzawa) (02/09/91)

In article <1991Feb9.010023.20660@news.cs.indiana.edu>
  stung@greatwhite.cs.indiana.edu (Sho-Huan Simon Tung) writes:
>In article <16112@milton.u.washington.edu>
   wjs@milton.u.washington.edu (William Jon Shipley) writes:
>>
>>Yikes!  This is not the approach I would recommend.  Our 2263 arrived
>>with a copy of Izumi's post AND a fair sized manual.  In this manual
>>you are instructed which side of the disk SCSI connector is pin 1.
>
>However, Figure 2.16 and Figure 2.13 which show the scsi
>connector are kind of confusing. Use Figure 2.13, Figure 2.16 should
>be interpreted upside down when the print circuit board of the drive
>is at bottom.

The SCSI connector itself has a label (bottom side) which indicates
which pin is pin-1.  Unfortunately, you can't see it when the
drive is mounted.  So, remember to make a note of it before you
mount the drive.

Also, cable from NeXT is keyed, so you can't connect it the wrong way.
If you bought an internal SCSI cable  from a 3-rd party, then you
must be careful.

Thanks to Chris Songer at Purdue Univ., I am now also a
happy customer of Fast Access (Elmhurst, IL, 708-530-7749,
contact Mal Steadman).
$1430 total for (M2263SA + shipping to CA via UPS ground).
He (Mal) says there's no shortage of the drives as an earlier posting
might suggest.

By the way, I have done the low-level format of Fujitsu
M2263SA on a 030 cube using "/usr/etc/disk".  There is now
a command "Format" from the interactive prompt of 'disk'.  This in turn
execs "/usr/etc/sdform /dev/rsd0a", so you can do it via
'sdform' too.
It was a bit scary to do this, but it seems to work.
It takes about 20-30 min for M2263SA.
(This was done with a beta version of 2.0., but
I assume there is 'sdform' on real 2.0  too -- sigh, still waiting...).

The low-level format isn't really needed.  
The drive comes pre-formatted  from  factory.
But, I would just feel better if I did it.
If a drive develops "MEDIA ERRORS" as recorded in /usr/adm/messages,
you will probably have to do a low-level format.
Redoing BuildDisk can't fix MEDIA ERRORs.

And, just for additional info, if BuildDisk app fails for some reason.
You can try from Terminal "builddisk sd0" command.  It's more flexible,
and you can prepare your own BLD.* script to adjust directories
to be loaded onto disks to be built.

-- 
Izumi Ohzawa             [ $@Bg_78^=;(J ]
USMail: University of California, 360 Minor Hall, Berkeley, CA 94720
Telephone: (415) 642-6440             Fax:  (415) 642-3323
Internet: izumi@violet.berkeley.edu   NeXTmail: izumi@pinoko.berkeley.edu 

stung@greatwhite.cs.indiana.edu (Sho-Huan Simon Tung) (02/10/91)

In article <16112@milton.u.washington.edu> wjs@milton.u.washington.edu (William Jon Shipley) writes:
>Note to 040 users: This drive may turn out to be a REAL win, besides
>the fact that it formats to 710 MB (with 1024 byte blocks) and costs
>~$1410 and has a five year warranty.  According to the drive manual,
>jumpers 1-2 allow you to set the drive in SCSI-2 mode, enabling
>synchronous transfer at up to 4.8 MB/s.  (This is the same transfer rate
>advertised in NeXT's blurb on the NeXTstation SCSI port, so I assume
>the NeXT can handle it as well.)
>
>Kind of beats the pant off of the 700 KB/s it runs normally, and the
>900 KB/s Wrens get.
>
>I haven't, unfortunately, gotten my station yet, so I haven't been able
>to test this.  When I do, I'll post the new and improved jumper settings
>for 040 folks.
>

I have tried to put back the jumpers I removed from CNH2 and it works.
However, I only get a small improvement on the transfer rate compared
to the 771374 bytes/s posted by Izumi with an 030. May be it is because that
my drive was build with asynchronous transfer mode on or may be the cable
is too long. Anyone knows the reason?

Here is the data:
localhost# disk /dev/rsd0a
disk name: FUJITSU M2263S-512
disk type: fixed_rw_scsi
Disk utility

disk> read
starting block? 0
# sectors per transfer? 16
number of transfers? 1000
sector increment? 16
16384000 bytes in 19477 ms = 841499 bytes/s
disk> quit

Simon

louie@sayshell.umd.edu (Louis A. Mamakos) (02/10/91)

There is a big win under some circumstances in setting up the internal
105MB drive to have the swapfile on it even if you have a large external
SCSI drive.  

Consider that you have loaded the root and boot from the external
drive, and that you are swapping/paging to the internal drive.  When
you get to the point where you run out of physical memory and start to
page (not too hard with an 8MB system), you'll want to spread that
paging activity across as many different disk arms as possible.  With
the configuration described, the pure text pages will swap directly
from the file it was invoked from on external disk, while data pages
will be read and written to the internal drive.  When you beging to
get low on memory, this will cause the I/O to be split between two
different drives and reduce the head movement on the external drive.

The fact that the internal 105MB drive is fairly zippy only makes this
scenario more attractive.

louie

rca@cs.brown.edu (Ronald C.F. Antony) (02/12/91)

In article <1991Feb9.152316.22061@news.cs.indiana.edu> stung@greatwhite.cs.indiana.edu (Sho-Huan Simon Tung) writes:
>In article <16112@milton.u.washington.edu> wjs@milton.u.washington.edu (William Jon Shipley) writes:
>>~$1410 and has a five year warranty.  According to the drive manual,
>>jumpers 1-2 allow you to set the drive in SCSI-2 mode, enabling
>>synchronous transfer at up to 4.8 MB/s.  (This is the same transfer rate
>>Kind of beats the pant off of the 700 KB/s it runs normally, and the
>>900 KB/s Wrens get.
>I have tried to put back the jumpers I removed from CNH2 and it works.
>However, I only get a small improvement on the transfer rate compared
>to the 771374 bytes/s posted by Izumi with an 030. May be it is because that
>my drive was build with asynchronous transfer mode on or may be the cable
>is too long. Anyone knows the reason?
>disk> read
>starting block? 0
># sectors per transfer? 16
>number of transfers? 1000
>sector increment? 16
>16384000 bytes in 19477 ms = 841499 bytes/s

The reason lies as far as I know somewhere else:

There is a huge difference between the transfer rate that the device
can handle to and from the SCSI bus, and the transfer rate to and from
the disk.

The former comes only to play when you dump the drives cache or
something like that. For everything else the drive remains the
bottleneck.

At 54 sectors per track at 512 bytes, i.e. 27 kbytes and 3600 rpm you
can get 27*3600/60 = 1620/1024 =1.58MB per second theoretical transfer
rate as a maximum. This implies that there are no reallocated blocks,
and continous reads, no seeks etc. Every seek however has a heavy
impact on this dream figure.

As long as the drive controlers do no parallel reads from multiple
heads or the rpm figure is increased insanely, there is not too much
room for improvement.

Ronald


------------------------------------------------------------------------------
"The reasonable man adapts himself to the world; the unreasonable one persists
in trying to adapt the world to himself. Therefore all progress depends on the
unreasonable man."   G.B. Shaw   |  rca@cs.brown.edu or antony@browncog.bitnet