Using an external drive as a root device?

Dear all,

I have a large external drive, which I connect to my laptop via a PCMCIA card - the machine is old and does not have USB 2.0 built in, so I use the PCMCIA card for that.

I am thinking of the following setup, and hope you can give me some tips on whether or not that would be a sound solution:

  • designate a boot partition on the laptop’s internal hard drive, which could store kernels

  • make up a linux partition (or more than one) to use as root for any distribution on the external drive

  • keep /home as separate partition on the external drive

My goal in mind is to be able to boot more than one Linux partition from the external drive. I can’t make it through USB boot because the PCMCIA card is not recognized before a kernel module is loaded, and I can’t use the internal USB 1.1 port for the external drive.

Do you think this is the way to go? Currently, I only have my /home partition mounted off the external drive.

Thanks in advance for any input.

It can be done provided the kernel and initrd that are loaded from /boot are able to mount / from an external disk. This means that the necessary modules for PCMCIA and the root filesystem need to be in the initrd.

Thanks for the quick response.

As I am not in any way an expert in kernels, I would ask a lame question - how can this be done? Is there an “easy” way? I take it by your answer that by default the initrd does not include such modules, right?

At the moment I have to time very carefully when I am turning on the external drive (my /home partition), since if I turn it on earlier it does not get recognized and the system can’t boot (partition not found)… If I miss the right moment, I end up with the same failure to boot.

If you don’t mind a reinstall, then probably the easiest way is to set it up like that from the beginning. In the installer I think you should get a chance to load extra modules to drive the PCMCIA card and the external disk. Then put / and /home on the external disk, but /boot on the internal one. The installation should then build an initrd that includes the drivers you loaded.

But if your hardware is as fiddly as you say, it might be dicey. You’ll just have to try it and see.

Sounds doable. I will give it a try as soon as I get a chance. Does the same hold true for any other distribution I would like to install alongside on the external HDD (in a separate / partition)?

Thanks for helping!

It depends on whether the distro anticipated the possibility of loading extra drivers to handle external disks. Some may make the assumption that all disks are local or on USB, and have neglected the PCMCIA case.