# New disk changed device numbers



## mjb (Nov 3, 2009)

Hi there. Long-time FreeBSD sysadmin with a little problem.

Built an 8.0 machine fine, attached+configured a few disk arrays to the machine, rebooted, and what was my mfid0 is now mfid1. There's 3 RAID controllers in the machine, and the kernel output is basically saying this:

```
mfi0: PERC6/E at irq17 device 0.0 on pci8
mfi1: PERC6/i at irq16 device 0.0 on pci1 
mfi2: PERC6/E at irq16 device 0.0 on pci12
mfid0: at mfi0
mfid1: at mfi1 (/, /usr, etc)
mfid2: at mfi1
mfid3: at mfi2
```
I could have sworn the magic to fix this would be something like:

```
set rootdev=disk0s1a
set root_disk_unit=0
```
at the bootloader prompt to force the BIOS disk0 (which is the correct system disk) to be device node 0 in FreeBSD if memory served, but that hasn't worked, nor has the suggestion (as printed by sys/kern/vfs_mount.c) of

```
set vfs.root.mountfrom=ufs:/dev/mfid1s1a
```
which is evidently either being ignored, or overridden by the old fstab as the kernel does print that it's trying to use mfid0s1a

Obviously there's other ways of fixing this, like a CD boot (as entering ufs:/dev/mfid1s1a at the prompt causes the keyboard to die and a stream of newlines to occur when it asks for the shell), but I'd like to know how to fix it from the bootloader as it's not that likely I'd be able to burn a CD in a remote datacentre given I use a netbook nowadays... 

I've tried playing with setting hint.mfi... in the bootloader to get the PERC6/i to be attached first, but haven't been successful in doing anything more than shunting the devices up by a number

Any ideas?


----------

