just to clarify
* I didn't say I could write it
* it goes down the .root ( we'll call the place for changes .root ) tree, not the /KNOPPIX/ tree

and example

1 - standard knoppix
/lib is a symlink
/lib -> /KNOPPIX/lib
2
/lib is a directory in / (ramdisk ) however it only contains symlinks and directories
- in .root/ there is lib/modules/2.4.20-custom - a kernel modules

/lib/ is created in ramdisk
/lib/iptables -> /KNOPPIX/iptables
/lib/modules/2.4.20 -> /KNOPPIX/lib/modules/2.4.20
/lib/modules/2.4.20-custom -> .root/lib/modules/2.4.20-custom
/lib/libacl.so.1.0.3 -> /KNOPPIX/lib/libacl.so.1.0.3
...
/lib/libz.so.1 -> /KNOPPIX/lib/libz.so.1
/lib/security -> /KNOPPIX/lib/security
now, yes thats a lot of symlinks
the general rule, is that if you make a directory, or add a file in a directory, there will me as many symlinks as files in that directory.

How the script would work :

It travels down the .root tree, IF there is a directory say in /lib/modules/ then instead of linking /lib to /KNOPPIX/lib it makes /lib in ramdisk, and starts linking files, either to /KNOPPIX/ or to .root.

That means that if say you don't add anything to /etc, it will still link to /KNOPPIX normally, so you _dont_ have to recreate the _whole_ tree as symlinks

sorry if i'm not clear on this, im not a technical writer