Run 32-bit and 64-bit distros from the same drive

Q My main reason for moving to Linux is to port some software developed on other platforms (beginning with W and with M) and written in Lisp. There are 32-bit and 64-bit implementations of the language available, which has me curious about ways to run 32-bit and 64-bit versions of Linux from the same drive. If I establish /home as a separate partition, then I could compile zot.lisp to zot.fasl on that partition, but that name would be used both for 32-bit and 64-bit object files. Thus I would prefer to have separate /home partitions for 32-bit and 64-bit Linuxes.

Can I pre-partition a drive into three partitions - call them X,Y and Z - and then run two installs, asking one to install 32-bit Ubuntu on X, requiring it to establish partitions / and /home on X, using Z as swap; then repeat this on Y for 64-bit Ubuntu including Z as swap again ? If I can, I'd like to know how to accomplish this. More generally, do I need to pre-partition a large drive if I wish to install several flavours of Linux if I wish to keep them out of each other's way?

A To take your last question first, no you do not normally need to pre-partition a drive before installation. Most distro installers include the facility to take care of partitioning, including resizing existing partitions. However, I think you are approaching this from the wrong angle. There is absolutely no need to use different home partitions. You could keep separate home directories for the two distros, but on the same partition, say greg32 and greg64. Use the same username, but set the home directory during installation. You may need to fiddle with permissions.

This still suffers from one of the drawbacks of the separate partitions approach - you will have two copies of your source code and will need to keep them in sync, otherwise you could find yourself working with two different copies of zot.lisp. Plus all your other data, such as emails, would be split between the two home directories. You could deal with this by installing 32 and 64 bit versions of the same distro with a common home directory. That way all your settings would be the same whichever version you booted into. Now set up separate directories for your 32 and 64 bit compiler output, but use the same source directory. It may mean a little more work with your makefiles, but it would keep everything together and lead to far less confusion.

Back to the list