This is all for Knoppix 3.8 Cebit Edition which is 4 months old but it should be roughly the same for Knoppix 3.9 & 4.0. Knoppix loads the kernel and mini root partition from /KNOPPIX-CD-ROOT/boot/isolinux. The kernel loaded is linux and the mini root is minirt.gz. You can view the mini root by copying it to another location, unziping it, and loop mounting it.
Code:
cd $HOME
cp /KNOPPIX-CD-ROOT/boot/isolinux/minirt.gz ./
mkdir foobar
gunzip minirt.gz
sudo mount -t ext2 -o loop,ro minirt ./foobar
Inside the minirt you will find a executable script named linuxrc. This linuxrc script is init script for Knoppix.

The entire linuxrc script for Knoppix 3.8 Cebit Edition is posted at my website at http://virtualacuity.com/james/knopp...nuxrc-3.8.html
Code:
 11  # hardcoded configurable options
 12  # Default maximum size of dynamic ramdisk in kilobytes
 13  RAMSIZE=1000000


612  # New in Kernel 2.4.x: tmpfs with variable ramdisk size.
613  # We check for available memory anyways and limit the ramdisks
614  # to a reasonable size.
615  FOUNDMEM="$(awk '/MemTotal/{print $2}' /proc/meminfo)"
616  TOTALMEM="$(awk 'BEGIN{m=0};/MemFree|Cached/{m+=$2};END{print m}' /proc/meminfo)"
617
618  # Be verbose
619  echo "${CRE}${BLUE}Total memory found: ${YELLOW}${FOUNDMEM}${BLUE} kB${NORMAL}"
620
621  # Now we need to use a little intuition for finding a ramdisk size
622  # that keeps us from running out of space, but still doesn't crash the
623  # machine due to lack of Ram
624
625  # Minimum size of additional ram partitions
626  MINSIZE=20000
627  # At least this much memory minus 30% should remain when home and var are full.
628  MINLEFT=16000
629  # Maximum ramdisk size
630  MAXSIZE="$(expr $TOTALMEM - $MINLEFT)"
631  # Default ramdisk size for ramdisk
632  RAMSIZE="$(expr $TOTALMEM / 5)"
633
634  # Create additional dynamic ramdisk.
635  test -z "$RAMSIZE" -o "$RAMSIZE" -lt "$MINSIZE" && RAMSIZE="$MINSIZE"
636  mkdir -p /ramdisk
637  # tmpfs/varsize version, can use swap
638  RAMSIZE=$(expr $RAMSIZE \* 4)
639  echo -n "${CRE}${BLUE}Creating ${YELLOW}/ramdisk${BLUE} (dynamic size=${RAMSIZE}k) on ${MAGENTA}shared memory${BLUE}...${NORMAL}"
640  # We need /bin/mount here for the -o size= option
641  /bin/mount -t tmpfs -o "size=${RAMSIZE}k" /ramdisk /ramdisk
Those lines detect the system's total RAM, calculate the ramdisk size, & then create the ramdisk. This calculation is not user configurable but in theory it should be possible to create a boot time cheat code for ramdisk size that is then detected & used in this script. The logic of it would have to do bounds checking to make sure the user is not setting the ramdisk too small or too large.

I hope this helps.
James