Project

General

Profile

Actions

Main » History » Revision 11

« Previous | Revision 11/20 (diff) | Next »
Thomas Capricelli, 11/29/2009 06:17 AM


Zeta is the name of a virtual platform, or architecture.

There are specifications (see the handbook), and a basic, not-yet-optimised emulator (cpu, ram, clock, mainboard). The architecture is simple, barely having the minimum needed to run linux with MMU.

The purpose is to play with the toolchain and the linux kernel, to learn more about those core technologies. Binutils and gcc are already ported at 80%25. (No static lib nor PIC code yet, userland compilation untested.) Using those tools (as "cross-compilers"), the real work can now begin : porting linux to Zeta. This is still work in progress. This kernel is called ZetaLinux.

Zeta is designed and written by Thomas Capricelli

Status

Zeta 0.6 was released in july 2007. The toolchain and the kernel were updated to latest version, and the handbook has been improved.

Version of external tools used:

BINUTILS_VERSION = 2.17 
GCC_VERSION = 4.1.2 
KERNEL_VERSION = 2.6.22

The whole chain was tested on i386 and amd64 host platforms.

Get the code

All the code can be found on http://sources.freehackers.org/ : you can either download tarballs or clone the repositories using mercurial (homepage) if you know what this is.

There are 4 repositories:
  • Zeta-binutils is a port of binutils to Zeta
  • Zeta-gcc is a port of gcc to Zeta
  • Zeta-linux is a port of the linux kernel to Zeta
  • Zeta is the main repository, with specification, documentation, test cases and the emulator.

Quickstart

First you need to install the toolchain. The default is to install everything under /opt/zeta, and your user should have write permission there. Else you need to slightly change the top of zeta.binutils/Makefile and zeta.gcc/Makefile

# from the directory zeta.binutils
make install
# from inside zeta.gcc
make install

Then you need to check your installation.

# from the directory zeta/tests
make

You should get this at the end:

##########################################
########     Testsuite OK       ##########
##########################################

Then you need to cross-compile the kernel

# from the directory zeta.linux
make oldconfig
make clean
make

Now compile the emultaor

# from the directory zeta/emulator
make

To try the graphical emulator, do the following:

# from the directory zeta/emulator/gui
#./zeg <path to your zeta.linux directory>
# example :
./zeg ~/hg/zeta.linux

Developer information

The handbook describes tests further.

Licencing

The whole code of the Zeta project is released under the GNU General Public License version 2 (GPL).

Future goals, ideas

  • use t2-project to create the first distribution ?
  • there are lot of testing suites over there..
  • even benchmarks, such as nbench
  • documentation for tests in the handbook
  • uclib
  • busybox
  • framebuffer
  • qtopia
  • opie, etc..

Updated by Thomas Capricelli about 11 years ago · 11 revisions