Gentoo Archives: gentoo-catalyst

From: Georg Lippold <georg.lippold@×××.de>
To: gentoo-catalyst@l.g.o
Subject: Re: [gentoo-catalyst] LiveCD UNIONFS overlay
Date: Sat, 10 Sep 2005 19:31:39
Message-Id: 4323347A.4070308@gmx.de
In Reply to: Re: [gentoo-catalyst] LiveCD UNIONFS overlay by Georg Lippold
1 I found out how to reenable unionfs, so don't bother with extracting the
2 initrd. It seems to require you "special" option ;)
3
4 Greetings,
5
6 Georg
7
8 Georg Lippold wrote:
9 > Okay, I know it's very low on your priority list, but I figured out
10 > something new ;)
11 >
12 > How about scanning for the partition that shall be used for the initrd?
13 > It could be done with unionfs=scan and that wouldn't break compatibility
14 > for genkernel. I studied the UnionFS's scripts a bit longer and found
15 > that the file livecd.unionfs must exist on the partition that shall be
16 > used as rw-device for unionfs. Now it's easy to scan for it, just
17 > include the following function to
18 > /usr/share/genkernel/generic/initrd.scripts:
19 >
20 > find_unionfs(){
21 > local FS
22 > goodmsg "Scanning for filesystem with file /livecd.unionfs"
23 > mkdir -p /union
24 > FS=`blkid -c /dev/null | cut -d: -f1`
25 > # find filesystem on blockdevice containing file livecd.unionfs
26 > for i in ${FS}
27 > do
28 > mount -t auto ${i} /union
29 > if [ -f /union/livecd.uinonfs ]
30 > then
31 > goodmsg "Found filesystem $i"
32 > UNIONFS=${i}
33 > umount /union
34 > break
35 > else
36 > umount /union
37 > fi
38 > done
39 > rmdir /union
40 > }
41 >
42 > then the function setup_unionfs() just needs a little patch at the
43 > beginning:
44 >
45 > setup_unionfs(){
46 > if [ "${UNIONFS}" = "scan" ]
47 > then
48 > find_unionfs
49 > fi
50 >
51 > You say it's known to be broken, what else needs to be fixed besides bug
52 > 99682 (and that is already resolved, as it seems)? I currently have the
53 > strange feeling, that unionctl is not copied to the initrd of the
54 > livecd, as it was not found when I booted from a CD made with 'genkernel
55 > --unionfs'. I tried to extract the file isolinux/gentoo.igz from the
56 > cdrom to check, but I didn't get all of it's contents, as it seems.
57 > 'gunzip -c gentoo.igz | cpio -i' has only this content:
58 >
59 > ./dev
60 > ./dev/console
61 > ./dev/null
62 > ./dev/tty1
63 > ./bin
64 > ./etc
65 > ./etc/fstab
66 > ./usr
67 > ./usr/bin
68 > ./usr/sbin
69 > ./proc
70 > ./temp
71 > ./sys
72 > ./var
73 > ./var/lock
74 > ./var/lock/dmraid
75 > ./sbin
76 >
77 > But the file has extracted ~17 MB... Mounting it with -o loop didn't
78 > succeed either, but maybe I'm not having the right FS in my kernel. Can
79 > you help me on this?
80 >
81 > For me this feature is very important, and I would be willing to
82 > maintain the unionfs of the LiveCD, if it helps you having more time.
83 >
84 > Greetings,
85 >
86 > Georg
87 >
88 > Chris Gianelloni wrote:
89 >
90 >> On Thu, 2005-09-08 at 21:05 +0200, Georg Lippold wrote:
91 >>
92 >>> If in /usr/share/genkernel/generic/initrd.scripts the function
93 >>> parse_opt is changed with the corresponding | as delimiter, then one
94 >>> wouldn't have to change anything else. It would look like this:
95 >>>
96 >>> parse_opt() {
97 >>> case "$1" in
98 >>> *\|*)
99 >>> local key_name="`echo "$1" | cut -f1 -d\|`"
100 >>> local key_len=`strlen key_name`
101 >>> local value_start=$((key_len+2))
102 >>> echo "$1" | cut -c ${value_start}-
103 >>> ;;
104 >>> esac
105 >>> }
106 >>>
107 >>>
108 >>> What is your opinion on this?
109 >>
110 >>
111 >>
112 >> We don't support UnionFS in any way and don't have plans on doing so for
113 >> some time. We also do not want to break compatibility in genkernel
114 >> mid-release, as this caused us quite enough headaches between 2005.0 and
115 >> 2005.1's releases.
116 >>
117 >> To put it simply, the UnionFS support in genkernel is known to be broken
118 >> and not working well, which is why we have removed the --unionfs option
119 >> from genkernel. It is so low on our priority list, that we're
120 >> definitely saying that we'll get to it "when we have time" and I can
121 >> tell you that I, personally, won't have time for months.
122 >>
123 >> Remember that genkernel and catalyst *are* two separate projects, and
124 >> genkernel must maintain usability. We can't use a pipe to delimit
125 >> things, as that could be interpreted by the shell.
126 >>
127 >> Currently, all of our limited attention is focused on resolving bugs,
128 >> and working towards releasing catalyst 2.0 to the world. I'd almost
129 >> expect a feature freeze on genkernel for some time, as we work to
130 >> stabilize the codebase.
131 >>
132 --
133 gentoo-catalyst@g.o mailing list