Home News FAQ List Download Documentation Sourceforge Freshmeat Mailing Lists Support Translations Credits Links Mirror Site
Make CD-ROM Recovery

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!

With the mkCDrec_v0.8.8 release 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

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

There are 2 critical errors when you try to compile BusyBox (version 1.00):

[arrow]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;}

[arrow]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

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

Before a new release will be available we still need to test all the changes for backward compatibility so be patient!

Tux.Be No E-patents Use Any Browser [IT3 Consultants bvba] Valid XHTML 1.0 SourceForge
Last modified: $Id: FC4.html,v 1.3 2005/09/13 08:10:28 gdha Exp $