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