Setting Up A Coyotos Development Environment
The Coyotos tree is approaching the point where intrepid developers can start to experiment with it. For those of you who are curiosity junkies, here is how to go about obtaining it.
Host Operating System
The Coyotos development environment is currently supported on Fedora Core 6, Fedora 7, and Fedora 8. Some users are using other versions of Linux or BSD, but this involves some extra work and we do not actively support it. This page describes how to set yourself up on Fedora Core.
Step one: join the coyotos-dev mailing list. If you want to be notified when the source base is updated, you should also subscribe to the coyotos-commits mailing list.
Installing the Cross Compilers
The first thing to do is to install the RPM package that adds the Coyotos tool repository to your environment. To do this, you should (as root):
rpm -ivh http://www.eros-os.com/YUM/coyotos/fc8/Coyotos-Repository.fc8.noarch.rpm
If you are running Fedora Core 6 or Fedora 7, change the fc8 to either fc6 or fc7, accordingly.
Once this package is installed, you will be able to install the Coyotos cross tools. We currently provide cross compilation kits for IA-32, Coldfire, and ARM/StrongArm targets [the ARM tools are not tested by us, but are actively used by the CapROS team. Depending on your target of interest, you should run one or more of:
yum install coyotos-i386-xenv yum install coyotos-m68k-xenv yum install coyotos-arm-xenv
That may take a while. Be patient. The advantage to installing this way is that you will automatically receive updates. Occasionally we have been known to make changes to the source tree that rely on an update in the cross tools. This is happening less and less often over time, but it still happens once in a while.
If we don't supply packaged tools for your platform, the alternative is to build them yourself. Instructions for this can be found here.
Check Out the Source Code
If you don't already have it, you will need to install mercurial. We use mercurial for our source code management. You can find information about how to use mercurial at the mecurial wiki. There is a pre-packaged version of mercurial in the Fedora repository for all recent versions of Fedora. While you are installing mercurial, you may also find the colordiff package useful.
Checking out the base Coyotos tree can be done with the following command. You may wish to consider doing this within an empty directory:
hg clone http://dev.eros-os.com/hg/coyotos/trunk coyotos
Once you have the main tree checked out, you may also want to consider checking out the tutorial subtree:
cd coyotos/src hg clone http://dev.eros-os.com/hg/tutorial/trunk tutorial
The other package that is currently available is the ccs-xenv package. It should also be cloned under coyotos/src if you choose to check it out. You don't need it unless you are actively working on the cross tools (e.g. you are porting to a new target or building for a non-Fedora platform).
Building the Tree
With a bit of luck, you should now be able to build the tree with:
cd coyotos/src ./configure i386-unknown-coyotos make
Building the Documents
The default build process does not build the documentation tree. If you want that built:
cd coyotos/src ./configure --enable=docs i386-unknown-coyotos make
If you have already configured a target platform, it is sufficient to use:
cd coyotos/src ./configure --enable=docs
You can see the current state of your configuration by:
cd coyotos/src ./configure
Documentation probably will not build correctly unless you have a live connection to the internet. The culprit is xsltproc, which will be using the connection to fetch the OSDoc DTD from its canonical location. The current release of OSDoc does not provide a good solution to work around this problem. The next release of OSDoc will include an XML catalog file that will allow local access to the DTD.