Index of /pub/386BSD/386bsd-0.0

      Name                    Last modified       Size  Description

[DIR] Parent Directory 10-Oct-2002 13:34 - [TXT] COPYRIGHT 15-Feb-1998 00:00 3k [TXT] MANIFEST 15-Feb-1998 00:00 1k [TXT] REGISTRATION 15-Feb-1998 00:00 10k [DIR] diffs/ 09-Oct-2002 01:02 - [DIR] floppies/ 09-Oct-2002 01:02 - [DIR] other-utils/ 09-Oct-2002 01:02 - [DIR] other/ 09-Oct-2002 01:02 - [   ] patches.tar 15-Feb-1998 00:00 40k [DIR] patches/ 09-Oct-2002 01:02 - [DIR] rawrite/ 09-Oct-2002 01:02 -

                  Release Notes on 386BSD
                         W. Jolitz

_3_8_6_B_S_D _R_e_l_e_a_s_e _0._0:

     This  is 386BSD Release 0.0, the first edition from the
386BSD project.  It comprises an entire and  complete  UNIX-
like  operating system for the Intel 80386/486 based IBM PC,
and is based almost entirely on the NET/2 release  from  the
University  of  California, which contained much of the ear-
lier freely redistributable  and  modifiable  386BSD  source
code  done  by William F. Jolitz and contributed to the Uni-
versity of California at Berkeley for distribution.

     Originally conceived by Bill and Lynne Jolitz in  1989,
the  386BSD project is an attempt to foster new research and
development in operating systems and  networking  technology
by broadening access to base technology. In cooperation with
the University of California, an advanced  operating  system
was  redesigned  by  William  F.  Jolitz  to  work on common
386-based PC's for use by smaller colleges and other  groups
that  did  not have the resources to otherwise obtain it. In
addition, starting with the NET/2 release, this software has
been released in a form that does not require license agree-
ments, non-disclosure, or other controls  that  would  limit
it's use in undergraduate teaching programs.

     Unlike  NET/2,  386BSD  Release  0.0  is a complete and
operational system, including  binaries  and  an  executable
installation  system,  but  still  available  under the same
"freely  redistributable"  terms  of  the   original   NET/2
release.  Our  forthcoming  book  on the internals of 386BSD
will complete the picture for educational and research  pro-
grams  to make use of this technology with students with the
necessary academic freedom.

     We have been writing a series of articles about  386BSD
that  have  appeared  in  _D_r. _D_o_b_b_s _J_o_u_r_n_a_l since January of
1991. Future announcements, and information on 386BSD may be
found  within  its covers. The DDJ BBS should have copies of
binary and source code when available. Also, you can contact
us via the magazine.


     Release 0.0 consists of:

Source Distribution
     A  collection  of  8  or  10 high-density floppy disks,
     which is a multi-volume compressed TAR  format  archive
     of the source language files with which to recreate the
     system.    When   extracted,    the    files    consume

338866BBSSDD RREELLEEAASSEE NNOOTTEESS          11                   MMaarrcchh 11999922

     approximately  31 MB of space. In addition, at least 28
     MB of space is taken up by  the  binary  files  created
     when recompiling.

Binary Distribution
     A  collection of 6 or 8 high-density floppy disks, also
     in compressed multi-volume  TAR  form,  containing  the
     executable,  data, and documentation files of a working
     386BSD  system,  including  C  and  C++  compilers  and
     libraries.   When  extracted, the files occupy approxi-
     mately 20 MB of disk space. Note that at least 5 MB  of
     swap space, plus an operating reserve of another 10% of
     the total accumulated disk space  mentioned  should  be
     considered as minimum to operate this system.

Distribution Installation Floppy System
     A  single  floppy  system is provided, again on a high-
     density diskette.  This  completely  standalone  system
     manages  to  allow  a  potential 386/486 based PC to be
     qualified for use with 386BSD, simply by attempting  to
     boot it as an ordinary floppy. Once operational, it can
     be used to configure the PC's hard disk  and  load  the
     binary  floppy  distribution.  In addition, this floppy
     provides a means to rescue and repair the  software  on
     the hard disk in the event of a calamity.

Difference Floppy
     A  single  360 KB MS-DOS floppy containing all the dif-
     ferences and new files necessary to make the NET/2 tape
     operational,  for  those  who already have the tape and
     wish to "do it themselves". It also  serves  to  illus-
     trate  just  what  is  necessary to make the NET/2 tape
     usable and worthwhile.

     Release 0.0 does not contain any proprietary code,  nor
any  encryption software. It was created from NET/2, GNU and
other public software, and our creative minds.

_S_c_o_p_e _a_n_d _G_o_a_l_s _o_f _t_h_i_s _R_e_l_e_a_s_e:

     This release was motivated by the fact that  access  to
386BSD  has not been provided to all interested parties on a
timely basis by the University or other sources, as  we  had
originally  intended.   Thus, we have done a minimalist ver-
sion to demonstrate feasibility, provide accessibility,  and
assure  our readers and supporters that this project will be
finished, available to all, and  not  just  appropriated  by
private  concerns.   Since  it is minimalist by design, many
features, utilities and other functionality will  be  desir-
able  to  add,  although the system is complete enough to be
self-sufficient and self-developing.

338866BBSSDD RREELLEEAASSEE NNOOTTEESS          22                   MMaarrcchh 11999922

     In addition, we have not repaired numerous  known  bugs
present  -- we have merely attempted to work around them and
in spite of them. Also, new  subsystems  created  after  the
NET/2  tape  and contributed to Berkeley have not been added
back in, because we did not want to blur the distinctions of
what is required to make NET/2 operational, and because CSRG
will not allow us access to this contributed work,  although
other  groups  have  been  allowed  access.  Future releases
hopefully will remedy these nuisances. We  also  expect  the
involvement  of  a  wider  community of users will aid us in
improving future releases of 386BSD.

_D_e_v_i_c_e_s _S_u_p_p_o_r_t_e_d _i_n _t_h_i_s _R_e_l_e_a_s_e:

     This release is intended to support a  minimal  386/486
SX/DX  ISA(ATBUS)  system,  with  the  traditional  hard and
floppy disk controller (MFM,ESDI,IDE).  Also, the usual dis-
play  adapters  (MDA/CGA/VGA/HGC)  are supported, along with
the communications ports (COM).  Ethernet  controllers  sup-
ported   are    Western   Digital  8003EB,  8003EBT,  8003S,
WD8003SBT, 8013EBT, and Novell NE2000. Clones also appear to
work quite well.  Tape drive support is available for QIC-02
controllers as well, allowing use of 3M cartridges of QIC-60
through QIC-150 format.

     As  configured  on  the binary distribution, the system
requires a floating point coprocessor  (387  of  any  make),
hard  disk and controller, floppy disk drive (either 5.25 or
3.5 high density only), and display adapter. If  the  serial
port  or a Western Digital Ethernet card (port 0x280, IRQ 3,
iomem 0xd000) is present, the system can make use of  it  as

     It  is recommended that the system have at least 2MB of
memory or more, but it will run on much smaller systems to a
limited  degree  by paging (the C++ compiler uses about 1 MB
of memory in operation).  A 4 MB system with an 200 MB+  IDE
disk is a comfortable configuration, although by sharing the
sources via NFS, networked systems with  40  MB  drives  are
quite useful.

_M_a_c_h_i_n_e_s _T_e_s_t_e_d:

     At  the  moment,  this software has only been tested on
the following configurations:

Toshiba laptop clone, 386SX/387SX, 3MB RAM, VGA LCD(Cirrus),
     Megahertz T2LL Ethernet, Conners CP3100 IDE 100MB drive.

Compaq DeskPro, 386/387, 9MB RAM, Compaq VGA, ESDI Maxtor 8380 drive(type 38),
     WD8003EBT Ethernet, Compaq QIC-150 cartridge drive.

338866BBSSDD RREELLEEAASSEE NNOOTTEESS          33                   MMaarrcchh 11999922

     Please fill out the enclosed registration form and sur-
vey so we can add more to this test base list. It is expect-
ed that all Compaq, Toshiba, Chips and Technology-based, and
OPTI-based  systems should work with little trouble. See up-
coming DDJ articles on installation troubles for further in-
fo.   We  can be contacted for limited help with the system,
but, realize that this work is currently unfunded and we can
only devote a tiny amount of time to it. As a hint to fixing
troubles, defeating options like shadow ram or RAM  BIOS  is
an excellent place to start.

_I_n_s_t_a_l_l_a_t_i_o_n _P_r_o_c_e_d_u_r_e_s:

     Currently, the system does not coexist with MS-DOS, but
requires the entire machine. SINCE IT IS STILL  EXPERIMENTAL
DRIVE CONTENTS, so you had better save backup dumps  offline
of any information you wish to be preserved (1 in 100 of you
will do this, of course, but you were warned).

     First, make a copy of all of  the  diskettes  and  save
them away. Make many copies of the distribution installation
diskette, and salt them away in various places, as it is im-
possible to recover the system without one otherwise.

     The  distribution  installation diskette has predefined
shell variables that correspond to the device name  for  the
floppy  drive  ($FD), the raw device name ($RFD), the amount
of storage ($FTRK) per track (in kilobytes), and the disktab
entry type ($FT). These are present to parameterize the dif-
ferences between 3.5 inch and 5.25 inch versions of the boot

     Format  the  drive, if it is not already. Determine the
geometry (sectors/track, tracks/cylinder, number  of  cylin-
ders,  etc),  and create a disktab entry describing the disk
drive in the /etc/disktab file on the floppy.  This  can  be
done by allowing the floppy to be written to (it defaults to
disabling writing) by the command:

mount -u $FD /

     You can edit the file with the _e_l_v_i_s editor, a clone of
the  encumbered  Berkeley _v_i text editor done by Steve Kirk-
endall.  You may wish to use one of the existing disktab en-
tries  as  a template for a new entry you are making. Please
include any disktab entrys you make in the survey form so we
can  include them in the next release.  Note: after you have
written the disk, please execute the "sync" command so  that
the file will be forced back to the diskette.

     Next,  use  the  _d_i_s_k_l_a_b_e_l command to write a bootstrap
and disk label data structure on the hard disk itself.  This

338866BBSSDD RREELLEEAASSEE NNOOTTEESS          44                   MMaarrcchh 11999922

will destroy any information present on the beginning cylin-
der of the hard disk drive. A sample disklabel command:

disklabel -r -w wd0 cp3100    (label winchester drive 0 as a conners 3100)
disklabel -r wd0         (display the label on winchester drive 0)

     Next, create empty filesystems for the root  (partition
a  of  the  drive) and usr (partition h) with the _n_e_w_f_s com-

newfs wd0a     (root partition high level format)
newfs wd0h     (usr partition high level format)

     Mount the root partition and transfer the  contents  of
the distribution installation floppy to the hard drive. This
step frees up the floppy for use in loading the multi-volume
distribution while running off the hard disk drive:

mount /dev/wd0a /mnt  (associate the mnt directory with the new root filesystem)
(cd /; tar -cf - .) | (cd /mnt; tar -xf -)   (copy floppy to hard disk)
sync                          (flush out written blocks)

     Reboot  the  system  by  the  traditional cntrl-alt-del
three-fingered reset, and  remove  the  floppy  and  set  it
aside.  The  system  should  now  come  up off the hard disk
drive. Next, we load the distribution by inserting the first
floppy (volume 1 of the binary distribution) and typing:

mount /dev/wd0h /usr (make usr filesystem available, as it will also be loaded)
mr $FTRK $RFD | tar -xzf -  (floppy extract compressed floppy archive)

     A prompt will ask for successive floppies to be insert-
ed into the drive.  At the conclusion,  the  "sync"  command
should be used, and the system rebooted. The installation is
now complete, and the same procedures may be  used  at  this
point to extract the source distribution if desired.


     At  the  moment,  386BSD  comes up single user, and re-
quires manual starting of the system  daemons,  as  well  as
filesystem  checks. In use, one would minimally wish to type
after booting:

fsck -p
mount -a

338866BBSSDD RREELLEEAASSEE NNOOTTEESS          55                   MMaarrcchh 11999922

     This will improve in forthcoming  versions  of  386BSD.
Be  aware  that  the  user is running as the super-user, and
care should be taken given the maximum privileges present.

_K_n_o_w_n _b_u_g_s:

     Many bugs and unimplemented portions of the system  ex-
ist  and  can  be  annoying. The most irritating are the tty
driver bugs that are  related  to  boundaries  in  the  ring
buffers,  which cause the input queue to become truncated or
wrapped, as well as freezing the input queue when a  transi-
tion  to  RAW  mode  occurs  near a boundary (generally, the
first time the command  "more"  prompts).  Usually,  hitting
control-C clears this situation.

     Sometimes,  an  endless  end-of-file  on input from the
terminal occurs that may require the  system  to  be  reset.
There  is  a pipe bug, believed to be in the block I/O code,
that breaks large pipe transfers into ~3  KB  maximum  sized
chunks.   Occasionally,  a  missing interrupt bug causes the
system to  jam  waiting  for  an  interrupt  that  has  been
botched.   Init  does  not handle signals and process groups
correctly, nor does it support multiuser operation (you  can
start  up other users by hand, or over the network as incom-
ing terminal sessions!).  Execve will not run shell scripts,
nor  will it work with arglists greater than 2 KB.  There is
no facility for program debugging (e.g.  ptrace).   Raw  DMA
transfers  to non-page aligned, non-consecutive within 64 KB
physical boundaries don't work correctly.  The console  ter-
minal emulator destroys screen contents occasionally.  A re-
dundant swap free fragment bug is  present  under  intensive
paging operations, and resource constipation due to hundreds
of processes on tiny machines does occur.  Operation on less
than  2MB  may  be  erratic or impossible due to a base page
memory botch present.

     All of these bugs are understood. Some of the fixes re-
quire  redesign  while  others require code from the article
series!, but we are sure more are present.  Bug  fixes  will
be put into subsequent versions.

_K_e_y _M_i_s_s_i_n_g _U_t_i_l_i_t_i_e_s:

     Among  the  most  annoying  missing utilities are: awk,
grep, sort, diff, test, and expr.  The utility software  has
been cudgeled to ignore these for the moment, but eventually
these must be rectified. All of  the  NET/2  utilities  have
been  made  to work with 386BSD, including those not present
in this release due to space considerations. You  will  find
it  fairly  painless  to  add  software to this base system,
which is still at heart a full 32-bit POSIX compliant  oper-
ating system with program development environment.

338866BBSSDD RREELLEEAASSEE NNOOTTEESS          66                   MMaarrcchh 11999922

     Note  also  that  DES encryption and Kerberos have pur-
posely been left off the system to allow  for  international
use, as 386BSD incorporates software (such as NFS) which has
been done by researchers in other countries and  contributed
to  Berkeley.  For those international readers who have con-
sidered obtaining the NET/2 tape from UCB, it might interest
them  to know that an export license (GTDA) has been granted
for a version of the NET/2 tape.


     Your interest, involvement, and support in this project
and  its  goals will determine the future of 386BSD and suc-
cessive releases. We would like to take this  much  further,
but  we  need  considerable assistance of all kinds to allow
386BSD to grow further. We realize the shortcomings  of  Re-
lease  0.0,  but  are intensely proud of what we have accom-
plished in providing you with a chance  to  become  involved
with a system that has enough tools to develop itself.

338866BBSSDD RREELLEEAASSEE NNOOTTEESS          77                   MMaarrcchh 11999922