1 |
Hello all. |
2 |
I have completed the livecd support for the remaining components |
3 |
(genkernel, baselayout, and some catalyst changes) |
4 |
|
5 |
Quick notes on how to get started: |
6 |
- sync your latest portage tree |
7 |
- grab the latest catalyst cvs gentoo/src/catalyst |
8 |
- tag baselayout-1.8.6.12-r4.ebuild stable for your arch, as it has |
9 |
_necessary_ fixes for livecds, and make sure your livecd-stage1 |
10 |
spec file has it as a dependancy. |
11 |
- create an arch runscript 'archscript' for your system arch if you're not |
12 |
on x86. This entails primarily setting up the bootloader portion of |
13 |
your livecd. Please refer to examples/livecd/runscript/x86-runscript.sh |
14 |
if you have any questions. The |
15 |
examples/livecd/runscript/default-runscript.sh |
16 |
should be used as your standard 'runscript' setting in your spec files |
17 |
as it should be totally arch-independant. |
18 |
- You should base your spec files on the ones available in |
19 |
examples/livecd/x86/x86-livecd-stage?-20040114.spec |
20 |
- Assuming you have a fairly current standard stage3 build, you can build |
21 |
an x86 livecd by doing this from the catalyst directory: |
22 |
./catalyst -f examples/generic/snapshot.spec && ./catalyst -f |
23 |
examples/livecd/x86/x86-livecd-stage1-20040114.spec && ./catalyst -f |
24 |
examples/livecd/x86/x86-livecd-stage2-20040114.spec && ./catalyst -f |
25 |
examples/livecd/x86/x86-livecd-stage3-20040114.spec |
26 |
- Once a livecd stage3 is built, you can take that and simply run mkisofs |
27 |
on it, or if you're on x86, you cat use x86-isogen.sh provided in |
28 |
the root of catalyst. You must be within the 'cdroot' directory of |
29 |
the stage 3 to run it. It will create ../gentoo.iso |
30 |
|
31 |
|
32 |
NOTES: |
33 |
- We currently support 3 loop types which the same type must be |
34 |
passed to the livecd-stage2 and livecd-stage3 spec files in the |
35 |
'looptype' parameter. |
36 |
* zisofs - Compresses each file in the filesystem. Creates this |
37 |
filesystem in the /zisofs directory in the root of the |
38 |
livecd. You must pass 'looptype=zisofs loop=/zisofs' |
39 |
to the kernel during boot so the initrd knows what to do. |
40 |
You must also emerge app-misc/zisofs-tools in your system |
41 |
not on the livecd in order to make use of the mkzftree |
42 |
utility. A second requirement is to have transparent |
43 |
decompression extension compiled into your kernel under |
44 |
'ISO 9660 CDROM file system support', you will get |
45 |
binfmt errors otherwise during boot, and it will not |
46 |
work at all. |
47 |
* normal - Creates a standard non-compressed loop filesystem. It |
48 |
creates a /livecd.loop file in the root of the livecd. |
49 |
You must pass 'looptype=normal loop=/livecd.loop' to the |
50 |
kernel during boot so the initrd knows what to do. |
51 |
* noloop - Copies the entire filesystem into the root of the cd, |
52 |
totally uncompressed. You must pass 'looptype=noloop' |
53 |
to the kernel during boot so the initrd knows what to |
54 |
do. |
55 |
* In the future we'll have more options, this should be a good start. |
56 |
currently zisofs creates the smallest livecds as it is the only one |
57 |
that uses compression |
58 |
- 2 new required fields in livecd-stage2 and livecd-stage3 |
59 |
* looptype |
60 |
* archscript |
61 |
they are discussed above |
62 |
|
63 |
TODO: |
64 |
- create an ebuild for autoconfig (to automatically configure |
65 |
nics, run dhcpcd, etc). Going to pull the existing script |
66 |
out of the old livecd, as it seems to work well. |
67 |
|
68 |
Waiting on: |
69 |
- Azarah to commit baselayout changes I've submitted, I have them |
70 |
in the -r4 build, but they're not committed to the rc-scripts |
71 |
cvs tree. |
72 |
|
73 |
-Brad |
74 |
|
75 |
-- |
76 |
gentoo-releng@g.o mailing list |