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.. |