Project

General

Profile

Main » History » Version 4

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

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