Hi,
# Problem
I'm attempting to make a customised distribution based on Fedora Core
(currently using 0.95) meant to be a questionless install on a given
hardware.
I've no problem making this work by modifying the "images/bootdisk.img"
file using "ks=cdrom" by default "syslinux.cfg" and adding a ks.cfg file
at the root of the iso9660 filesystem.
Unfortunately, I want to add some other rpms to the distribution too so
I rebuild the whole CD set from rpm files with anaconda. The resulting
CD1 is made with the same mkisofs options I use for the simpler
modification above but the kickstart install stops very early : it says
it doesn't recognize the CD as a Fedora Core install CD and prompts for
an install CD.
# Logs
VC3 shows on its last 3 log lines :
* trying to mount CD device hdc
* mount stage2.img on /mnt/runtime using loop0 <- (from memory)
* umount /mnt/runtime
VC4 after fb and SCSI init messages shows :
<4> FAT: bogus logical sector size 0
<4> VFS: Can't find a valid FAT filesystem on dev ide1 (22,0)
<7> ISO 0660 Extensions: RRIP_1991A
<7> ISO 0660 Extensions: RRIP_1991A
<4> Unable to identify CD-ROM format
<4> VFS: Can't find ext2 fs on dev loop (7,0)
Here's the script I use to generate CD sets :
make_repository
This is run as root on a RH9 box with anaconda and anaconda-runtime from
Severn
-----------------------------------------
Severn_BIN_CDs_content holds all 3 BIN CDs merged in a single directory
Severn_SRC_CDs_content does the same for the 3 SRC CDs.
-----------------------------------------
#!/bin/bash
DIR=/home/gyver/localwork/Cliniques
# Base repository
echo "Setting base repository"
# Bin RPMS
rm -rf $DIR/cdimage
mkdir -p $DIR/cdimage/RedHat/
cp -al $DIR/Severn_BIN_CDs_content/RedHat/RPMS $DIR/cdimage/RedHat/
# Src RPMS
rm -rf $DIR/cdsrpms
mkdir $DIR/cdsrpms
cp -al $DIR/Severn_SRC_CDs_content/* $DIR/cdsrpms/
# comps
mkdir -p $DIR/cdimage/RedHat/base
cp $DIR/Severn_BIN_CDs_content/RedHat/base/comps.xml
$DIR/cdimage/RedHat/base/
# Anaconda env
export PYTHONPATH=/usr/lib/anaconda
export PATH=$PATH:/usr/lib/anaconda-runtime
echo "hdlist"
genhdlist --withnumbers $DIR/cdimage --hdlist
$DIR/cdimage/RedHat/base/hdlist
echo "pkgorder"
pkgorder $DIR/cdimage i386 > $DIR/pkgorder.base
cp $DIR/pkgorder.base $DIR/pkgorder.1
for i in `cat $DIR/firstpkg`
do
grep -v "$i" $DIR/pkgorder.1 > $DIR/pkgorder.2
mv $DIR/pkgorder.2 $DIR/pkgorder.1
done
cat $DIR/firstpkg $DIR/pkgorder.1 > $DIR/pkgorder
echo "buildinstall"
buildinstall --comp $DIR/cdimage/RedHat/base/comps.xml --pkgorder
$DIR/pkgorder --version 0.4 --product "MyLinux-Fedora" --release 1
$DIR/cdimage
echo "splittree"
splittree.py --arch=i386 --total-discs=6 --bin-discs=3 --src-discs=3
--release-string="MyLinux-Fedora" --pkgorderfile=$DIR/pkgorder
--distdir=$DIR/cdimage --srcdir=$DIR/cdsrpms
---------------------------------------------
The whole thing is inspired by a post I could find googling around.
The only "trick" is the pkgorder thingy : I want some packages on the first CD to allow a "no-cd-swap" install.
Currently for testing RPMS from Fedora and only them are used (no custom RPM added yet).
I burn the first CD by renaming cdimage-1 to Master and launching the following :
--------------------------------------
#!/bin/bash
DIR=Master
BURN="cdrecord -v dev=0,0,0 fs=50m driveropts=burnfree -eject"
MKISO="mkisofs -f -J -r -joliet-long -b images/bootdisk.img"
echo "KS.CFG"
cp ks.cfg Master
echo "BOOT DISK"
cp bootdisk.img Master/images
echo "BLANK"
cdrecord -v dev=0,0,0 blank=fast
echo -n "COMPUTE SIZE: "
TSIZE=`$MKISO -print-size -quiet $DIR`
echo $TSIZE
echo BURN:
$MKISO $DIR | $BURN tsize=${TSIZE}s -
--------------------------------------
ks.cfg is what it seems to be :-)
bootdisk.img is the original bootdisk.img with syslinux.cfg modified to launch the kickstart install.
If someone could point a finger on the source of my problems, it'd be really great !
--
Lionel Bouton - inet6
---------------------------------------------------------------------
o Siege social: 51, rue de Verdun - 92158 Suresnes
/ _ __ _ Acces Bureaux: 33 rue Benoit Malon - 92150 Suresnes
/ /\ /_ / /_ France
\/ \/_ / /_/ Tel. +33 (0) 1 41 44 85 36
Inetsys S.A. Fax +33 (0) 1 46 97 20 10