M3 Operating System Development

A chronicle of the development of the M3 operating system

Tutorial: Setting up an OS development environment on the EeePC (running Xandros)

leave a comment »

As I said in a previous post, I abandoned my OS X development environment for the time being, since the dev tools that come with OS X only support Mach-O binaries, and don’t have utilities such as objcopy. I know that there is a darwintools package for binutils, which I believe has a cross-compiler that will target the ELF format, but for now I decided to take the quick route and switch to developing under Linux on my EeePC. 

The EecPC runs the Xandros flavor of Linux, and by default it comes with some development tools, but not everything that we are going to need. For one thing, make is missing. Ya gotta have make – it simplifies the entire tedious compile/link/disk image creation process.

To set up the EeePC with all the dev goodies, we’ll follow this howto for installing development tools.

Before you can use apt-get, make sure that you have already added the apt-get repository that we added in our previous tutorial about getting our boot sector to run on the EeePC.

Once you’ve got that repository in your list, open a terminal window (by pressing ctrl-alt-T) and type the following commands:

sudo su
apt-get update
apt-get install build-essential

The first command, sudo su will put you into superuser mode. You may be prompted to enter the superuser password at this point. The second command, apt-get update will query the known repositories and update the known package lists. The final command, apt-get install will download and install the build-essential package, which has make and other necessary development utilities.

To test things out, type make at the command prompt. You should see an error message about no targets being specified, and no Makefile found. Congrats – if you see that error then all is good, and you are ready to go.

The last development tool that we’ll need is a very important one – subversion. Subversion is an excellent version control system. I’d advise anyone serious about software development to learn about subversion or some other version control system. Not having your code in a version control system is like walking a fraying tightrope without a net. For any new project, get your code under version control early.

Subversion is part of the same repository that we’ve been using, so we merely need to type:


sudo apt-get install subversion


and let apt-get work its magic.

My subversion repository is actually hosted by Google Code. They’ve got free project hosting, which is really swell.


Written by m3os

March 17, 2009 at 9:44 am

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: