1 |
Pieter Van den Abeele <pvdabeel@g.o> writes: |
2 |
>The GRP cds can be pre-ordered from our store; they allow one to set up |
3 |
>a complete, optimized gentoo linux *very fast* on a system that shouldn't |
4 |
>even be connected to the net. These 2 disc GRP sets for each cpu (right |
5 |
>now |
6 |
>x86 and ppc, no word yet from sparc or the others) contain (in casu ppc) |
7 |
>some |
8 |
>distfiles, prebuild packages for most commonly used stuff and stages. |
9 |
> |
10 |
>A grp cd is a small livecd with some prebuild packages |
11 |
> |
12 |
>We know that: |
13 |
> |
14 |
>livecd = bootloader + kernel with uncompressor module + initrd + |
15 |
>compressed(live-env) |
16 |
>live-env = stage3 + extra packages |
17 |
>stage3 = stage2 + extra packages |
18 |
>stage2 = stage1 + bootstrap |
19 |
> |
20 |
>so we could give you a small script (emerge livecd-ng) that given a 10M |
21 |
>stage1 builds a complete livecd or a GRP cd etc, but that script has a 'I |
22 |
>need a net |
23 |
>connection to download stuff' and a 'I need a week compile time, unless |
24 |
>you |
25 |
>got 20 machines lying around doing nothing' dependency. |
26 |
> |
27 |
>I think jigdo has the same problem; it has a 'I need a network' |
28 |
>dependency. |
29 |
>It might not have a 'I need cpu time' dependency, but we need to make the |
30 |
>prebuild packages available (or have jigdo compile from source). With |
31 |
>debian |
32 |
>I can understand those packages are available as .deb, but with gentoo |
33 |
>ebuilds have to be compiled (which is what makes imho gentoo so easy to |
34 |
>port |
35 |
>to other platforms/architectures). |
36 |
> |
37 |
>I cannot suggest a direct solution to this problem. p2p is the first thing |
38 |
>that comes to mind, but we'll have to look into that first to check if |
39 |
>that |
40 |
>solution is applicable to our problem. (safety/security is an important |
41 |
>issue |
42 |
>here). |
43 |
> |
44 |
>A solution that I think might be worth while investigating is 'cloning' |
45 |
>(The idea comes from the prototype-based (instead of OO) programming |
46 |
>languages, such as Sun SELF): |
47 |
> |
48 |
>-- |
49 |
>Instead of releasing stages, and several types of livecds on every |
50 |
>release, |
51 |
>we could make and release only one livecd for each architecture gentoo |
52 |
>linux runs |
53 |
>on. The purpose of our livecds is to give people an idea what gentoo |
54 |
>looks/feels like when it is installed. So, basically the live environment |
55 |
>on the livecd == (should be) the same environment as it would be after |
56 |
>installing |
57 |
>gentoo to your hard drive without manually modifying it. The only |
58 |
>difference being that the live |
59 |
>environment on the cd is read-only, while those on your hard drive isn't |
60 |
>of |
61 |
>course. Since nothing has been manually modified, one can call the live |
62 |
>environment |
63 |
>clean. (No user modified files, no user added files, ...) |
64 |
> |
65 |
>Portage does merging and unmerging of software: this means |
66 |
>that should you copy a clean live environment from a livecd onto a |
67 |
>harddisk, |
68 |
>you could downgrade it to a clean state (stage0), or to a stage2, a |
69 |
>stage3 or just unmerge one package. You could also 'add' or replace |
70 |
>software: add an |
71 |
>extra build to the live environment (this requires net connection)... |
72 |
>Since portage knows what a clean live environment is (it keeps a record |
73 |
>of the files it |
74 |
>installs for each package.), this means that given a 'poluted' |
75 |
>environment it should be |
76 |
>able to migrate to a clean environment. Heck, portage is even capable of |
77 |
>given a gentoo |
78 |
>environment, create a GRP package using that environment. |
79 |
> |
80 |
>What I'm suggesting is the following: suppose gentoo releases a livecd, |
81 |
>and |
82 |
>kept updating the environment on this livecd on a regular interval (mount |
83 |
>the |
84 |
>live env, emerge --update word). If we figure out a way to clone the live |
85 |
>environment of a livecd onto a hd, and the other way around, there would |
86 |
>be |
87 |
>no need for GRP, nor stages, only a live environment (a livecd). The only |
88 |
>thing |
89 |
>that we need to have is a huge live environment (cd) on major releases |
90 |
>and a small |
91 |
>live environment on smaller releases. I can prove that this cloning |
92 |
>system can support |
93 |
>everything we support now (custom CFLAGS...). And we no longer need to |
94 |
>provide people with cpu optimized optimized stuff, as they will be able to |
95 |
>provide that themselves. We could still have an oportunity to build |
96 |
>optimized live |
97 |
>environments, but users could do themselves too. (a big environment can be |
98 |
>downgraded to a small one and upgraded to a bigger, optimized one without |
99 |
>much difficulty) |
100 |
> |
101 |
>conclusion: |
102 |
> |
103 |
>I think that instead of releasing a livecd (=stage1+extra stuff) with a |
104 |
>set |
105 |
>of stages (stage1 , stage1+extra stuff, stage1+bootstrap+extra stuff) and |
106 |
>some extra |
107 |
>stuff as GRP cd. We could release a big livecd (=stage1+a lot of extra |
108 |
>stuff) |
109 |
>if we enhanced our package manager. I see no drawbacks, apart from |
110 |
>revising |
111 |
>our current method of installation. Imho installation stays as educational |
112 |
>and powerfull as it is now. Maybe faster and better to some. |
113 |
>Note that this is only a idea, and not ment to be something that I |
114 |
>absolutely |
115 |
>want. |
116 |
|
117 |
Just want everyone to know, that GLIS (http://glis.sf.net) is happy to be |
118 |
involved with anything that needs help (especially the scripting). |
119 |
|
120 |
Nathaniel |
121 |
|
122 |
|
123 |
-- |
124 |
gentoo-dev@g.o mailing list |