Final goal of debian-live project, a tool: proposal and man page
When we talk about debian-live we are impliciting talking about a system that
giving an input idea (operating system, collection of softwares) produce an
image bootable on a target platform and system.
What about formalizing this idea?
my proposal is to define a final goal for debian-live to project and build a
tool that given some inputs it produces an output.
Suggested name: make-debian-live
Inputs: target platform, selection of software, target media
Outputs: iso image, usb-key image, netboot environment
The target platform should be defaulted, like debootstrap on current platform.
The selection of software should be something like "flavour" on debootstrap,
but, according to cdd discussions, should be probably a simple cdd package
Target media, as mentioned above, could be any of cdrom/dvd isos, an harddisk
partition file image or a netboot directory (like a kernel+initrd and a
Options of make-debian-live should be left minimal but possible to give, like
using a local or remote debian mirror, specify a kernel version (multiple
kernels should be allowed), specify to use or not squashfs compression, the
use of a splash image and the preferred boot system (grub, syslinux,
isolinux) and so on.
We called some techs so far in our IRC discussion and previous private mails
like investigating casper, unionfs, squashfs but we do not have clear in mind
what we should develop in our debian-live framework.
I'm proposing a mixed approach in defining goals and projects, this one is
top-bottom but we should not rely only on my vision for sure, instead I'm
talking about putting random ideas in this "effort" and then let the wiki
So I propose to build together the man page of make-debian-live and then with
a "divide et impera" paradigm analize what we need to gather and what need to
be developed to reach our goals (if we all agree what these goals are).
.TH MAKE-DEBIAN_LIVE "1" "March 2006" "make-debian-live" "User Commands"
make-debian-live \- Build up a Debian Live system
[\fIOPTION\fR]... \fISUITE TARGET \fR[\fIMIRROR\fR]
Mandatory arguments to long options are mandatory for short options too.
set the target architecture
set the config directory
download packages, but don't perform installation
select the flavour to use (see
display this help and exit
output version information and exit
the filesystem technology to use for rootfs image, defaults to squashfs
the `uname -r` kernel package to use, defaults to current one
Available targets are
iso (for cdrom and dvd)
Flavours available with default configuration:
only essential packages plus apt
usable selection of packages
a system tailored to do diagnostics
use a base cdeboostrap plus installs cdd-name custom debian distribution
Obviously this tool should call different tools, to be developed, that
1 - downloads all needed debs to be installed
2 - prepare a suitable initramfs to boot from target
3 - (c|"")debootstrap a system in a directory and install and preconfigure
4 - create a (compressed|"") filesystem image
5 - mix all up
Proposals for sub-tools:
1 - reprepro ?
2 - update-initramfs-tools on a casper installed system ?
3 - cddt ?
4 - easy, not to mention
5 - debian-live-assemble ?
Lets discuss and lets the best ideas and technologies emerge!