On Tue, 5 Jul 2005, Steve Grubb wrote:
On Tuesday 05 July 2005 07:05, Darko Ilic wrote:
> ��������The toolkit would include three separate tools:
> �������� - a tool for generating config files that hold the list of
> packages that should be included in Live CD distribution (in kickstart-like
> format), - a tool that installs specified packages in the specified
> directory (and also check dependencies),
> �������� - a tool that makes bootable iso image out of that directory
Hello,
I've created the rookery build system which does the above. I'd like to go
over some things that I've learned along the way.
1) Package selection: where would the initial list come from? Do the
rpms need to be on the machine or can yum fetch them? Do you want to
have any filters to quickly weed out packages like devel? Can missing
dependencies be found at this stage?
2) Installation: The technique employed by the rookery is to use dd to create
a file of the right size and then mount it via loopback. What fs options are
available here? ext3, ext2? The other problem is what can be jettisoned to
bring the size down? I usually dump all the language translations. It wastes
a lot of precious space. This would need to be user selectable. It is really
important for us to find things that can be deleted to bring the size down.
3) image inspection. Usually people want to stop after image creation
and hand tune things. Maybe they want to add pam options, tighten
security, set IP Tables config, etc.
4) The big item...does it boot? Assuming all the above goes well, this is
where people usually have problems. There are modifications necessary for the
init scripts. You either need an overlay file system or a tmpfs for all
directories that are writable. Should the CD automatically look at floppy or
usb for saved session/override data? Should it utilize any swap partition on
the hard disk should it find one?
5) Once up and running, can users have yum install more packages? syslog
should be modified so that its a fifo keeping only 32k of data. Other things
that log need similar customizations.
6) Shutdown, how do you export data on the way down? Should it eject the CD?
Besides exporting data, does it really need to do anything on the way down?
The rookery system does a lot of this already. I'm sure some of the other
projects could help flesh out the above issues. I see this project having a
lot of parellism. Somebody can be working on package selection and someone
else working on booting without interfering with each other.
Maybe what we need is to draw up a document that breaks the project out into
all these steps, fill in the concerns/requirements/strategies, and let people
dive into the various chunks.
Looks like you've just started it. :)
My guess: in the IRC meeting this week (which I hope everyone can attend,
since almost no one has acked or nacked, hint hint) we begin this
discussion in earnest.
--g
_____________________ ____________________________________________
Greg DeKoenigsberg ] [ the future masters of technology will have
Community Relations ] [ to be lighthearted and intelligent. the
Red Hat ] [ machine easily masters the grim and the
] [ dumb. --mcluhan