[eros-cvs] cvs commit: eros/src/doc/www/project release-notes.html
shap@eros.cs.jhu.edu
shap@eros.cs.jhu.edu
Wed, 18 Apr 2001 21:13:33 -0400
shap 01/04/18 21:13:33
Modified: src/doc/www/project release-notes.html
Log:
Release notes now stale
Revision Changes Path
1.25 +0 -544 eros/src/doc/www/project/release-notes.html
Index: release-notes.html
===================================================================
RCS file: /cvs/eros/src/doc/www/project/release-notes.html,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -r1.24 -r1.25
--- release-notes.html 2001/04/18 20:58:31 1.24
+++ release-notes.html 2001/04/19 01:13:33 1.25
@@ -33,550 +33,6 @@
a useful image at this time. My hope is that with
contributions from the community this will soon improve.
</p>
- <H1>1. Getting EROS</H1>
- <p>
- There are two options for obtaining copies of the EROS
- distribution: tarballs or anonymout CVS. Anonymous CVS is
- the recommended method, but regardless of which method you
- choose you will want to download the tarballs to start
- with.
- </p>
- <p>
- The tarballs are checked out weekly using the anoncvs
- mechanism. They include the CVS directories, so even if
- you plan to use the anoncvs mechanism to stay up to date,
- it's probably a good idea to start by unpacking the
- tarballs first and then <a href="#login">log in</a> and <a
- href="#update">update your tree</a> to bring your copy of
- the sources up to date.
- </p>
- <h2>1.1 Obtaining the Tarballs</h2>
- <p>
- The EROS distribution comes in five packages, which can
- be downloaded by clicking on the links here. All other
- packages depend on the <b>build</b> package. In the
- future there will be additional source packages; these
- will undoubtedly depend on the <b>base</b> and
- <b>build</b> packages.
- </p>
- <p>
- In addition, the package that performs online webification
- of the EROS source tree (the one that generates the online
- source web) is available in the <b>webpp</b> package.
- </p>
- <table>
- <tr valign=top>
- <td><b><a
- href="http://www.eros-os.org/~eros/pkg/eros-build.tgz">build</a></b></td>
- <td>
- <p>
- Includes build tools and files necessary to build
- the EROS distribution, including the master
- Makefile. Also includes some legal stuff, such as a
- plain-text copy of the EROS license agreement.
- </p>
- </td>
- </tr>
- <tr valign=top>
- <td><b><a href="http://www.eros-os.org/~eros/pkg/eros-base.tgz">base</a></b></td>
- <td>
- <p>
- The base EROS source distribution. Includes the
- kernel source, cross-tool source, and source code
- for various applications and tests. The <b>build</b>
- package is required to build and install this
- package.
- </p>
- </td>
- </tr>
- <tr valign=top>
- <td><b><a href="http://www.eros-os.org/~eros/pkg/eros-doc.tgz">doc</a></b></td>
- <td>
- <p>
- The EROS documantation distribution, which is
- available on the web if you prefer not to download
- it. The <b>build</b> package is required to build
- and install this package.
- </p>
- </td>
- </tr>
- <tr valign=top>
- <td><b><a href="http://www.eros-os.org/~eros/pkg/eros-uncompleted.tgz">uncompleted</a></b></td>
- <td>
- <p>
- Various uncompleted domains, made available for your
- reference. The <b>build</b> package is required to build
- and install this package.
- </p>
- </td>
- </tr>
- <tr valign=top>
- <td><b><a href="http://www.eros-os.org/~eros/pkg/eros-netpbm.tgz">netpbm</a></b></td>
- <td>
- <p>
- The NetPBM distribution. This distribution is the
- original distribution obtained from <a
- href="ftp://wuarchive.wustl.edu/graphics/graphics/packages/NetPBM/">wuarchive.wustl.edu</a>
- plus a small number of Makefile changes necessary to
- compile NetPBM under RedHat 5.0 and later.
- </p>
- <p>
- To install the docs, you will need a copy of
- <b>netpbm</b>. Use of netpbm is an expensive
- workaround for the fact that many distributions of
- the transfig will not output gif files directly. If
- you know of a better workaround, <em>please</em> <a
- href="mailto:shap@eros-os.org">let me know</a>
- </p>
- <p>
- <em>If you already have a copy of NetPBM installed,
- it is not necessary to download this package.</em>
- If your copy of NetPBM is not installed in
- </tt>/usr/local/netpbm</tt>, you will need to set
- the environment variable NETPBMDIR in addition to
- the other environment variables described in the
- build document.
- </p>
- <p>
- If you do not have permissions to install into
- <tt>/usr/local</tt>, it should be possible to build
- NetPBM under your home directory and run the
- associated utilities from there. I have not tried
- this.
- </p>
- <p>
- Note that the <tt>ppmtogif</tt> program is the only
- part of the NetPBM tools required by EROS. If you
- are very tight for space, you may wish to copy this
- one program to your personal binaries directory.
- Copy <tt>ppmtogif</tt> to <tt>${HOME}/bin</tt> and
- set the <b>NETPBMDIR</b> to "<tt>${HOME}/bin</tt>".
- </p>
- </td>
- </tr>
- <tr valign=top>
- <td><b><a href="http://www.eros-os.org/~eros/pkg/eros-webpp.tgz">webpp</a></b></td>
- <td>
- <p>
- The online source tree webifier. This is a
- collection of the most obscure lex and tags tricks
- ever assembled in one place, but it works (sort of).
- The <b>webpp</b> package is not necessary to build
- EROS. Actually, it's a generally useful tool that
- isn't tied to EROS at all.
- </p>
- </td>
- </tr>
- <tr valign=top>
- <td><b><a href="http://www.eros-os.org/~eros/pkg/eros-xenv.tgz">xenv</a></b></td>
- <td>
- <p>
- Sources for the EROS cross environment. It proves
- that compiling under RedHat 6.0 and other more
- recent linux versions broke the build. I have
- finally given up and frozen a set of cross tools.
- To use these, set the environment variable
- <b>EROS_HOSTENV</b> to <tt>linux-xenv</tt>. You can
- then <tt>cd</tt> down into the <tt>xenv/</tt>
- subdirectory and say <tt>make install</tt>.
- Once the cross tools are installed, the rest of the
- build appears to proceed correctly. This has not
- yet been extensively tested.
- </p>
- </td>
- </tr>
- </table>
- <p>
- Each EROS package is intended to be unpacked into a common
- root directory. All file names in EROS packages begin with
- <tt>eros/src</tt>. With the exception of the base
- package, all file names actually begin with
- <tt>eros/src/</tt><em>package</em>. Thus, a correct
- unpacking of the above packages will result in a directory
- tree that looks like:
- </p>
- <pre>
-eros/
- src/
- Makefile (build package)
- base/ (base package)
- build/ (build package)
- doc/ (doc package)
- legal/ (build package)
-netpbm/ (netpbm package)
- </pre>
- <p>
- Cross tools are included in the <b>base</b> package
- because they depend on header files generated by the
- kernel build process.
- </p>
- <h2><a name="login">1.2 Logging in to the EROS Repository</a></h2>
- <p>
- To obtain access to the EROS anonymous CVS repository, you
- must first execute the following CVS command:
- </p>
- <ul>
- <b>cvs -d
- :pserver:anoncvs@new-cvs.eros-os.org:/cvs
- login</b>
- </ul>
- <p>
- You will be prompted for a password for the anonymous CVS
- account. The anonymous CVS password is 'cvs'.
- </p>
- <p>
- Note that you will need to log in this way only once. You
- must log in either to update or to check out the EROS
- tree.
- </p>
- <h2>1.3 Checking Out the Sources</h2>
- <p>
- <em>This step can be skipped if you have downloaded and
- unpacked the tarballs above.</em>
- </p>
- <p>
- Once you have logged in, you can check out the NetPBM
- sources by typing
- </p>
- <ul>
- <b>cvs -d
- :pserver:anoncvs@new-cvs.eros-os.org:/cvs
- checkout netpbm</b>
- </ul>
- <p>
- The other packages can be obtained by typing:
- </p>
- <ul>
- <b>cvs -d
- :pserver:anoncvs@new-cvs.eros-os.org:/cvs
- checkout eros-</b><em>package</em>
- </ul>
- <p>
- where <em>package</em> is one of the packages listed in
- the table above. If you prefer, you may use
- </p>
- <ul>
- <b>cvs -d
- :pserver:anoncvs@new-cvs.eros-os.org:/cvs checkout eros</b>
- </ul>
- <p>
- to fetch all of the EROS packages in one command.
- </p>
- <h2><a name="update">1.4 Updating Your Tree</a></h2>
- <p>
- If you have grabbed the tarballs, you will want to
- immediately update your source tree. You will need to <a
- href="#login">log in</a> to the repository first.
- </p>
- <p>
- The <b>NetPBM</b> sources are not under active
- development. There is no need to update them, and no need
- to keep them once they are installed unless you intend to
- rebuild them or work on them. Nobody has added to NetPBM
- (as far as I can tell) since 1994.
- </p>
- <p>
- The EROS portion of the tree can be updated by changing to
- the <tt>eros/src</tt> directory and typing:
- </p>
- <ul>
- <b>make update</b>
- </ul>
- <p>
- If you prefer, you can also user the <b>cvs update</b>
- command, but the <b>make update</b> command takes care not
- to fetch packages that you do not have. Once <b>make
- update</b> becomes old hat, you may find that you prefer
- </p>
- <ul>
- <b>make quiet-update</b>
- </ul>
- <h2><a name="freebsd">1.5 Building from FreeBSD</a></h2>
- <p>
- EROS is designed to be built from Linux. If you are
- running Linux you can <a href="#linux-build">skip this
- section of the release notes</a>. It relies on the ELF
- object file format. It is NOT possible to build a working
- EROS system using the native FreeBSD tool chain.
- </p>
- <p>
- With apologies in advance, I don't plan to actively
- support FreeBSD builds. I'm happy to incorporate fixes
- and changes to the cross environment, but there are higher
- priority things for me to do in the few months I have left
- to work on this.
- </p>
- <p>
- With that said, there are several of you who have said
- "I'ld like to use this, but I run FreeBSD." With this in
- mind, here's how to make progress from FreeBSD.
- </p>
- <p>
- Note that the <tt>setvol</tt> utility, which is essential
- for making bootable images, does not yet work under
- FreeBSD. If someone can tell me the ioctl's to learn the
- cyl/sec/hd configuration of a given floppy or hard disk
- under FreeBSD I would be appreciative. Better still, fix
- <tt>GetGeometry()</tt> in
- <tt>base/cross/bin/setboot/setboot.cxx</tt> and send me
- context diffs.
- </p>
- <h3>1.5.1 Using the Prefab Cross Environment</h3>
- <ol>
- <li>
- <p>
- First, download and install in
- <tt>/usr/local/eros-xenv</tt> the
- <a href="http://www.eros-os.org/~eros/pkg/eros-xenv-freebsd-2.2.7.tgz">
- FreeBSD 2.2.7 cross environment</a> (roughly 4
- Mbytes). This environment was built for FreeBSD
- 2.2.7. It may or may not work for other versions of
- FreeBSD. Since I don't have them I'm unable to
- tell, but reports on your success or failure would
- be appreciated.
- </p>
- </li>
- <li>
- <p>
- Next, in addition to all the other environment
- variables, set the <b>EROS_HOSTENV</b> to
- <tt>freebsd</tt>.
- </p>
- </li>
- <li>
- <p>
- Proceed as for a linux build.
- </p>
- </li>
- </ul>
- <h3>1.5.2 Making Your Own Cross Environment</h3>
- <p>
- If you have a pain fetish, or you are running some other
- version of FreeBSD and the pre-cooked copy doesn't work
- for you, or you don't have permission to create
- <tt>/usr/local/eros-xenv</tt>, you'll need to rebuild the
- cross environment yourself.
- </p>
- <p>
- Here is how I went about building it under FreeBSD-2.2.7.
- </p>
- <ol>
- <li>
- <p>
- Build GNU make. If you run FreeBSD's native make, bad
- things will happen.
- </p>
- <p>
- I built make-3.77, using the following configure
- input:
- </p>
- <ul>
- <pre>
-./configure --target=i386-unknown-linux \
- --prefix=/usr/local/eros-xenv \
- --program-prefix='eros.'
-
-make
-make install
- </pre>
- </ul>
- <p>
- To do the last step, you may need to be root, or
- hand-create <tt>/usr/local/eros-xenv</tt> and chown it
- to yourself. If you are forced to build into some
- other location, you'll need to set the environment
- variable <b>EROS_XENV</b> to identify the directory
- you built it to. Have a look at
- <tt>build/lib/make/freebsd.mk</tt> to see how this is
- used.
- </p>
- </li>
- <li>
- <p>
- Do yourself a favor. Before you do ANYTHING else, put
- <tt>/usr/local/eros-xenv/bin</tt> on your path and type
- </p>
- <ul>
- <pre>
-alias make eros.make
- </pre>
- </ul>
- </li>
- <li>
- <p>
- Build a cross version of binutils. I used
- binutils-2.9.1, though earlier versions should work.
- You will need to do this using eros.make, or you'll
- suffer an infinite dependency recursion on config.h.
- The recursion isn't real -- it's a FreeBSD make bug.
- </p>
- <ul>
- <pre>
-./configure --target=i386-unknown-linux \
- --prefix=/usr/local/eros-xenv
-
-eros.make
-eros.make install
- </pre>
- </ul>
- </li>
- <li>
- <p>
- Build a cross version of gcc and g++. I used
- g++-2.8.1 Regrettably, this is very version sensitive.
- gcc-2.7.2.3 will NOT cross-build correctly. Also,
- earlier versions of gcc do not implement the exception
- handling arguments the same way, so even if you *can*
- build them you won't be able to use the freebsd.mk
- file as is without modification. See the note in
- freebsd.mk about g++ versions if you decide to try
- using a different version of gcc:
- </p>
- <ul>
- <pre>
-./configure --target=i386-unknown-linux \
- --prefix=/usr/local/eros-xenv
-
-eros.make LANGUAGES="c c++" LIBGCC1=""
-eros.make LANGUAGES="c c++" LIBGCC1="" install
- </pre>
- </ul>
- </li>
- <li>
- <p>
- Execute the following command:
- </p>
- <ul>
- <pre>
-echo > /usr/local/eros-xenv/include/getopt.h
- </pre>
- </ul>
- <p>
- I didn't want to ifdef everything in sight.
- </p>
- </li>
- </ol>
- <h1><a name="linux-build">2. Building the Release</a></h1>
- <p>
- Instructions for building the release, including
- environment setup, can be found in the <a
- href="../devel/CrossGuide/Cover.html">EROS
- Cross-Development Guide</a>.
- </p>
- <h1>3. Run-Time Requirements</h1>
- <p>
- In order to run this puppy, you'll need the
- following:
- </p>
- <h2>3.1 Disk Space</h2>
- <p>
- The research release <em>can</em> run in as little as 20
- Mbytes. Doing anything interesting with it will certainly
- require more. At the moment we are suggesting a 100 Mbyte
- partition if you just want to fiddle with it, or a 250
- Mbyte partition if you have something more serious in
- mind.
- </p>
- <p>
- If you feel like planning ahead, use your handy
- <tt>fdisk</tt> equivalent to create a partition, and give it
- type 0x95.
- </p>
- To boot from the hard disk, the EROS partition
- must fall within the bootable range of your machine. It is
- also possible (even straightforward) to boot EROS from a
- floppy, which allows non-bootable partitions to be used.
- The kernel theoretically groks extended partitions, but we
- have never tested this.
- </p>
- <h2>3.2 Hardware</h2>
- <p>
- The research release will support the following hardware (all
- trademarks belong to their respective owners):
- </p>
- <table>
- <tr valign=top>
- <td><strong>Processor</strong></td>
- <td>486, Pentium, Pentium Pro. There's nothing we're aware of
- that would prevent clone processors from working, but we have
- no way to test them and they are not a priority for us. If you
- have them, we would be glad to hear what luck you have. Up to
- a point, we'll try to help get them working.
- <p> EROS runs on all of the multiprocessor boards we have
- tried, but the first research release will not provide SMP
- support.
- </td>
- </tr>
- <tr valign=top>
- <td><strong>BIOS</strong></td>
- <td>We are not aware of any BIOS-specific dependencies. We have
- not tested large drives on BIOS's that do not support extended
- drive size information.
- </td>
- </tr>
- <tr valign=top>
- <td><strong>Motherboard</strong></td>
- <td>We are not aware of specific dependencies. We use the TYAN
- family of motherboards, but have also run successfully on a
- number of clone boards.
- </td>
- </tr>
- <tr valign=top>
- <td><strong>Memory</strong></td>
- <td>We have run EROS successfully (albeit unintentionally) on a
- machine with only 640K of memory. This is not a recommended
- configuration. 8M should be fine for now, but 16M is better.
- </td>
- </tr>
- <tr valign=top>
- <td><strong>Disk</strong></td>
- <td>The first research release will <em>not</em> support SCSI
- disks. There are a great many SCSI controllers, and we have
- found that the <em>sustainable</em> throughput for IDE is as
- good or better than we see from SCSI. We are aware that many
- people want to run SCSI devices.
- <p> When we do get to SCSI (which should be soon -- it's
- necessary for the MIPS port we are doing), our first attention
- will go to the Adaptec 2940 family, because that is what we
- have. Support for other adaptors will be guided by demand and
- availability. Your chances of getting us to support a card
- are greatly improved if you have one to loan us.
- </td>
- </tr>
- <tr valign=top>
- <td><strong>Video</strong></td>
- <td> The kernel assumes a VGA or better adaptor, but the system
- does not (yet) provide a bitmapped graphics interface.
- <p> We hope to change this in the near future, but are still
- debating the proper graphics model for this class of system.
- The Mach32, Mach64, and Diamond cards are high on our priority
- list. Our group favors the Toshiba portables, so we'll
- probably get the C&T chipset family working early as well.
- </td>
- </tr>
- <tr valign=top>
- <td><strong>Network</strong></td> <td> The current
- implementation includes drivers for the 3COM 3c509 and 3c590XL
- network cards. Regrettably, these drivers have been well hacked
- over, so it is not clear that the current implementations actually work.
- </td>
- </tr>
- </table>
- <h2>3.3. Software</h2>
- <p>
- EROS does not yet have a
- self-hosted development environment. We are actively
- working on bringing up a POSIX-compatible environment, but
- do not expect that this will make it into the first release.
- The irony is that we may get Java development support in
- first (!).
- </p>
- <p>
- The EROS group currently cross-develops from LINUX. We run RedHat
- 5.1 (cutting over to 4.2 shortly), but any ELF-based LINUX system
- should do. Building the EROS system requires G++ 2.7.2 or
- later. We currently build with EGCS.
- </p>
</td>
<td width="10%"> </td>
</tr>