So I put "jump points" in the init file that execute another file "init_ALT" in the same shell.
Starting at line 375 in the init file:
Code: Select all
##############END MODULE LOADING TO ACCESS DRIVES####################
if [ "$palt" ];then
if [ "$pdev" -a "$psubdir" ];then
echo -n "### Mount Puppy home device." >/dev/console
mkdir -p /initrd/mnt/dev_save
mount /dev/$pdev /initrd/mnt/dev_save # mount home device
mount |grep $pdev |sed 's/ type.*$//' >/dev/console
echo '### Mount Error: '$? >/dev/console
echo -n "### Jump #1 to alternate init file." >/dev/console
. /initrd/mnt/dev_save/$psubdir/init_ALT alt1 # jump to alt. init file
fi
fi
if [ ! "$findPfiles" ];then # skip or run this section
#######################FINDING PUPPY FILES##########################
Then it checks for the boot arguments: $pdev and $psubdir
If they exist then it makes the proper mount point and mounts the Save device $pdev.
Then it runs the external file ( external to the initrd.gz file ).
As you might suspect, it loads the inital modules and then kernal panic ... tried to kill init!
I don`t see any of my code causing a problem except for the execution of the external file.