Live CDs, Xen guests and related installs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello all

I have some ideas for improving Anaconda for "not physical hardware" 
installations.

As an example of this, consider the Kadischi project. The project aims 
to make official Fedora Live CDs. More info at:

http://fedoraproject.org/wiki/Kadischi
https://www.redhat.com/mailman/listinfo/fedora-livecd-list

Kadischi is currently being built as a shell script that calls Anaconda 
from the command line. However, there are already some patches in 
Kadischi's CVS to add a command line parameter to Anaconda to enable 
Kadischi to skip certain installation steps.

After Anaconda is done, Kadischi runs its own post install scripts in a 
chroot on the directory created by Anaconda. This does things like 
removing unnecessary files and setting up /etc/fstab.

While this is a reasonable method for making Live CDs, I think that a 
more general way of doing things can benefit various other efforts, such 
as an installer for Xen guests.

I took apart Anaconda 10.2.1.5's /usr/sbin/anaconda to see what it would 
entail to build something like Kadischi on top of the Anaconda code. I 
was left with a script containing about 350 lines of code that could 
install the Fedora Core 4 RPMS into a directory using Anaconda's 
command line, text and graphical modes with or without a kickstart 
configuration.

This goes a long way towards handling installation for Live CDs, Xen 
guests and "normal" chroots. For example, I used this script to 
"install" Fedora Core 4 to a directory. I copied this directory to a 
Rocks Cluster 3.3.0 (based on RHEL 3) system, chrooted, started sshd, 
set up yum and added a user. I was able to ssh to this chrooted system 
and develop code with GCC 4.0.1 without changing the existing system 
(and this on a 2.4.21 kernel!).

However, the various installations mentioned above all have slightly 
different requirements at various stages before and after the packages 
are extracted. Some changes to Anaconda will make all these scenarios 
easier to implement. So far I've identified the following:

- There needs to be a flag other than setupFilesystems to tell Anaconda 
to run things like authconfig and lokkit inside the chroot.

- There needs to be a way to add new installation steps. As far as I 
can tell, the list is currently hardcoded in BaseInstallClass.

- Anything else?

This will allow much greater customization of Anaconda. Kadischi can add 
a step telling the user the approximate size of the final CD. A USB 
flash disk installer can ask whether locales should be excluded to save 
some space. A Xen guest installer can prompt for an image filename to 
install the files to. All of this should be possible without changing 
Anaconda itself by creating new modules that add install steps.

Is anybody working on this already? If not, is anyone interested in 
working on this? Anybody working on Xen guest installs with Anaconda? 
Any other comments?

Regards

Albert

P.S. My script is attached. You can run it as follows:

/opt/kadischi-20050914/usr/sbin/kadischi \
	--noselinux \
	--rootpath=/tmp/sysimage \
	-m nfs://foo/bar/fedora/4/i386/os \
	--logfile=/tmp/kadischi.log \
	--cmdline \
	--kickstart /opt/kadischi-20050914/ks.cfg

Attachment: kadischi-20050914.tar.gz
Description: GNU Zip compressed data


[Index of Archives]     [Kickstart]     [Fedora Users]     [Fedora Legacy List]     [Fedora Maintainers]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]
  Powered by Linux