Have recently started to look at re-engineering the LCFG installroot. One of the main aims of the project is to remove the need to run with ROOT_NFS. The current PXE installroot system mounts the whole LCFG installroot over NFS and switches root to this NFS mount. Redhat (and Fedora?) kernels don’t ship with ROOT_NFS, so using ROOT_NFS means that we have to roll our own kernels: a time consuming manual process.
One possibility is to forget NFS and fetch across (using http or tftp?) a squashfs image of the installroot into tmpfs.For this to work efficiently, we would want the LCFG installroot to be as small as possible. The current LCFG installroot is around 549Mb (187 Mb when squashfs’d using /sbin/mksquashfs). The current LCFG installroot package list was hand-crafted quite a while ago, and contains quite a few packages which aren’t needed. Using yum (on lcfg_sl5_lcfg_installroot.rpms) we can produce a more accurate list of those packages that are really required – a quick experiment indicates that the installroot would shrink to 524Mb (squashfs 178Mb).
Another option is to create a root in tmpfs and NFS mount top-level directories in this root (eg /bin, /usr etc.). This would allow us to drop ROOT_NFS whilst still storing the installroot on NFS.