On Sun, 2006-04-16 at 20:35 +0200, Chitlesh GOORAH wrote:
Live CD (Kadischi) -- Lots of people like the idea of this project,
but there are still some problems to solve. We should empower people
to take the reins, but if they hit a roadblock we need to find a way
to assign them some help, without simply (a) taking the project away,
or (b) saddling Red Hat developers with new work. DECIDED: Jeremy will
take up the cause for Kadischi.
I have some questions concerning Kadischi's roadmap and how the
development will continue.
Everyone knows that Kadischi's development stalled, but it wasn't dead.
Some new features have been added on since, Squashfs, tuned with FC5,
man pages, bootsplash, Legal....
Unfortunately, there are still the very large architectural problems
around just reimplementing system components such as initrds, etc that
go unsolved. And these are the things that long-term make kadischi very
unmaintainable as it's just not possible to try to track every change
that happens in that stage of the distro.
Also, for better or worse, Darko was new to python. He did an admirable
job, but the code just generally needs a fine-tooth comb of going
through and actually using parts of python rather than re-implementing
them (as it turns out, all of lib/*py isn't needed).
What is Kadischi's roadmap?
What do we want from Kadischi in the future?
Will we start meetings again?
Should contributors state in which area they want to get involved in
so as 2 contributors might not do the same thing.
What the Fedora Community looking for?
...... the list goes on.
I think the big thing that's needed is moving towards using the stock
Fedora infrastructures for the various parts of creating the live CD. I
started working on this while I was waiting on FC5 trees to test but
then unfortunately had vacation, LinuxWorld and a week of meetings -- so
it's taken far longer than I wanted to actually get to where this is
"reasonable". Also, tying into this will be working with Bill and Mark
on what they're doing to get stateless off the ground again -- this will
also hopefully let us continue in the "using stock Fedora
infrastructure" path. Going this way will let us get to where we can (I
hope) actually have an Official Fedora LiveCD to give out in conjunction
with the release of Fedora Core 6. And, it'll be a reasonable toolset
to let other people create their own
On this line of thinking, I've made progress on the following
1) Modifying kadischi.py to be a little bit more python-y. More
importantly, it's using all python built-ins rather than
reimplementations of things. We can also avoid the need for a config
file with command-line options for pretty much everything.
2) Cleaning up invocation of the post scripts and how things are handled
3) Implementing a mkrootdev command to be included in a secondary
initramfs overriding the stock nash mkrootdev. With this, we can use a
completely stock initramfs creation.
4) Generate the isolinux config as anaconda's boot loader generation
With this, I am now generating a live cd that can boot with
init=/bin/bash. Getting beyond that is going to want to piggy-back on
what Bill has been doing for readonly root in stateless. But rather
than wait for everything to be perfect, I've gone ahead and put up what
I currently have at http://people.redhat.com/~katzj/livecd/
there are the following:
a) livecd.tar.gz -- this is the main pieces. See the README within for
the basic usage, essentially the same as with kadischi, but a few tweaks
so you can actually run from a working directory. The unfortunate side
is that this mostly based on the state of things from a few weeks ago
given the other stuff that I've been occupied with.
b) booty-0.71-1.livecd.i386.rpm (and src.rpm). This is an updated booty
that will work for creating the isolinux.cfg. Note that it's currently
hacked to just work for live CDs
c) anaconda-11.0.5-1.livecd.i386.rpm (and src.rpm) . This is a patched
version of the FC5 anaconda that will properly do the boot loader config
and ensure firewall, etc stuff is set up within the live CD image
From here, I'd like to get to where the hack to handle the boot
config isn't needed, probably by actually having anaconda know that
doing a rootpath install for a livecd. Also, getting integrated with
the new stateless stuff and ensuring that everything is on the same page
would be a good step forward.
Then, questions like what goes on an official live CD and how do we get
from something which exists to something which is good can start being
attacked. And due to having our infrastructure aligned, we'll start
just picking up improvements as things occur in the development tree.
So, am I insane? Most of this is stuff that I've said before, but I've
tried to sit down and put my money where my mouth is so to speak and
actually gotten some coding done.