I have a Gentoo installation that I'm trying to make bootable in 2
different machines. On the first machine, the hard disk is seen as
/dev/sda; the root partition becomes /dev/sda1 and swap /dev/sda2. On
the second machine the disk is seen as /dev/sdc and root is /dev/sdc1
while swap is /dev/sdc2.
I have set up 2 kernel configurations suitable for the hardware of each
machine plus the correct root= kernel parameter (root=/dev/sda1 on the
1st machine and root=/dev/sdc1 on the 2nd.)
In /etc/fstab I use labels instead of device names to do the mounting:
LABEL=GentooRoot / ext3 noatime 0 1
LABEL=GentooSwap none swap sw 0 0
At first it works (when booting in the 1st machine where I've set it
up). However, booting it in the 2nd machine results in swapon
complaining that /dev/sda2 does not exist (which is correct). It fails
to pick /dev/sdc2 (LABEL=GentooSwap).
Now, moving the hard drive to the 1st machine again and trying to boot
from it results in a non-bootable system; the command 'fsck -C -T -a /'
(this happens in /etc/runlevels/boot/checkroot) complains that /dev/sdc1
cannot be repaired, and the boot process stops. That's totally wrong;
it should check sda1, not sdc1.
Probably I'm doing something wrong here.