Preliminary remark: all the paths are taken relatively to a 
unique mount point, i.e. you have to add a given prefix
that depends of your configuration.

This is a generic way of doing a multicd install, you can
create as many CDs as you want given the number of RPMs you
have, the Mandrake/base/rpmslist file is just an indication
of what packages need to be put on the first CD.

* step one: mirror cooker in CD1

step two: remove from Mandrake/RPMS all the rpms NOT listed in
Mandrake/base/rpmslist and put them somewhere in CD2/Mandrake/RPMS2

create tmp and move CD1/images into it

images are put in a separate path in order to be sure to have
them in the begining of the CD to be able to boot on some limited
bioses.

* step three: generate the two hdlists (rpmstools must be installed):

genhdlist_cz2 -o CD1/Mandrake/base/hdlist.cz2 CD1/Mandrake/RPMS/
genhdlist_cz2 -o CD1/Mandrake/base/hdlist2.cz2 CD2/Mandrake/RPMS2/

* step four: create the file CD1/Mandrake/hdlists that list the CDs names

echo "hdlist.cz2 Mandrake/RPMS Installation CD (x86)" > CD1/Mandrake/base/hdlists
echo "hdlist2.cz2 Mandrake/RPMS2 Extension CD (x86)" >> CD1/Mandrake/base/hdlists

* step five: generate the depslist based on the hdlist*.cz2

gendepslist2 -o CD1/Mandrake/base/depslist CD1/Mandrake/base/hdlist.cz2 
CD1/Mandra/base/hdlist3.cz2 

* step six: generate the filelist

genfilelist CD1/Mandrake/RPMS/ CD2/Mandrake/RPMS2/ > CD1/Mandrake/base/filelist

* step seven: generate the compss

gencompss $cd/Mandrake/base/hdlist*.cz2 > $cd/Mandrake/base/compss[1]

* step eight: create the isos

mkisofs -J -r -b images/cdrom.img -c images/boot.cat -o ../iso/Installation.iso images 
CD1

mkisofs -J -r -o ../iso/Extension.iso CD2

Footnotes: 
[1]  gencompss is a small perl script:

#!/usr/bin/perl

open F, "bzip2 -dc @ARGV 2>/dev/null | hdlist2groups - |";
foreach (<F>) {
    chop;
    /(.*):(.*)/;
    push @{$l{$2}}, $1;
}
close F or die;
foreach (sort keys %l) {
    print "$_\n";
    print "\t$_\n" foreach sort @{$l{$_}};
    print "\n";
}

-- 
Warly

Reply via email to