LFS Live CD future direction -- a suggestion
Robert A. Lerche
ral at msbit.com
Thu Apr 16 09:44:22 PDT 2009
First, I want to thank everyone involved in creating the LFS project.
It is a beautiful piece of software craftsmanship -- useful, elegant
and well documented.
I'm writing this post because I have a suggestion for the Live CD part
of the LFS project. I went back and read the Live CD mailing list
archive and there was a request looking for future directions posted
back in October of 2008.
After I built LFS manually, I decided to try using the Live CD
makefiles to automate the build of a system I customized. This was a
somewhat complex undertaking but I finally made it work. My
suggestion is: enhance the Live CD structure to be a platform for
creating minimal Linux system source code development environments.
I ran across LFS while searching for a starting point for a project:
the Open Source Digital Voting Foundation aims to create a minimal,
verifiable platform for development of reliable election systems. As
a proof of concept prototype, I used LFS to build a live CD
demonstration version of Pvote, Ka-Ping Yee's voting thesis project.
A major reason for wanting to minimize the sources is to make a
source code inspection of a proposed voting system practical. As a
first cut at creating a minimal system, after a complete LFS build by
the book, I removed libraries and executables that were not required
for a skeleton system. I was able to omit almost all of /usr, as well
as a bunch of libs. I have not yet tried to go back and isolate which
sources could be left out of a build -- that is the next step.
The Live CD makefiles fetch sources and deliver a working bootable CD.
The basic idea is, type "make" and hours later a live CD pops out.
This works, but it is not an ideal structure if a developer has to do
further work to customize the system. For example, the build process
destroys the intermediate results (object files) after each component
is completed. Also, the make file dependencies are incomplete, so a
change may require a developer to know which rebuilds need to be
forced (initramfs falls in this category).
Don't get me wrong: the LFS Live CD was a great starting point for
what I needed, and it only took a week or so of manual work to upgrade
it to LFS 6.4+, add the Pvote requirements and cut the unnecessary
parts. But that still is only a start. My work has many rough edges,
nowhere near as polished as LFS or the LFS Live CD themselves.
I think many people have a need to build custom live CDs and this
would be a fruitful path for future LFS Live CD work. Having an LFS
Live CD development environment as a starting point would benefit
More information about the lfs-support