Project

General

Profile

Main » History » Version 11

Thomas Capricelli, 11/29/2009 06:17 AM

1 4 Thomas Capricelli
!=Zeta_header.png!
2
3 9 Thomas Capricelli
{{toc}}
4 3 Thomas Capricelli
5
Zeta is the name of a virtual platform, or architecture.
6 1 Thomas Capricelli
7 10 Thomas Capricelli
!>screenshots.png!:/projects/zeta/wiki/screenshots
8 6 Thomas Capricelli
9 3 Thomas Capricelli
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.
10
11
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.
12
13 1 Thomas Capricelli
Zeta is designed and written by "Thomas Capricelli":http://www.freehackers.org/thomas/free-software/
14 3 Thomas Capricelli
15 9 Thomas Capricelli
h1. Status
16 3 Thomas Capricelli
17 1 Thomas Capricelli
Zeta 0.6 was released in july 2007. The toolchain and the kernel were updated to latest version, and the handbook has been improved.
18 3 Thomas Capricelli
19 6 Thomas Capricelli
Version of external tools used:
20 3 Thomas Capricelli
<pre>
21
BINUTILS_VERSION = 2.17 
22
GCC_VERSION = 4.1.2 
23
KERNEL_VERSION = 2.6.22
24
</pre>
25 1 Thomas Capricelli
26 3 Thomas Capricelli
The whole chain was tested on i386 and amd64 host platforms. 
27
28 9 Thomas Capricelli
h1. Get the code
29 3 Thomas Capricelli
30
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.
31
32
There are 4 repositories:
33
* Zeta-binutils is a port of binutils to Zeta
34 1 Thomas Capricelli
* Zeta-gcc is a port of gcc to Zeta
35 3 Thomas Capricelli
* Zeta-linux is a port of the linux kernel to Zeta
36
* Zeta is the main repository, with specification, documentation, test cases and the emulator.
37 1 Thomas Capricelli
38 11 Thomas Capricelli
h1. Quickstart
39
40
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
41
42
<pre>
43
# from the directory zeta.binutils
44
make install
45
# from inside zeta.gcc
46
make install
47
</pre>
48
49
Then you need to check your installation.
50
51
<pre>
52
# from the directory zeta/tests
53
make
54
</pre>
55
56
You should get this at the end:
57
58
<pre>
59
##########################################
60
########     Testsuite OK       ##########
61
##########################################
62
</pre>
63
64
Then you need to cross-compile the kernel
65
66
<pre>
67
# from the directory zeta.linux
68
make oldconfig
69
make clean
70
make
71
</pre>
72
73
Now compile the emultaor
74
<pre>
75
# from the directory zeta/emulator
76
make
77
</pre>
78
79
To try the graphical emulator, do the following:
80
<pre>
81
# from the directory zeta/emulator/gui
82
#./zeg <path to your zeta.linux directory>
83
# example :
84
./zeg ~/hg/zeta.linux
85
</pre>
86
87
88 9 Thomas Capricelli
h1. Developer information
89 1 Thomas Capricelli
90 5 Thomas Capricelli
* [[FAQ]]
91
* Tests
92
** [[tests_zeta|global tests]] : tests the whole Zeta toolchain
93
** [[tests_binutils|binutils]] : binutils upstream tests on Zeta
94
** [[tests_gcc|gcc]] : gcc upstream tests on Zeta
95 1 Thomas Capricelli
** [[tests_platforms|host platforms]] : checks that Zeta can be compiled/used on different platforms
96 5 Thomas Capricelli
* [[release checklist]]
97 1 Thomas Capricelli
98
The handbook describes tests further.
99
100 9 Thomas Capricelli
h1. Licencing
101 2 Thomas Capricelli
102 5 Thomas Capricelli
The whole code of the Zeta project is released under the GNU General Public License version 2 (GPL). 
103 2 Thomas Capricelli
104 9 Thomas Capricelli
h1. Future goals, ideas
105 1 Thomas Capricelli
106 7 Thomas Capricelli
* use "t2-project":http://www.t2-project.org to create the first distribution ?
107
* there are lot of testing suites over there..
108
* even benchmarks, such as "nbench":http://www.tux.org/~mayer/linux/bmark.html
109
* documentation for tests in the handbook
110
* uclib
111
* busybox
112
* framebuffer
113
* qtopia
114
* opie, etc..