You could compile a kernel with CONFIG_BLK_DEV_LOOP and use the loop
driver to mount /usr from a big file. To use the loop driver for your
root filesystem, you'd probably want to start with initrd. More
cleverness would be needed. Swapping from a file is easy.
___
Trevor Johnson