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