Trouble swapping bootdisk to different controller

Heinrich Rebehn rebehn at
Mon Jan 31 04:59:21 PST 2005

Joerg Sonnenberger wrote:
On Mon, Jan 31, 2005 at 12:27:17PM +0100, Heinrich Rebehn wrote:

After adjusting the BIOS boot config, the kernel asked me where to mount 
the root fs from. After some probing, i figured out it was ufs:ad7s2a.
Of course the kernel count not mount the remaining fs because fstab was 
still referring to ad0s2*.

This means that the boot loader and the kernel can't figure the correct
mapping out. You can override it in at the loader prompt by setting
vfs.root.mountfrom to the correct slice. But playing a bit more with
the BIOS settings may fix it.

Some of the obstacles i experienced:
- /sbin not in PATH, why?

It's a fallback value built into the shell and that doesn't
include /sbin. Just add it.

- vi not available

vi is on /usr, that's expected.

- keyboard layout not set (i use german keyboard, luckily i am quite 
familiar with the US layout)

kbdcontrol is on /usr, too. The normal rc scripts haven't been
run yet to customize the keyboard layout, so this is expected.

- weird device numbering: why can't the first disk be assigned to ad0???

Because you have ATA_STATIC_ID in your kernel? Because the kernel doesn't
know which "the first disk" is? Normally "internal" controllers are probed
before "external" controllers, therefore "internal" disks are enumerated before
"external" disks. Combine this with ATA_STATIC_ID and you get the behaviour
you have.
Yes, it is in GENERIC. I wil try removing it.

- I then decided to try and edit fstab with sed (of course sed was not 
there), but it would not have helped me anyway, because the root fs was 
mounted -ro.
I then tried to remount the root fs -rw:

# mount -u -rw / ==> /dev/ad0s2a not configured
# mount -u -rw /dev/ad7s2a / ==> /dev/ad7s2a: No such file or directory

Now you have a small problem :) We normally don't create device entries
for secondary slices. Workaround:
mount -t mfs swap /mnt
This even worked although no swap was set up
cp /dev/MAKEDEV /mnt/
cd /mnt
sh MAKEDEV ad7s2
  sh MAKEDEV ad7s2a	(Just for the records :-) )
mount -uw /dev/ad7s2a /
  mount -uw /mnt/ad7s2a /  ( dto. )
cd /dev
sh MAKEDEV ad7s2
Thanks for your help Joerg. Good to know that help is also available in 
the same timezone ;-)

And, more important: the SCSI-RAID is accessable now !!! :-)
Will test performance later this evening..

More information about the Users mailing list