Project

General

Profile

Main » History » Version 3

Thomas Capricelli, 06/23/2009 08:30 PM

1 1 Thomas Capricelli
2 3 Thomas Capricelli
Home of the Zeta Virtual Architecture
3
4
Zeta is the name of a virtual platform, or architecture.
5
6
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.
7
8
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.
9
10
Zeta is designed and written by "Thomas Capricelli":http://www.freehackers.org/thomas/feedback/
11
12
h2. Status
13
14
Zeta 0.6 was released in july 2007. The toolchain and the kernel were updated to latest version, and the handbook has been improved.
15
16
Version of external tools used
17
18
<pre>
19
BINUTILS_VERSION = 2.17 
20
GCC_VERSION = 4.1.2 
21
KERNEL_VERSION = 2.6.22
22
</pre>
23
24
The whole chain was tested on i386 and amd64 host platforms. 
25
26
h2. Get the code
27
28
All the code can be found on http://sources.freehackers.org/ : you can either download tarballs or clone the repositories using "mercurial":http://en.wikipedia.org/wiki/Mercurial_(software) ("homepage":http://mercurial.selenic.com/wiki) if you know what this is.
29
30
There are 4 repositories:
31
* Zeta-binutils is a port of binutils to Zeta
32
* Zeta-gcc is a port of gcc to Zeta
33
* Zeta-linux is a port of the linux kernel to Zeta
34
* Zeta is the main repository, with specification, documentation, test cases and the emulator.
35
36
h2. Licencing
37
38
The whole code of the Zeta project is released under the GNU General Public License version 2 (GPL). 
39
40
41 1 Thomas Capricelli
h2. Release checklist
42
43 2 Thomas Capricelli
    * export/compile/install/boot on at least three computers (berlioz,verdi,autre)
44
    * change gcc/gcc/version.c
45
    * change binutils/bfd/configure.in:AM_INIT_AUTOMAKE
46
    * change handbook/main.tex ("Release" and "History") 
47 1 Thomas Capricelli
48 2 Thomas Capricelli
h2. Goals for 0.7
49 1 Thomas Capricelli
50 2 Thomas Capricelli
    * latest binutils/gcc/kernel
51
    * mercurial repository for kernel port
52 1 Thomas Capricelli
53 2 Thomas Capricelli
h2. Goals for 0.8
54 1 Thomas Capricelli
55 2 Thomas Capricelli
    * Zeta Handbook
56
    * memory userspace access stuff for kernel
57
    * mmu : specs/emulator implementation/kernel code
58
59
h2. Future
60
61
    * documentation for tests in the handbook
62 1 Thomas Capricelli
    * uclib
63
    * busybox
64
    * framebuffer
65
    * qtopia
66
    * opie, etc..