A resposta de Mat deve funcionar para você. Eu gostaria de ressaltar outra possibilidade: use um initramfs / initrd.
Você pode enviar um initrd (tenho certeza que o initramfs é pós-2.4, mas o 2.4 deve ter o initrd) que contém algum código para localizar o rootfs. A vantagem de um initrd é que você está rodando Linux naquele momento. Você pode escrever, por exemplo, um shell script para encontrar o root fs. Depois de encontrá-lo, monte-o, pivot_root e exec / sbin / init.
Você ganha outras coisas legais - por exemplo, se as diferentes placas (agora ou no futuro) precisarem de módulos diferentes carregados para ver o disco rígido ou outros dispositivos críticos para inicialização, você pode fazer isso.
Você também pode colocar várias coisas de recuperação, o que pode ser útil.
(Em uma distribuição Linux moderna, a opção root = é realmente manipulada pelo initramfs.)