Hi all, as i told a long time ago, i've done some scripts to remaster from
scratch a knoppix-based live cd, keeping in mind simplicity to add/remove
programs from it, and as i don't know where else to announce this (don't know
how to signup on the debian-knoppix list), here it goes.

This bunch of scripts are used under the name of dscdbuilder (Debian from
Scratch CD BUILDER), and available on lafarga.upc.es/projects/gnupcix, as part
of a project to make a live CD for the UPC university, containing all the
essential tools to do all the many courses it holds.

It's still in a very early stage of its development process (the first
official version of the CD - 1.1 - was a "normal" knoppix remaster, so that's
why the script points now to 1.2-pre2), and will be a little stopped for a
while, but the idea is to make the students and teachers of every course
contribute with what they think it should be.

And in the idea of preventing the reinventation of the wheel, all the "live"
options are borrowed from knoppix, but just that, to ensure a live-cd with
knoppix hw detection and all the others, but with (presumably) different
contents.

And another point to say is that all the programs are installed through
aptitude, so it always maintains a relation of what is needed and what not
(something i always miss when aptitude hasn't been used from the very start,
and would let the HD installed versions to be cleaned of what is not really
needed/wanted), and lets you choose the needed packages from an upper level
(without worrying for recommends).

The script goes through a set of stages (and its sub-stages) dedicated to
simple and concrete jobs, so as a developer, one only has to make a little
script on a directory to "add" a functionality.

>From the users's point of view (the one who builds the CD), only a few files
have to be edited:
 - dscdbuilder.conf: where to place the things, kernel versions to use on the
   CD, default language, base debian suite, publisher information, etc.
 - base-packages.{preseed,list}: preseeding information and a list of base
   packages to install
 - knoppix-packages.{preseed,list}: the same but with knoppix's live
   detection/bootup environtment
 - einam-packages.{preseed,list}: this is where the upper level packages go
   (gnome, openoffice, etc; whatever the final user wants); the name comes from
   the distribution's name, Einam, that means Toolkit in catalan (the gnupcix
   part comes from its former name)

The script has a sort of information feature with the -h flag to get some
descriptions for the 'stages' and the variables they use (a bit long):

Debian from Scratch CD Builder

Usage: dscdbuilder.sh [-v <var>=<val>,...] { [-h [<stage>|_<variable>]] | 
[[+]<stage>] }
        -v              Lets you specify a comma separated list of variables to
                        overwrite config file values
        -h              Gets help on all stages
        -h <stage>      Gets help on a concrete stage
        -h _<variable>  Gets help on a concrete variable and all the ones it is 
composed of
        <stage>         Concrete stage to run
        +<stage>        Run from FULL_STAGES' <stage> to the end

  Available stages:
   chroot               Chroot to the dist
   kern_config          Configure the kernel
   kern_make            Create a kernel binary package
   logo                 Create the dist's logo (must give a parameter with the 
source image)
   mproc                Mount the dist's /proc
   packages_build       Build and put onto the repository Einam's packages
   packages_check       Check for availability of new tracked packages/versions
   packages_clean       Clean Einam's package sources
   uproc                Umount the dist's /proc
   full                 Full run of CD creation
     base_bootstrap     Debootstrap a basic Debian (leave the Ginnungagap)
     base_templates     Load base templates
     base_clean         Initialize package system (update and clean)
     base_update        Update and upgrade packages (run from here to update 
and remaster an existing version)
     base_install       Install base packages
     base_kernel        Install selected kernel
     knx_clean          Clean the newly debootsrapped Debian
     knx_templates      Copy Knoppix's templates
     knx_install        Install Knoppix's packages
     knx_post           Post-install Knoppix-specific operations
     einam_install      Install Einam's packages
     einam_post         Post-install Einam-specific operations
     knx_bootclean      Clean boot scripts
     knx_extratemplates Extra templates applied after all installations
     minirt_bootstrap   Create a miniroot from its skeleton
     CD_bootstrap       Create a base CDROM skeleton
     CD_compress        Compress the HD contents to the CDROM contents

As you see, each line in the stages part is a so called stage, each one on a
single file (bash script).

There's still a lot to do, but for now it buils a fairly usable live-CD
(except for the last changes i made, that were apparently inocuous, but not
tested :)), so i think thats a quite robust skeleton.

There's only one problem, the cvs where the project lies is not (yet)
accessible through anonymous access, but a web interface is available at 
        http://lafarga.upc.es/scm/cvsweb.php/?cvsroot=gnupcix
(i heard of a java program to download projects fom a cvs we interface, but
can't remember its name... if you want i can send you a tarball with it)

So without nothing more to say (that was enough :)), here it is.

Best regards,
        Lluis

PD: another (not so) little problem: the script is, specially while getting
help information and on my poor 300, far too slow
-- 
 "And it's much the same thing with knowledge, for whenever you learn
 something new, the whole world becomes that much richer."
 -- The Princess of Pure Reason, as told by Norton Juster in The Phantom
 Tollbooth


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to