I'd like to share how I've recently installed Linux on a laptop with /usr, /opt, and /home mounted on an external Firewire drive. This was necessary because of the extremely limited space on the dual boot internal drive of the laptop.

The distribution is Gentoo, but I'm sure the concepts will work with most distributions. During the install you must have the external drive attached and visible. Firewire drives show as scsi devices (e.g. /dev/sda). I installed /, swap, and /boot as separate partitions on the internal drive (hda), and /usr, /opt, and /home as separate partitions on the external drive (sda). I put them all as standard entries in /etc/fstab.

I made sure that all the firewire support I needed was compiled in the kernel, or as modules. The key step is bringing up the firewire drive early in the boot sequence. With Gentoo, you can have arbitrary kernel modules loaded early in the boot sequence, which I did with ieee1394, ohci1394, and spb2. Then I had the script "rescan-scsi-bus.sh" (http://www.garloff.de/kurt/linux/rescan-scsi-bus.sh) run from within the /etc/init.d/checkfs and /etc/init.d/localmount scripts. This scans and detects the firewire drive before fsck or mounting is attempted. rescan-scsi-bus.sh needs the executables seq, tail, and pr. I moved these from /usr/bin to /bin since /usr/bin isn't initially available. Once the firewire drive is detected, the partitions can be fscked and mounted as normal!

I tried to create a separte /etc/init.d script to scan for the firewire drive, but I was unable to make it run early enough (i.e. before checkfs and localmount). Anyway, hacking checkfs and localmount works just fine.

Maybe this helps someone. I remember seeing interest about doing something like this in the past.

Regards,
Jonathan

_______________________________________________
vox-tech mailing list
[EMAIL PROTECTED]
http://lists.lugod.org/mailman/listinfo/vox-tech

Reply via email to