Building NitrOS9

From NitrOS-9
Revision as of 18:18, 20 May 2017 by Tormod (Talk | contribs) (sync all changes from Allura/Markdown wiki)

Jump to: navigation, search

Note: To build NitrOS-9 version 3.3.0 or older, use LWTOOLS 4.11. To build from hg repo use the latest LWTOOLS release.

The LWTOOLS and ToolShed utilities are used to build the NitrOS-9 operating system on Mac, Windows, or Linux based systems. If you would like to set up your system to build the project, please follow the instructions below.


Notes for Linux platforms

For Debian/Ubuntu you can get prebuilt LWTOOLS and Toolshed from https://launchpad.net/~tormodvolden/+archive/m6809 Other packages needed are: mercurial, make, zip

Notes for Windows platforms

For Windows you can get prebuilt LWTOOLS from http://lwtools.projects.l-w.ca/contrib/tormod/ and prebuilt Toolshed from https://sourceforge.net/projects/toolshed/files/ToolShed/

Mercurial (hg) can be installed from http://mercurial.selenic.com/wiki/Download for instance by downloading the Mercurial MSI installer (ca 6 MB).

The build process must be done in a Cygwin or MingW environment.

On MingW you will have to append "CC=gcc" to the "make" lines below. See also Building NitrOS9 in Windows using Cygwin or Building NitrOS9 in Windows using MinGW for more Windows specific issues.

Obtain and build LWTOOLS

hg clone http://lwtools.projects.l-w.ca/hg/ lwtools
cd lwtools
make
make install
cd ..

This will build and install lwasm, lwlink, lwar and lwobjdump into your /usr/local/bin directory. If "make install" fails on unsufficient permissions, run "sudo make install".

Obtain and build the Toolshed tools

hg clone http://hg.code.sf.net/p/toolshed/code toolshed
cd toolshed
make -C build/unix install
cd ..

This will build and install the toolshed tools into your /usr/local/bin directory. Again, use "sudo make -C build/unix install" if needed.

Obtain and build NitrOS-9

Make sure lwasm is in your path, either by editing your shell startup scripts or by entering PATH=$PATH:/usr/local/bin in your active command shell.

hg clone http://hg.code.sf.net/p/nitros9/code nitros9
cd nitros9

At this point you are ready to rock. To build all of NitrOS-9 including things you almost certainly don't want:

make dsk

Alternatively you can first change to the directory containing the system you would like to build, for instance:

export NITROS9DIR=$PWD
cd level2/coco3
make dsk

Or just stay in the top folder and specify a "port" (coco2, coco3, coco3_6309, etc):

make dsk PORTS=coco3

You should now find disk images have been created in the various directories. For instance, the boot disks for level 2, 6309 can be found in the level2/coco3_6309 subdirectory.

Updating your build

If you later want to update your NitrOS-9 build, pull the latest repository changes and update your tree, and build again:

hg pull
hg update
make dsk

Updating an old repo clone (2013 or earlier)

At a point in development the "lwtools" branch was used, so if updating from a repo from that time, run this command once to change your current branch to the "default" branch:

hg update default