1 |
On 23/07/03 15:28 +0600, Alvaro Figueroa Cabezas wrote: |
2 |
> On Jul 23 17:01, Kurt Lieber wrote: |
3 |
> > On Wed, Jul 23, 2003 at 02:40:39PM +0600 or thereabouts, Alvaro Figueroa Cabezas wrote: |
4 |
> > > Using jigdo instead of distributing the ISOs. |
5 |
> > |
6 |
> > I like the idea of jigdo and think it's a great idea for saving bandwidth, |
7 |
> > but I don't necessarily see how this will save disk space, which is our |
8 |
> > primary issue right now. |
9 |
> |
10 |
> I must have this wrong. I tought that there where GRP tar files on the |
11 |
> repository and inside the ISO images. |
12 |
> |
13 |
> The stage3 tar file is the stage2 plus a bit more packages, right? Well, |
14 |
> then this could be manage with jigdo as well. Lets remember that jigdo |
15 |
> isn't only for ISO images. |
16 |
|
17 |
The GRP cds can be pre-ordered from our store; they allow one to set up |
18 |
a complete, optimized gentoo linux *very fast* on a system that shouldn't |
19 |
even be connected to the net. These 2 disc GRP sets for each cpu (right now |
20 |
x86 and ppc, no word yet from sparc or the others) contain (in casu ppc) some |
21 |
distfiles, prebuild packages for most commonly used stuff and stages. |
22 |
|
23 |
A grp cd is a small livecd with some prebuild packages |
24 |
|
25 |
We know that: |
26 |
|
27 |
livecd = bootloader + kernel with uncompressor module + initrd + compressed(live-env) |
28 |
live-env = stage3 + extra packages |
29 |
stage3 = stage2 + extra packages |
30 |
stage2 = stage1 + bootstrap |
31 |
|
32 |
so we could give you a small script (emerge livecd-ng) that given a 10M |
33 |
stage1 builds a complete livecd or a GRP cd etc, but that script has a 'I need a net |
34 |
connection to download stuff' and a 'I need a week compile time, unless you |
35 |
got 20 machines lying around doing nothing' dependency. |
36 |
|
37 |
I think jigdo has the same problem; it has a 'I need a network' dependency. |
38 |
It might not have a 'I need cpu time' dependency, but we need to make the |
39 |
prebuild packages available (or have jigdo compile from source). With debian |
40 |
I can understand those packages are available as .deb, but with gentoo |
41 |
ebuilds have to be compiled (which is what makes imho gentoo so easy to port |
42 |
to other platforms/architectures). |
43 |
|
44 |
I cannot suggest a direct solution to this problem. p2p is the first thing |
45 |
that comes to mind, but we'll have to look into that first to check if that |
46 |
solution is applicable to our problem. (safety/security is an important issue |
47 |
here). |
48 |
|
49 |
A solution that I think might be worth while investigating is 'cloning' |
50 |
(The idea comes from the prototype-based (instead of OO) programming |
51 |
languages, such as Sun SELF): |
52 |
|
53 |
-- |
54 |
Instead of releasing stages, and several types of livecds on every release, |
55 |
we could make and release only one livecd for each architecture gentoo linux runs |
56 |
on. The purpose of our livecds is to give people an idea what gentoo |
57 |
looks/feels like when it is installed. So, basically the live environment |
58 |
on the livecd == (should be) the same environment as it would be after installing |
59 |
gentoo to your hard drive without manually modifying it. The only difference being that the live |
60 |
environment on the cd is read-only, while those on your hard drive isn't of |
61 |
course. Since nothing has been manually modified, one can call the live environment |
62 |
clean. (No user modified files, no user added files, ...) |
63 |
|
64 |
Portage does merging and unmerging of software: this means |
65 |
that should you copy a clean live environment from a livecd onto a harddisk, |
66 |
you could downgrade it to a clean state (stage0), or to a stage2, a |
67 |
stage3 or just unmerge one package. You could also 'add' or replace software: add an |
68 |
extra build to the live environment (this requires net connection)... |
69 |
Since portage knows what a clean live environment is (it keeps a record of the files it |
70 |
installs for each package.), this means that given a 'poluted' environment it should be |
71 |
able to migrate to a clean environment. Heck, portage is even capable of given a gentoo |
72 |
environment, create a GRP package using that environment. |
73 |
|
74 |
What I'm suggesting is the following: suppose gentoo releases a livecd, and |
75 |
kept updating the environment on this livecd on a regular interval (mount the |
76 |
live env, emerge --update word). If we figure out a way to clone the live |
77 |
environment of a livecd onto a hd, and the other way around, there would be |
78 |
no need for GRP, nor stages, only a live environment (a livecd). The only thing |
79 |
that we need to have is a huge live environment (cd) on major releases and a small |
80 |
live environment on smaller releases. I can prove that this cloning system can support |
81 |
everything we support now (custom CFLAGS...). And we no longer need to |
82 |
provide people with cpu optimized optimized stuff, as they will be able to |
83 |
provide that themselves. We could still have an oportunity to build optimized live |
84 |
environments, but users could do themselves too. (a big environment can be |
85 |
downgraded to a small one and upgraded to a bigger, optimized one without |
86 |
much difficulty) |
87 |
|
88 |
conclusion: |
89 |
|
90 |
I think that instead of releasing a livecd (=stage1+extra stuff) with a set |
91 |
of stages (stage1 , stage1+extra stuff, stage1+bootstrap+extra stuff) and some extra |
92 |
stuff as GRP cd. We could release a big livecd (=stage1+a lot of extra stuff) |
93 |
if we enhanced our package manager. I see no drawbacks, apart from revising |
94 |
our current method of installation. Imho installation stays as educational |
95 |
and powerfull as it is now. Maybe faster and better to some. |
96 |
Note that this is only a idea, and not ment to be something that I absolutely |
97 |
want. |
98 |
-- |
99 |
|
100 |
Pieter |
101 |
|
102 |
-- |
103 |
Pieter Van den Abeele |
104 |
Gentoo Linux http://www.gentoo.org/~pvdabeel/ |
105 |
|
106 |
Public Key: http://pgp.mit.edu:11371/pks/lookup?op=get&search=0xF238673E |
107 |
Key fingerprint = F29C C550 54CD 1196 6723 EDC3 9B0D 4EA7 F238 673E |