Fedora Core 4 and mkCDrec
If you are using mkCDrec_v0.8.7 RPM on a Fedora Core 4 based system then you will notice when you boot from a mkcdrec CD-ROM the system does not give you a user prompt!
The reason is the script /etc/rc.d/rc/udev.boot which cleans up /dev but fails to (re)create the /dev file systems. The /dev/console is missing which results in a hanging session!
The problem has been fixed in the meantime with the mkCDrec_v0.8.8 release or higher we're using BusyBox 1.01 which compiles fine on FC4, or download the rpm of FC4 then you do not need to compile anything. Although, the ash package you still have to download from FC3.
Needed pre-requisites for FC4 or higher
If you download the tar-ball version of mkCDrec then you need to be able to compile BusyBox. Therefore you need gcc (version 4) and the proper glibc libraries.
You will also need the package "ncurses-devel" for BusyBox menuconfig!
One package that we did not find on the CD-ROMs (nor via up2date) was the ash shell. We downloaded the RPM version ash-0.3.8-20.i386.rpm from FC3 which seems to work fine.
Compiling BusyBox issues with mkCDrec_v0.8.7
There are 2 critical errors when you try to compile BusyBox (version 1.00) with FC4:
networking/inetd.c
On line 563 replace the following line:
#define SWAP(type, a, b) {type c=(type)a; (type)a=(type)b; (type)b=(type)c;}
by
#define SWAP(type, a, b) {type c=(type)a; a=(type)b; b=(type)c;}
archival/gzip.c
On line 1623 replace the following line:
static int build_bl_tree(void);
by
static const int build_bl_tree(void);
Make test breaks on Test 4 with mkCDrec_v0.8.7
When running "make test" for the first you might get an error like the following one:
You might think ext2 or loop devices are not supported, but the real problem lies with SElinux running in "enforcing" mode! To get around this edit the /etc/selinux/config file and change the line:
SELINUX=enforcing
into
SELINUX=permissive
To quickly change the enforcing mode of SELINUX into permissive mode type the following (no reboot required):
echo "0" >/selinux/enforce
Minor changes needed in Config.sh and rd-base.sh
This point is only valid for release v0.8.7! Download the latest Config.sh and rd-base.sh from CVS to be sure ld-linux.so.2 and libnss_files.so.2 are copied to the local /lib directory
Tweak the $MKCDREC/etc/rc.d/rc.sysinit
This point is only valid for release v0.8.7!
Edit the rc.sysinit file and find the occurences (2 times) of
# Fedore Core 3 and friends use udev [ -x /sbin/start_udev ] && /etc/rc.d/rc.udev.boot
and make it
# Fedore Core 3 and friends use udev [ -x /sbin/start_udev ] && /sbin/start_udev
The MAKEDEV command can be used to create more devices on the spot. To my finding udevstart is a bit broken and still not found why.
MAKEDEV needs a full blown /etc/group file. Therefore, before creating a CD-ROM copy the local /etc/group file onto $MKCDREC/etc/group