Hi folks,
Hot on the heels of Stateless Linux, I decided to give the whole diskless workstation idea a try. In doing so, I realized it would be a good idea if I could create an image that I could later serve via NFS to my diskless clients, and it seemed like anaconda is the answer to all my problems.
However, after a cursory look at the documentation and the source, I can't seem to figure it out. What I want from Anaconda is: -- to skip all the questions about formatting and so on that are really applicable to a real image, and just go to the application selection screen. This seems doable via kickstart, right? -- install the selected RPM's into a directory of my choosing. Now this seems to be a perfect fit for anaconda, but it's not at all aparent how to accomplish it.
Am I missing something? If not, and the feature is to be implemented, would it be a big deal? If it's not a huge effort, I'd be willing to implement it, with a bit of guidance from the anaconda-gurus. But before I set out on this path, is this a desirable feature for anaconda, or is there another way that I have overlooked?
On Monday 29 November 2004 14:29, Dimitrie O. Paun wrote:
Hi folks,
Hot on the heels of Stateless Linux, I decided to give the whole diskless workstation idea a try. In doing so, I realized it would be a good idea if I could create an image that I could later serve via NFS to my diskless clients, and it seemed like anaconda is the answer to all my problems.
However, after a cursory look at the documentation and the source, I can't seem to figure it out. What I want from Anaconda is: -- to skip all the questions about formatting and so on that are really applicable to a real image, and just go to the application selection screen. This seems doable via kickstart, right? -- install the selected RPM's into a directory of my choosing. Now this seems to be a perfect fit for anaconda, but it's not at all aparent how to accomplish it.
Am I missing something? If not, and the feature is to be implemented, would it be a big deal? If it's not a huge effort, I'd be willing to implement it, with a bit of guidance from the anaconda-gurus. But before I set out on this path, is this a desirable feature for anaconda, or is there another way that I have overlooked?
If you scout around the User Mode Linux project at sourceforge you sould be able to find a script to create RHL (and maybe Fedora) filesystems. Alternatively, you could do an install on a real computer and use its filesystem as a starting-point.
Depending on your particular aims there will be less or more mucking around: you will want to share /usr as read-only but clients will expect to write in /var and /home. Additionally you will want either per-host /etc or a means of patching a copy early in he boot process.
You might wish to go with a custom kernel that supports / on NFS and has the driver for your NICs hardwared in and supports boot-time DHCP. Or you can diddle round with an initrd and a standard kernel.
I don't know whether the standard kernel supports swap on NFS; there used to be a patch someplace but I never bothered with that.
You could also consider having disk to support swap and some local data (no, not compact flash, it's not fast and it wears out) such as /var. That does not preclude booting the OS off the LAN.
Depending on your performance requirements and the size of the software set you could also consider booting and loading everything into a RAM disk. Load on the LAN at boot time will be hell, but after that ....
I suspect that a lot of what Anaconda does is completely irrelevant to what you want to do.
On Mon, Nov 29, 2004 at 09:34:07PM +0800, John Summerfield wrote:
If you scout around the User Mode Linux project at sourceforge you sould be able to find a script to create RHL (and maybe Fedora) filesystems.
Right, tnx. However, I would have hoped to be able to use Anaconda instead of a hackish script.
Alternatively, you could do an install on a real computer and use its filesystem as a starting-point.
Right, but this is exactly what I want to avoid.
I suspect that a lot of what Anaconda does is completely irrelevant to what you want to do.
I'm looking at Anaconda *just* for the creation of the image, nothing more. To me, it seems as a pretty good fit, at least at a logic/intuitive level.
On Mon, 2004-11-29 at 10:33 -0500, Dimitrie O. Paun wrote:
On Mon, Nov 29, 2004 at 09:34:07PM +0800, John Summerfield wrote:
If you scout around the User Mode Linux project at sourceforge you sould be able to find a script to create RHL (and maybe Fedora) filesystems.
Right, tnx. However, I would have hoped to be able to use Anaconda instead of a hackish script.
A quick non-hackish option is to use a depsolver, rather than anaconda eg:
yum --installroot=/srv/stateless-fc3 groupinstall "GNOME Desktop Environment"
yum grouplist for the groups (you can edit the yum source to enable hidden groups).
This uses comps.xml which is the same as for anaconda's groups in ks.cfg
Paul
On Mon, Nov 29, 2004 at 11:21:01AM -0500, Paul Nasrat wrote:
A quick non-hackish option is to use a depsolver, rather than anaconda eg:
yum --installroot=/srv/stateless-fc3 groupinstall "GNOME Desktop Environment"
yum grouplist for the groups (you can edit the yum source to enable hidden groups).
This uses comps.xml which is the same as for anaconda's groups in ks.cfg
Thank you Paul, This is a good idea. I was however hoping to be able to leverage the nice UI that Anaconda offers to select packages. Is that UI available separately?
Dimitrie O. Paun wrote:
On Mon, Nov 29, 2004 at 11:21:01AM -0500, Paul Nasrat wrote:
A quick non-hackish option is to use a depsolver, rather than anaconda eg:
yum --installroot=/srv/stateless-fc3 groupinstall "GNOME Desktop Environment"
yum grouplist for the groups (you can edit the yum source to enable hidden groups).
This uses comps.xml which is the same as for anaconda's groups in ks.cfg
Thank you Paul, This is a good idea. I was however hoping to be able to leverage the nice UI that Anaconda offers to select packages. Is that UI available separately?
Yes, try: system-config-packages
Paul.
On Mon, 2004-11-29 at 16:59 +0000, Paul Howarth wrote:
Dimitrie O. Paun wrote:
On Mon, Nov 29, 2004 at 11:21:01AM -0500, Paul Nasrat wrote:
yum --installroot=/srv/stateless-fc3 groupinstall "GNOME Desktop Environment"
This uses comps.xml which is the same as for anaconda's groups in ks.cfg
This is a good idea. I was however hoping to be able to leverage the nice UI that Anaconda offers to select packages. Is that UI available separately?
Yes, try: system-config-packages
That's not really going to help here at all, other than for getting group names which yum grouplist does perfectly well.
Paul
On Mon, Nov 29, 2004 at 11:21:01AM -0500, Paul Nasrat wrote:
yum --installroot=/srv/stateless-fc3 groupinstall "GNOME Desktop Environment"
yum grouplist for the groups (you can edit the yum source to enable hidden groups).
This uses comps.xml which is the same as for anaconda's groups in ks.cfg
I've looked into it, and it looks promissing. A "yum grouplist" gives me:
Installed Groups: Administration Tools Authoring and Publishing Compatibility Arch Support DNS Name Server Editors FTP Server GNOME Desktop Environment Graphical Internet Graphics KDE (K Desktop Environment) Legacy Network Server Mail Server MySQL Database Network Servers Office/Productivity Printing Support Server Configuration Tools Sound and Video System Tools Text-based Internet Web Server Windows File Server X Software Development X Window System XFCE x86 Compatibility Arch Development Support Available Groups: Compatibility Arch Development Support Development Tools Engineering and Scientific GNOME Software Development Games and Entertainment KDE Software Development Legacy Software Development News Server PostgreSQL Database XFCE Software Development Done
Now, I have two questions: -- how does Anaconda know to further split these groups in the different categories. -- how does it know what are the mandatory groups/pacakges that need to be installed.
TIA, Dimi.
anaconda-devel@lists.stg.fedoraproject.org