\section{conf xml} Example of a commented conf.xml file. Keep in mind that most of those parameters are correct, and you don't need to change whole of them. Examples are available in this package, so please use one of them to base your configuration. You should only change those one: \begin{itemize} \item \{nameid\} \item \{version\} \item \{arch\} \item \{repo\}\{path\} \item \{media\}\{list\}* \item \{iso\}\{header\}* \end{itemize} first it's an xml file \begin{verbatim} \end{verbatim} name of the product \begin{verbatim} \end{verbatim} identification of the product, used for the name of the final ISO \begin{verbatim} XtreemOS \end{verbatim} you should really care about this parameter, how many \textbf{urpmq} could you launch at the same time ? 10 is an high value, use it only on multi-core computer. \begin{verbatim} 10 \end{verbatim} If you want to resign you packages, define in wich file you store the password to sign RPMS, and the gnupg file used to sign them. BCD can only sign for the moment all packages with the same key. It will be able to sign later a media with a specific public key. \begin{verbatim} /home/xtreemos/.signature.gpg /home/xtreemos/.rpmrc \end{verbatim} based\_on parameter defines on wich version of Mandriva this product will be built. This parameter define if we need synthesis or hdlists (since 2009.1 only synthesis are needed) It will be use to get the path of the Mandriva repositery. \begin{verbatim} 2009.0 \end{verbatim} urpmqlogs paramater define the directory to store previous urpmq queries, if not defined the system will use the /var/lib/bcd dir. \begin{verbatim} /home/plop/urpmqlogs \end{verbatim} Arch parameter is mandatory, it will be also used to get the path of the Mandriva repositery \begin{verbatim} i586 \end{verbatim} path to the repositery (without version and arch) \begin{verbatim} /mnt/BIG/dis \end{verbatim} so the full path of the Mandriva repositery will be in our example \begin{verbatim} \end{verbatim} workdir is where you want to store the result of the build. Two directories will be built, \textbf{build} to store the base of the DVD, \textbf{iso} to store the final ISO. \begin{verbatim} /home/xtreemos/build_bcd \end{verbatim} basename of log files, if you want you can change it, but this option should not exist, i should remove it... \begin{verbatim} tocopy_plop \end{verbatim} define media used and excluded in the initial chroot \begin{verbatim} Main,Main Updates Main Backports,Main Testing \end{verbatim} all Isolinux information \begin{verbatim} isolinux \end{verbatim} if you want to point to a custom \textbf{isolinux} directory \begin{verbatim} /home/xtreemos/export_i386/isolinux \end{verbatim} if you want to add a entry in your \textbf{isolinux.cfg}. In this example we add an HDT entry (hardware detection tool) \begin{verbatim} /usr/lib/syslinux/hdt.c32 hdt.c32 modules=modules.pci \end{verbatim} some section are mandatory to keep the array structure of the xml file \begin{verbatim} \end{verbatim} if you want to copy extra files to the isolinux buildir \begin{verbatim} /lib/modules/2.6.31-server-2mnb/modules.pcimap /usr/share/pci.ids \end{verbatim} all information relatives to the installer (stage2) \begin{verbatim} install \end{verbatim} if you want to use a custom installer, really usefull if you custom it \begin{verbatim} /home/xtreemos/export_i386 \end{verbatim} path to custom advertising (images used during slideshow) \begin{verbatim} advertising /home/xtreemos/Build/pieces/advertising \end{verbatim} full path and name of your patch for stage2 to copy in the \textbf{buildir/install} directory. This is an option, leave it blank if you don't use a patch \begin{verbatim} /home/xtreemos/Build/pieces/patch-oem.pl \end{verbatim} Theme to use to patch \textbf{all.rdz} file. Theme name will be used to install mandriva-release-THEMENAME and avoid problem of mixing theme on a same product \begin{verbatim} Mandriva-Free Mandriva-Free /usr/share/bootsplash /usr/share/gfxboot \end{verbatim} media section will defined wich media you want to use and you want to create on the DVD. Keep in mind that it works like \textbf{urpmi} and \textbf{urpmq}, if you want to install a package, you need all his dependencies, so for some specific package like restricted one on a 64bits product, you need to use the extra parameter \begin{verbatim}Main,contrib,main32\end{verbatim} to be sure that you will provide all needed deps. For each list bcd will add a media, and will add \textbf{updates/backport/testing} if the tag is set to yes. Be sure you use a uniq media name, because \textbf{urpmi} will not add a new media with a name wich already exist. \begin{verbatim} Main Updates lists/input_main lists/languages lists/xos_list \end{verbatim} This media contains SRPM, so we wants to calculate all buildrequires and put them in the ISO. All SRPMS will be stored in the \begin{verbatim} \end{verbatim} you can use an external media, but this media must have a \textbf{media\_info} directory you must use external media if this media is not available in the repositery. IE: restricted32 packages on a PowerPack 64bits product. The \textbf{fullpath\_mediadir} option must be the full path to RPM (no subdirectory release/updates/backport). \begin{verbatim} /home/xtreemos/repo_xos/2009.0/i586/media/xtreemos/release \end{verbatim} Packages unwanted on the DVD are stored in exclude list. They will be removed at the end of the installation process. Just add the list of those packages in an exclude list. \begin{verbatim} lists/exclude_main \end{verbatim} Switch nosuggest options to yes if you don't want to use RPMS's suggests \begin{verbatim} no \end{verbatim} I will use the media name 'mediadir' and put it in the directory media/'destmedia' on the DVD. \begin{verbatim} main main \end{verbatim} Where to find the pubkey in the repositery (the path will be media/'mediadir'/'pubkey'). If you want to specify a specific file to use as pubkey, leave empty. \begin{verbatim} release/media_info/pubkey /path_to_file/the_pubkey \end{verbatim} if you want to use backports, testing or updates sub-media, set option to yes. Note: release media should be mandatory \begin{verbatim} yes yes no no \end{verbatim} all \textbf{media\_info} informations are in this section \begin{verbatim} \end{verbatim} version will be used to generate a good media.cfg files (we don't use hdlits.cz since 2009.1 release) \begin{verbatim} 2009.0 \end{verbatim} use 'fullpath' parameter to use custom rpmsrate/compssusers files \begin{verbatim} /home/xtreemos/Build/pieces media/media_info rpmsrate compssUsers.pl file-deps \end{verbatim} If you want to add an \textbf{urpmi} options to install packages. Be carreful this can add or remove a lot of packages, and syntax in your list file can lead to error. ie: firefox- in a list file without the parameter \textit{-a} will lead to an \textbf{urpmi} error, because there is a lot of firefox packages wich began with the strings firefox- \begin{verbatim} -a \end{verbatim} If you want to do some extra filter to keep latest release of a packages on the DVD. All packages listed in no-filter are NOT filtered: so if you have more than one version of a package in the builddir, it will bypass the rpm comparaison. For all other packages available in the builddir, BCD will keep the latest one (rpm version comparaison) \begin{verbatim} lists/no-filter \end{verbatim} media.cfg options, do a man gendistrib for more info \begin{verbatim} yes yes no \end{verbatim} ISO section \begin{verbatim} \end{verbatim} tag name and some extra parameters \begin{verbatim} rc1 0 1 Download Devel basic no 700 media/media_info/media.cfg yes yes \end{verbatim} isohybrid option \begin{verbatim} --fatfirst \end{verbatim} info used by the genisoimage tool \begin{verbatim}
XtreemOS Linux XOS-2.0-i586 XtreemOS Linux - 2.0 - i586 DVD XtreemOS XtreemOS-Linux XtreemOS Linux - 2.0 XtreemOS Linux
\end{verbatim} genisoimage paramaters \begin{verbatim} -f -r -J -hide-rr-moved -nobak -cache-inodes -no-emul-boot -boot-load-size 4 isolinux/boot.cat build iso
\end{verbatim}