1 |
Hi, |
2 |
|
3 |
This is my final report of my project. |
4 |
|
5 |
The goals have been achieved: |
6 |
|
7 |
1. Get a lxc setup working |
8 |
a) Prepare a simple script that generates a working normal lxc |
9 |
container from a gentoo stage3 |
10 |
b) Update the LXC wiki page: http://wiki.gentoo.org/wiki/LXC |
11 |
|
12 |
2. Integrate the lxc and qemu-user |
13 |
a) Make the script working for a qemu-user stage and create |
14 |
the ARM chroot |
15 |
b) Fix qemu-linux issues. |
16 |
The three patches have been accepted by the qemu community: |
17 |
* git commit aebf5bc727fa1837b3c5296c5325b560f19ed9ee |
18 |
* git commit 920394db819e30fbbfa527f25e45360061d1a220 |
19 |
* git commit ca6190673c90e283897740b243f6508055c9de5a |
20 |
|
21 |
3. Find the way to run dynamic-linked host program in arm chroot |
22 |
a) Investigate dynamic library linker |
23 |
b) Replacing native packages over the qemu-user lxc |
24 |
|
25 |
4. Intergrate crossdev, lxc and qemu-user |
26 |
a) Get accustomed to crossdev and update the wiki page: |
27 |
http://wiki.gentoo.org/wiki/Cross_Container_Support_Project |
28 |
b) Overriding GNU toolchain with native packages and run native |
29 |
cross compiler in chroot |
30 |
c) Automate the whole process in a script: |
31 |
https://github.com/jinghuang/cross_container_support |
32 |
d) Compare the results with emulated gcc with "time make -j2" |
33 |
test program: iputils-s20101006 |
34 |
result: emulated gcc(19.813s) native cross gcc(1.379s) |
35 |
|
36 |
test: linux-kernel 3.6-rc2 (with same .config) |
37 |
result: emulated gcc(11m39.046s) native cross gcc(1m17.106s) |
38 |
|
39 |
|
40 |
My work also has some limits. The script doesn't support X86_64 |
41 |
and hardcods some gnu toolchain paths and gcc version. I will continue |
42 |
to address these problems. |
43 |
|
44 |
I am thankful to the Gentoo Community and Luca for giving me the |
45 |
chance to be a gentooer. It is very cool to do this project. This |
46 |
project also gives me a very strong sense of achievement, especially |
47 |
at the moment that the native cross gcc running in chroot. I believe I |
48 |
can do as a hacker^_^ |
49 |
|
50 |
|
51 |
Jing. |